Neues Argument in LaTeX definieren

Neues Argument in LaTeX definieren

Ich habe oft so etwas wie das Folgende versucht:

\def\variable{English}

die später folgendermaßen genutzt werden können:

\selectlanguage{\variable}

Ich suche nach einer allgemeinen Möglichkeit, solche Probleme zu lösen (ich möchte Argumente vordefinieren, die an Befehle übergeben werden können).

Ein ähnliches Problem wäre das folgende: Sie möchten eine Zeichenfolge von Argumenten definieren, die \listan übergeben werden \printbibliography[\list].

Ich wäre sehr dankbar, wenn mir jemand helfen könnte, da ich das Problem mit Google nicht lösen konnte.

Antwort1

Okay, ich werde die Antwort auf meine Frage selbst geben:

Der Trick besteht, wie im von egreg bereitgestellten Link erläutert, darin, Folgendes zu verwenden \expandafter:

Im ersten Fall:

\def\Language{english}
\expandafter\selectlanguage\expandafter{\Language}

Im zweiten Fall:

\def\arg{prenote=note}
\expandafter\printbibliography\expandafter[\arg]

(natürlich vorausgesetzt, Sie haben „Notiz“ beispielsweise definiert \defbibnote{note}{testnote}).

Ein weiterer Anwendungsfall zur weiteren Demonstration von Anwendungen könnte sein \includegraphics:

    \def\options{height=3em}
    \expandafter\includegraphics\expandafter[\options]{pathtopicture}

Danke, egreg, für den hilfreichen Link!

verwandte Informationen