Lokale Variable gesucht
Verfasst: Mi 9. Feb 2011, 10:52
Als Programmierer bin ich es gewohnt, dass Variable möglichst nicht global, sondern (soweit sinnvoll) nur lokal gelten sollten. Bei LaTeX gibt es (wenn ich Literatur und Forumsbeiträge richtig verstehe) nur Variable, die global im gesamten Dokument gelten.
So benötige ich in Makros und eigenen Umgebungen temporäre Werte, die - abhängig von Argumenten - im Makro etwas steuern sollen. Beispiel:
Aber solche Variablen bleiben für alle Zeiten gültig. Allenfalls String-Variable kann man über \renewcommand überschreiben, und Integer-Variable durch \count73 ebenso (oder welches Register man sich reserviert). Andererseits: Wenn ich für jede Situation eigene Variable definiere, komme ich u.U. schnell an die Grenze von 255 Registern.
Ich habe mir jetzt mit je 5 Variablen (für Integer, Length, Strings und Farbnamen) beholfen, die am Anfang eines (langen) Dokuments definiert und wahlweise benutzt werden. Aber das ist nicht schön, zumal Namen wie myTempLengthA alles andere als aussagekräftig sind.
Gibt es eine vernünftige Lösung für solche lokalen Variablen? Mit Links auf ein geeignetes Paket oder eine Arbeitsanleitung bin ich zufrieden.
Danke! Jürgen
So benötige ich in Makros und eigenen Umgebungen temporäre Werte, die - abhängig von Argumenten - im Makro etwas steuern sollen. Beispiel:
\newlength\tempLineWidth % wenn #1 leer ist, dann linewidth auf 1pt setzen, sonst auf 0pt \ifstr{#1}{} {\setlength{\tempLineWidth}{1pt}} {\setlength{\tempLineWidth}{0pt}}
Ich habe mir jetzt mit je 5 Variablen (für Integer, Length, Strings und Farbnamen) beholfen, die am Anfang eines (langen) Dokuments definiert und wahlweise benutzt werden. Aber das ist nicht schön, zumal Namen wie myTempLengthA alles andere als aussagekräftig sind.
Gibt es eine vernünftige Lösung für solche lokalen Variablen? Mit Links auf ein geeignetes Paket oder eine Arbeitsanleitung bin ich zufrieden.
Danke! Jürgen