PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Denselben Befehl zweimal ausgeben mit anderem Argument



Corvina
12-03-2011, 19:36
Hallo,

ich bräuchte noch mal eure Hilfe :o
Ich habe einen Befehl in Latex programmiert, der eine Einkaufsliste erstellen soll, wobei der Befehl \einkaufsliste{10} lautet, wobei 10 im Befehl mit anderen Werten multipliziert wird. Hier (gekürzt) der Befehl, damit ihr wisst, was ich damit meine:


\newcommand{\einkaufsliste}[1]{
\newcounter{Teilnehmerzahl}
\setcounter{Teilnehmerzahl}{#1}
Einkaufsliste: Äpfel \setcounter{Teilnehmerzahl}{#1*3} \arabic{Teilnehmerzahl} \\
\end{tabbing}}

Der Befehl funktioniert auch, wie er soll und lässt sich mit verschiedenen Werten korrekt ausgeben.

Nun zu meiner Frage: Ich soll den Befehl auch mehrfach hintereinander ausgeben können, im selben Dokument. Das funktioniert prinzipiell auch, nur wenn ich im Anschluss an die Befehlsdefinition z.B.
\einkaufsliste{10}
\einkaufsliste{2}

eingebe, bekomme ich zwar nach dem kompilieren korrekt beide Listen ausgegeben, aber gleichzeitig auch eine Fehlermeldung : "LaTeX Error: Command \c@Teilnehmerzahl already defined. Or name \end... illegal, see... blabla

Warum wird dieser Fehler ausgegeben, wenn doch der Befehl im pdf normal funktioniert? Kann/muss ich etwas am Befehl ändern? Oder ist diese Fehlermeldung irrelevant?

Freue mich sehr über Hilfe, danke schonmal!

mechanicus
12-03-2011, 19:41
Warum wird dieser Fehler ausgegeben, wenn doch der Befehl im pdf normal funktioniert? Kann/muss ich etwas am Befehl ändern? Oder ist diese Fehlermeldung irrelevant?
Mit jedem Aufruf von \einkaufsliste wird der Zähler Teilnehmerzahl neu definiert. Setze einfach \newcounter{Teilnehmerzahl} vor die Definition.

Gruß
Marco

rstuby
12-03-2011, 19:43
Nimm mal das
\newcounter{Teilnehmerzahl}
aus der Einkaufsliste-Definition raus und schreib es davor.
Sonst versucht LaTeX ja jedesmal wieder, einen NEUEN Zähler "Teilnehmerzahl" zu definieren, wenn du "Einkaufsliste" aufrufst.

(ungetestet mangels vollständigen Minimalbeispiels)

Corvina
12-03-2011, 19:47
Merci! Jetzt geht's ohne Fehler. Vielen Dank :)

Edit:
@rstuby Dir natürlich auch! Sorry, ich habe das Zählersystem von LaTeX noch nicht so ganz durchblickt; das war der erste Befehl mit Counter überhaupt für mich...:o