Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

IF-Abfragen in LaTeX ?

101 views
Skip to first unread message

Harald Ziebarth

unread,
Jun 1, 1993, 6:37:00 AM6/1/93
to
Hallo,
in einigen Styles finde ich diverse if-Abfragen, in den *.TEX-Dateien
sind solche Befehle allerdings nicht zu finden, die Kopka-Einfuehrung und
die TeX-FAQ 'OGFUDA' sagen auch nichts ueber deren Existenz.

Fuer die Gestaltung eines Dokumentes waere es allerdings ganz hilfreich
den Text in Abhaengigkeit von einigen Zaehlerstaenden zu gestalten.

Die Frage lautet also, wie ist das mit den if-Abfragen in LaTeX?

Harald

Michael Hoppe

unread,
Jun 2, 1993, 7:58:00 AM6/2/93
to
In Msg A59371@K, Harald Ziebarth @ K (Harald Ziebarth) wrote:

HZ>Die Frage lautet also, wie ist das mit den if-Abfragen in LaTeX?

Die sind alle in latex.tex erklärt; wirf also einmal einen Blick
hinein!

Michael

Werner Goldbaum

unread,
Jun 2, 1993, 10:10:00 AM6/2/93
to
Hallo harald,

> Die Frage lautet also, wie ist das mit den if-Abfragen in LaTeX?

\dots in Deiner LaTeX-Version wird sicher ein `IFTHEN.STY' beiliegen. Der
sollte dann diese Probleme l"osen\dots

Gru"s, Werner

Joachim Hoehne

unread,
Jun 2, 1993, 10:08:13 AM6/2/93
to
In article

Harald_...@k.maus.de (Harald Ziebarth) writes:

>
>Hallo,
>in einigen Styles finde ich diverse if-Abfragen, in den *.TEX-Dateien
>sind solche Befehle allerdings nicht zu finden, die Kopka-Einfuehrung und
>die TeX-FAQ 'OGFUDA' sagen auch nichts ueber deren Existenz.
>
>Fuer die Gestaltung eines Dokumentes waere es allerdings ganz hilfreich
>den Text in Abhaengigkeit von einigen Zaehlerstaenden zu gestalten.
>
>Die Frage lautet also, wie ist das mit den if-Abfragen in LaTeX?
>
>Harald
Versuchs doch mal mit "Latex-Erweiterungsmoeglichkeiten" (auch vom grossen
Kopka)

>>> jockel <<<
=========================================================================
# Joachim Hoehne "HOECHSTe Sicherheitsstufe heisst: #
# Fachbereich Physik Die Sache kann uns jeden Moment #
# Universitaet Osnabrueck um die Ohren fliegen!" #
# #
# Bitnet : JOCKEL89 at DOSUNI1 #
# PM Internet: jock...@charon.physik.uni-osnabrueck.de #
=========================================================================

Bernd Raichle

unread,
Jun 3, 1993, 4:59:18 AM6/3/93
to

In article Harald_...@k.maus.de (Harald Ziebarth) writes:
>in einigen Styles finde ich diverse if-Abfragen, in den *.TEX-Dateien
>sind solche Befehle allerdings nicht zu finden, die Kopka-Einfuehrung und
>die TeX-FAQ 'OGFUDA' sagen auch nichts ueber deren Existenz.
>
>Fuer die Gestaltung eines Dokumentes waere es allerdings ganz hilfreich
>den Text in Abhaengigkeit von einigen Zaehlerstaenden zu gestalten.
>
>Die Frage lautet also, wie ist das mit den if-Abfragen in LaTeX?

Versuchs doch mal mit "Latex-Erweiterungsmoeglichkeiten" (auch vom grossen
Kopka)

[..]

Erstens: sooo gross ist Kopka auch nicht ;-)

Zweitens: wozu immer alles aus zweiter Hand, wenn man es auch aus
erster Hand vom Grand-Wizard of TeX selbst haben kann, sprich: die
Anschaffung des TeX-Book lohnt sich z.B. schon alleine fuer all
diejenigen, die mehr mit dem mathematischen Formelsatz machen wollen.

Ansonsten findet man ueber \if... noch einiges in `Eijkhout, TeX by
Topic' (IMHO eine gute Ergaenzung des TeXbook fuer all diejenigen, die
tiefer in TeX einsteigen wollen/muessen) und anderen Werken, ausserdem
kam mal vor einiger Zeit ein guter Tutorial-Artikel ueber \if, \ifcat
und \ifx in der TUGboat.

-bernd

Fritz Cremer

unread,
Jun 3, 1993, 12:09:00 PM6/3/93
to
Hallo Harald,
In einer Nachricht vom 01 Jun 93 schriebst du an All :

HZ> Fuer die Gestaltung eines Dokumentes waere es allerdings ganz hilfreich
HZ> den Text in Abhaengigkeit von einigen Zaehlerstaenden zu gestalten.
HZ>
HZ> Die Frage lautet also, wie ist das mit den if-Abfragen in LaTeX?

In LaTeX nicht moeglich, aber in plain-TeX, also auch in einem LaTeX Dokument
anwendbar.

Die Syntax lautet:

\if AUSDRUCK1 AUSDRUCK2
Hier das, was dann passieren soll.
\else
Hier was anderes.
\fi

Es wird dabei geprueft, ob die beiden Ausdruecke gleich sind. Im
Gleichheitsfall wird der erste, sonst der zweite Ast bearbeitet. Falls die
Ausdruecke Macros enthalten, dann ist zu beachten, dass sie vorher expandiert
werden. Soll das unterbunden werden, dann ist der Befehl \ifx zu verwenden, der
aber sonst gleich funktioniert.
FtC

Michael Vogt

unread,
Jun 3, 1993, 3:48:00 PM6/3/93
to

HZ> Die Frage lautet also, wie ist das mit den if-Abfragen in LaTeX?

Es gibt einen IFTHEN.STY, der z.B. die folgenden Befehle zur Verfuegung stellt:

\ifthenelse{test}{wenn_zweig}{sonst_zweig}
\whiledo{test}{schleifentext}

\equal
\not
\and
\or

u.a.


Dieser Style ist in "LaTeX, Erweiterungsmoeglichkeiten" von Helmut Kopka
(Addison Wesley Verlag) sehr genau beschrieben.

Dieser Style sollte zur Grundausstattung einer LaTeX-Installation gehoeren.
Falls Du ihn nicht hast, kann ich ihn Dir gerne als Msg with File crashen.

MfG. Mick!

Michael Schreiter

unread,
Jun 3, 1993, 5:28:00 PM6/3/93
to
Hallo Harald !

> Hallo,
> in einigen Styles finde ich diverse if-Abfragen, in den
> *.TEX-Dateien sind solche Befehle allerdings nicht zu
> finden, die Kopka-Einfuehrung und die TeX-FAQ 'OGFUDA'
> sagen auch nichts ueber deren Existenz.

> Die Frage lautet also, wie ist das mit den if-Abfragen
> in LaTeX?

Beispiel:

\newcounter{tag}

irgendwo hier wird Dein Zaehler "tag" gesetzt

Heute ist
\ifnum 1=\tag Montag
\else \ifnum 2=\tag Dienstag
\else \ifnum 3=\tag Mittwoch
\else \ifnum 4=\tag Donnerstag
\else \ifnum 5=\tag Freitag
\else \ifnum 6=\tag Samstag
\else \ifnum 7=\tag Sonntag
\else was wiss ich
\fi
\fi
\fi
\fi
\fi
\fi
\fi

An Abfragen gibt es ausser "=" auch noch "<" und ">". Ich Hoffe, ich habe Dir
damit weitergeholfen.

Gruss
Michael

Franz-josef Wirtz

unread,
Jun 4, 1993, 8:29:00 AM6/4/93
to
HZ> Die Frage lautet also, wie ist das mit den if-Abfragen in LaTeX?

Statt nur auf Buecher zu verweisen, ist ein kurzes Zitat (hier Einfuehrung in
TeX von N. Schwarz) auch schon mal hilfreich, um dann richtig Geschmack zum
Kauf eines Buches zu bekommen. :)

Syntax: \if<Bedingung><wahr-Teil>\else<falsch-Teil>\fi

In den einzelnen Zweigen enthaltene Makros werden nur dann expandiert, wenn der
entsprechende Zweig durchlaufen wird.

Fuer die \if<Bedingung> gibt es nun einige vordefinierte TeX-Befehle:

\ifnum zahl1=zahl2 fuer Zahlen- bzw. \ifdim dimension1=dimension2 fuer
Laengenvergleiche (neben = ist auch < und > moeglich).
Beispiel: \ifnum\pageno=1 ....\else....\fi

Dann gibts Vergleiche: \ifodd<zahlenangabe>, \if<zeichen1><zeichen2>,
\ifcat<zeichen1><zeichen2> und \ifx<makro1><makro2>;

Abfragen des Satzmodus: \ifvmode (vertical), \ifhmode (horizontal), \ifmmode
(math), \ifinner (internal vertical bzw. restricted horizontal);

Abfragen der Box-Register: \ifhbox<boxnummer>, \ifvbox<boxnummer>,
\ifvoid<boxnummer>.

Daneben gibt's dann die Moeglichkeit, eigene if-Befehle zu kreieren:
\newif\ifeigenesif vereinbart die Makros \ifeigenesif, \eigenesiftrue und
\eigenesiffalse. Die letzten beiden Makros setzen den Zustand (standard ist
false), abfragen laesst sich dann der Zustand mit \ifeigenesif ...\else...\fi.
Das ist ganz nuetzlich, wenn ein \iffinal oder \ifmitbildern definiert wird, um
komplizierte Sachen bei Entwicklungslaeufen vom Kompilieren auszublenden.

Michael Hoppe

unread,
Jun 5, 1993, 3:48:00 AM6/5/93
to
In Msg A13090@HB, rai...@azu.informatik.uni-stuttgart.de (Bernd
Raichle) wrote:

R>wozu immer alles aus zweiter Hand, wenn man es auch aus erster
R>Hand vom Grand-Wizard of TeX selbst haben kann,

Da liegt IMHO ein Missverstaendnis vor; ich glaube, dassdie
Originalnachricht die LaTeX-spezifischen \if-Abfragen meint.

Michael

Olaf Menkens

unread,
Jun 5, 1993, 4:40:00 AM6/5/93
to
Hallo Harald!

> in einigen Styles finde ich diverse if-Abfragen, in den *.TEX-Dateien
> sind solche Befehle allerdings nicht zu finden, die Kopka-Einfuehrung und
> die TeX-FAQ 'OGFUDA' sagen auch nichts ueber deren Existenz.

^^^^^^^ OGFUDA geht ueber LaTeX, und nicht TeX!

\if... sind TeX-Befehle. Du findest sie z.B. im TeX-Book von DEK oder im
2.Kopka: "Erweiterungsmoeglichkeiten", Kap. 6.5.

Syntax:
\if... <abfrage> <wenn_text> [\else <sonst_text>] \fi

Bsp. (ungetestet!):
\ifnum\value{page}<10 Dieser Text erscheint vor Seite 10.\else Und dieser
dahinter.\fi

Es gibt (lt. Kopka) 16 verschiedene Standard-\if's, aber man kann mittels
\newif auch eigene (boolesche) Schalter einfuehren.

Gruss, Olaf.

> Fuer die Gestaltung eines Dokumentes waere es allerdings ganz
> hilfreich
> den Text in Abhaengigkeit von einigen Zaehlerstaenden zu
> gestalten.

> Die Frage lautet also, wie ist das mit den if-Abfragen in LaTeX?

> Harald

> --- LinkIt v2.28
> * Origin: MAUS Koeln: 0221-1390008 (2:242/42.6)
> SEEN-BY: 240/1 10 19 300 400 500 503 540 550 560 241/2 5603 242/
> 2 6 7
> SEEN-BY: 242/9 20 42 53 302 5103 243/16 20 50 91 92 93 98 99
> 245/2 3 8
> SEEN-BY: 245/31 44 63 110 246/18 62 247/6 35 248/1 249/30 2400/
> 10 2401/1
> SEEN-BY: 2401/111 2402/100 2403/12 2405/1 10 11 16 47 100

Harald Ziebarth

unread,
Jun 6, 1993, 4:46:00 PM6/6/93
to
WG>\dots in Deiner LaTeX-Version wird sicher ein `IFTHEN.STY' beiliegen.
WG>Der sollte dann diese Probleme l"osen\dots

ja, ich habe ihn gefunden (IFTHEN.STY vom 16-Dec-86), eine Beschreibung
oder irgendwelche Kommentare sind leider nicht dabei. Wie benutzt man das
Teil denn, kannst Du mir mal ein paar Beispiele posten?

Harald

Bernd Raichle

unread,
Jun 12, 1993, 10:12:23 AM6/12/93
to
In article <4d15b4bd%Fidon...@p23.f6.n2405.z2.fidonet.org> Michael_...@p23.f6.n2405.z2.fidonet.org (Michael Schreiter) writes:

[..]


Heute ist
\ifnum 1=\tag Montag
\else \ifnum 2=\tag Dienstag
\else \ifnum 3=\tag Mittwoch
\else \ifnum 4=\tag Donnerstag
\else \ifnum 5=\tag Freitag
\else \ifnum 6=\tag Samstag
\else \ifnum 7=\tag Sonntag
\else was wiss ich
\fi
\fi
\fi
\fi
\fi
\fi
\fi

An Abfragen gibt es ausser "=" auch noch "<" und ">". Ich Hoffe, ich habe Dir
damit weitergeholfen.

Und fuer obiges gibt es
\ifcase <number>
<text fuer 0>\or
<text fuer 1>\or
... \else
<text fuer alle anderen faelle>
\fi

obiges wird damit vereinfacht zu:

Heute ist
\ifcase\day Sonntag\or Montag\or Dienstag\or Mittwoch\or
Donnerstag\or Freitag\or Samstag\or Sonntag\else
{\bf FEHLER!}\fi.

-bernd

0 new messages