Hallo,
ich verwende pgfkeys um an newcommands Optionen zu übergeben. Dabei verwende ich häufig die gleichen Optionen. Damit Variablen nicht doppelt verwendet werden und es so zu ungewollten Wechselwirkungen kommt, benennen ich die Variablen dann immer nach dem jeweiligen Kommando (Zum Beispiel wie im MB loesungcoma und loesungcomb).
Ich verwende die Kommandos innerhalb eines Dokument häufig mehrfach und es wäre optimal, wenn jeder Aufruf seinen eigenen Variablennamen hätte.
In Luacode mache ich es so, dass ich bei Variablen einen Counter hochzähle, denn ich dann in den Variablennamen einbinde, damit jedes Kommando seine eigenen Variablen hat (Siehe MB).
Ich suche jetzt ein Möglichkeit die Variablen in den pgfkeys auch irgendwie hochzuzählend, dass jedes Kommando individuelle Variablennamen hat. Dabei habe ich zum einen das Problem, dass ich in Latex ja keine Zahlen in den Variablen einbauen kann. Zum anderen habe ich bisher keine Syntax gefunden, dass der Counter dem Variablennamen zugeordnet wird.
Daher sind meine Fragen:
1. Gibt es eine Möglichkeit in Latex mit Buchstaben zu "zählen"? (Zum Beispiel a,b,...,z,aa,ab,..,az,ba,bb,...bz,...)
2. Gibt es eine Möglichkeit mit pgfkeys eine Variablennamen durch eine anderen Variable zu definieren? Also irgendwas wie \pgfkeysgetvalue{/coma/loesung}{\loesung{\theloesung}}?
Viele Grüße und vielen Dank im Voraus
mc
MB
Code:
\documentclass[12pt,listof=totoc,bibliography=totoc,numbers=noenddot]{scrartcl}
\usepackage{tikz}
\newcounter{loesung}
\newcommand\coma[1][]{%//
\stepcounter{loesung}
\pgfkeys{%//
/coma/loesung/.initial=1,
}%\\
\pgfkeys{/coma/.cd,#1}
\pgfkeysgetvalue{/coma/loesung}{\loesungcoma}
\directlua{
loesung\theloesung = \theloesung;
}
\begin{tikzpicture}
\node at (0,0){Command A};
\node at (0,-0.5){Latex: \loesungcoma};
\node at (0,-1){Lua: \directlua{tex.print(loesung\theloesung)}};
\end{tikzpicture}
}
\newcounter{loesung}
\newcommand\coma[1][]{%//
\stepcounter{loesung}
\pgfkeys{%//
/comb/loesung/.initial=1,
}%\\
\pgfkeys{/comb/.cd,#1}
\pgfkeysgetvalue{/comb/loesung}{\loesungcoma}
\directlua{
loesung\theloesung = \theloesung;
}
\begin{tikzpicture}
\node at (0,0){Command B};
\node at (0,-0.5){Latex: \loesungcomb};
\node at (0,-1){Lua: \directlua{tex.print(loesung\theloesung)}};
\end{tikzpicture}
}
\begin{document}
\coma
\coma
\comb
\coma
\end{document}
Lesezeichen