Defina novo argumento em LaTeX

Defina novo argumento em LaTeX

Eu tentei muitas vezes algo como o seguinte:

\def\variable{English}

que pode ser usado da seguinte maneira posteriormente:

\selectlanguage{\variable}

Estou procurando uma maneira genérica de resolver esses problemas (quero predefinir argumentos que possam ser passados ​​para comandos).

Um problema semelhante seria o seguinte: Você deseja definir uma sequência de argumentos \listpassados ​​para \printbibliography[\list].

Ficaria muito grato se alguém pudesse me ajudar, pois não consegui resolver esse problema com o Google.

Responder1

Ok, eu mesmo vou dar a resposta à minha pergunta:

O truque, conforme apontado no link fornecido por egreg, é usar \expandafter:

No primeiro caso:

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

No segundo caso:

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

(claro que você definiu "nota" usando, por exemplo \defbibnote{note}{testnote}).

Outro caso de uso para demonstrar melhor os aplicativos poderia ser \includegraphics:

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

Obrigado egreg pelo link útil!

informação relacionada