PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ifthenelse-Abfragen programmieren



nolaw
16-08-2005, 17:05
Hallo,

ich habe in einer eigenen *.sty-Datei eigene Befehle, genauer gesagt: eigene Variablen, definiert, die im Hauptdokument über "renewcommand" mit spezfischen Inhalt gefüllt werden. Dies hat den Vorteil, dass ich die notwendigen Anpassung bereits in der Präambel vornehme und mich um die Formatierung und Stellung im Text nicht mehr kümmern muß. Ganz toll ist, dass dies auch rekursiv klappt.

In der nächsten Ausbaustufe scheitere ich aber an der ifthenelse-Syntax. Insbesondere bin ich nicht in der Lage, eine "If variable exists, then..." Struktur anzubilden.

Ein Beispiel mit juristischem Kontext. Je nachdem, ob ein Kläger männlich oder weiblich ist, wird ein Standardtext in männlicher bzw. weiblicher Form ausgegeben. Dazu habe ich die "Variablen" \antragm und \antragw definiert. Zudem gibt es eine allgemeine Variable \antrag, deren Inhalt auf \antragm bzw \antragw Bezug nimmt.

Nun hätte ich gerne folgende Form:

\ifthenelse{\klaegerm=WAHR}{renewcommand{\antrag}{ \antragm} ...}{ELSE renewcommand{\antrag}{\antragw}....}

Da es glücklicherweise nur zwei Geschlechter gibt, ist klar, dass mit ELSE die weibliche Formulierung gemeint sein muss.

Zum vorhersehbaren Einwand, warum ich im Text nicht gleich an der richtigen Stelle \antragm oder \antragw schreibe: Genau das will ich nicht. Ich möchte die rekursiven Fähigkeiten ausnutzen und die geschlechstspezifischen Formulierungen bereits in der Präambel steuern.

Wie schaut die korrekte Syntax aus? Danke im voraus.

knu
17-08-2005, 07:23
Dieser Link (http://www.tug.org/TeXnik/mainFAQ.cgi?file=IfThen/ifthen) könnte dir helfen. Du könntest also eine boolean-Variable klaegerm benutzen. Dann solltest Du vor allem auch das ELSE aus deinem Beispiel weglassen.


\ifthenelse{\boolean{klaegerm}}{\renewcommand{...} }{\renewcommand{...}}

nolaw
17-08-2005, 18:34
Guter Tipp,

ich werde es mal ausprobieren und Vollzug melden. Sieht sehr logisch aus ...