ifthen

Definiuje makroinstrukcje do przetwarzania warunkowego
\ifthenelse{test}{jeśli prawda}{jeśli fałsz}
ciąg jeśli prawda zostanie zrealizowany, jeśli wartość test będzie ,,prawdą'' (true), w przeciwnym wypadku zostanie zrealizowany ciąg jeśli fałsz.

Zdefiniowane są następujące makroinstrukcje i relacje:
= sprawdzenie równości wartości numerycznej
< mniejszy
> większy
    \newcommand{\toEng}[1]{%
    \the\value{#1}%
    \ifthenelse{\value{#1} = 1}{$^{\hbox{st}}$}{}%
    \ifthenelse{\value{#1} = 2}{$^{\hbox{nd}}$}{}%
    \ifthenelse{\value{#1} = 3}{$^{\hbox{rd}}$}{}%
    \ifthenelse{\value{#1} > 3}{$^{\hbox{st}}$}{}}%
    This is the \toEng{section} section.
    
Daje następujący efekt: This is the section.
\equal{str1}{str2} porównanie dwóch ciągów znaków
\boolean{wartość logiczna} sprawdzenie wartości zmiennej logicznej (np. \boolean{mmode} --- czy aktualnym modem jest mod matematyczny).
\lengthtest{test} służy do porównania wartości definiowanych przez polecenie \setlength; wewnętrz mogą być używane znaki >, < i =
\isodd{liczba} czy wartość jest parzysta;
\whiledo{test}{dopoki prawda} umożliwia zdefiniowanie pętli np.
\newcounter{count}
\setcounter{count}{1}
\whiledo{\value{count} < 5}{%
    the hour is \toEng{count}{} h.\\%
    \stepcounter{count}}
		
daje poniższy efekt:
\newboolean{nazwa} zdefiniowanie nowej zmiennej logicznej; wartość jest ustawiana na false
\setboolean{nazwa}{wartość} ustawienie wartości zmiennej logicznej

dodatkowo w parametrze definiującym warunek można używać operatorów logicznych:

\and
\or
\not
oraz nawiasów
\( -- otwarcie struktury
\) -- zamknięcie struktury

Włodzimierz Macewicz
Ostatnie zmiany: 05.05.2014.