pantsula
12-08-2009, 18:10
Hallo allesamt,
ich versuche gerade einen Befehl zu schreiben, komme aber leider nicht weiter.
Ich möchte eine Liste mit Einträgen erstellen, welche durch Kommas getrennt sind (wort1,wort2,wort3,...). Diese Liste soll durch den Befehl \dazu{wort4} erweiterbar sein, so dass das 'wort4' an die alte Liste angehängt wird.
Mein Versuch dazu war folgender:
\documentclass{scrartcl}
\newcommand{\Liste}{}
\newcommand{\alteListe}{}
\newcommand{\neuListe}{}
\newcommand{\dazu}[1]{%
\renewcommand{\neuListe}{#1}%
\renewcommand{\Liste}{\expandafter\expandafter\exp andafter%
{\expandafter\alteListe \expandafter\neuListe}}%
\let\alteListe\Liste%
}%
\begin{document}
\dazu{eins}
\dazu{zwei}
Das ergibt: \Liste
\end{document}
Leider hängt sich Tex dabei auf, da das ganze dann in einer Schleife endet und die TeX capacity exceeded.
Und das, obwohl ich doch schon so viele \expandafter eingebaut habe, um das \let\alteListe\Liste zu überbrücken :-(
Habt ihr eine Idee, wo es da hakt?
ich versuche gerade einen Befehl zu schreiben, komme aber leider nicht weiter.
Ich möchte eine Liste mit Einträgen erstellen, welche durch Kommas getrennt sind (wort1,wort2,wort3,...). Diese Liste soll durch den Befehl \dazu{wort4} erweiterbar sein, so dass das 'wort4' an die alte Liste angehängt wird.
Mein Versuch dazu war folgender:
\documentclass{scrartcl}
\newcommand{\Liste}{}
\newcommand{\alteListe}{}
\newcommand{\neuListe}{}
\newcommand{\dazu}[1]{%
\renewcommand{\neuListe}{#1}%
\renewcommand{\Liste}{\expandafter\expandafter\exp andafter%
{\expandafter\alteListe \expandafter\neuListe}}%
\let\alteListe\Liste%
}%
\begin{document}
\dazu{eins}
\dazu{zwei}
Das ergibt: \Liste
\end{document}
Leider hängt sich Tex dabei auf, da das ganze dann in einer Schleife endet und die TeX capacity exceeded.
Und das, obwohl ich doch schon so viele \expandafter eingebaut habe, um das \let\alteListe\Liste zu überbrücken :-(
Habt ihr eine Idee, wo es da hakt?