Wenn ich in einem Befehl mit optionalen Argument im diesem eckige Klammern einsetze, erhalte ich seltsame Ergebnisse. Beispiel
Ich habe durch ausprobieren herausgefunden, dass das Ergebnis ist, wie ich es eigentlich erwartet hätte, wenn ich zusätzlich
Wieso ist das so? gefragt 24 Jun '13, 12:36 georg |
Um das Warum zu verstehen, muss man eigentlich verstehen, was TeX (nicht LaTeX) für Argumente kennt und wie diese in LaTeX eingesetzt sind. TeX kennt grundsätzlich zwei Arten von Argumenten:
Alle Makros, egal ob sie nun mit LaTeXs
Das definiert das Makro
LaTeXs Syntax ist es, solche Argumente grundsätzlich mit geschweiften Klammern Begrenzte Argumente werden z.B. so definiert:
Das definiert
Die Begrenzer müssten eckige Klammern sein, irgendwelche anderen Token (auch mehrere) gehen auch (abgesehen von ein paar Symbolen mit speziellen Kategoriecodes wie
Hier ist das erste Argument begrenzt von
Ein solcher Argument-Typ steht auch hinter LaTeXs optionalen Argumenten:
Das Paket
beantwortet 24 Jun '13, 18:24 cgnieder Das hängt aber alles mit
(24 Jun '13, 18:51)
Marco_D
@Marco
(24 Jun '13, 18:53)
cgnieder
"unbegrenzte" Argumente müssen nicht unbedingt geklammert werden:
(24 Jun '13, 18:53)
Herbert
@Herbert das habe ich beides erwähnt. Vielleicht war es etwas Overkill, für die Frage so weit auszuholen, wenn man aber den wirklichen Grund wissen will, muss man schon TeXs begrenzte Argumente kennen.
(24 Jun '13, 18:56)
cgnieder
@Clemens: ich meine so etwa wie
(24 Jun '13, 19:22)
Herbert
@Herbert Ah, habe ich überlesen... stimmt, das hab ich tatsächlich absichtlich weggelassen, weil es für das Verständis, warum LaTeXs optionale Argumente anders funktionieren als die obligatorischen, nicht nötig ist.
(24 Jun '13, 19:26)
cgnieder
Ergebnis 5 von 7
show 2 more comments
|
Zur Ermittlung des Arguments wird einfach nach der schließenden Klammer beantwortet 24 Jun '13, 13:22 Herbert |