Problem mit equal

Klassen und Pakete zur einfachen Umsetzung individueller Vorstellungen


Walter
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 23. Sep 2010, 22:25

Problem mit equal

Beitrag von Walter »

Hallo Forum,

ich habe schon etwas gesucht, und wie es aussieht, liegt es an der Expandiebarkeit, bzw Nicht-Expandierbarkeit, der Koma-Variablen, dass folgendes Beispiel nicht richtig funktioniert. Habt ihr eine Alternative für mich?
\documentclass{scrlttr2}
\usepackage{ifthen}
\newkomavar[WerBinIch]{WerBinIch}
\setkomavar{WerBinIch}{Alice}
\begin{document}
\begin{letter}
Ich bin \usekomavar{WerBinIch}.
\ifthenelse{\equal{\usekomavar{WerBinIch}}{alice}}{Hallo Bob.}{Hallo Alice.}
\end{letter}
\end{document}

Besserwisser

Beitrag von Besserwisser »

\documentclass{scrlttr2}
\usepackage{ifthen}
\newkomavar[WerBinIch]{WerBinIch}
\setkomavar{WerBinIch}{Alice}
\begin{document}
\begin{letter}{Hier fehlte die Adresse}
Ich bin \usekomavar{WerBinIch}.
\usekomavar[\edef\testvar]{WerBinIch}
\ifthenelse{\equal{\testvar}{Alice}}{Hallo Bob.}{Hallo Alice.}
\end{letter}
\end{document}
Es gibt hier übrigens gleich zwei Probleme. Nicht nur, dass \usekomavar nicht voll expandierbar ist, auch der Test von \ifthenelse ist sehr fragil, daher funktioniert das naheliegende
\ifthenelse{\usekomavar[\equal]{WerBinIch}{Alice}}{Hallo Bob.}{Hallo Alice.}
nicht.

Walter
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 23. Sep 2010, 22:25

Beitrag von Walter »

Vielen Dank!

Antworten