Definir un nuevo argumento en LaTeX

Definir un nuevo argumento en LaTeX

He probado muchas veces algo como lo siguiente:

\def\variable{English}

que se puede utilizar de la siguiente manera más adelante:

\selectlanguage{\variable}

Estoy buscando una forma genérica de resolver este tipo de problemas (quiero predefinir argumentos que puedan pasarse a comandos).

Un problema similar sería el siguiente: desea definir una cadena de argumentos \listpasados ​​a \printbibliography[\list].

Estaría muy agradecido si alguien pudiera ayudarme, ya que no pude solucionar ese problema con Google.

Respuesta1

Bien, voy a dar la respuesta a mi pregunta yo mismo:

El truco, como se señala en el enlace proporcionado por egreg, es utilizar \expandafter:

En el primer caso:

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

En el segundo caso:

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

(por supuesto, dado que ha definido "nota" usando, por ejemplo \defbibnote{note}{testnote}).

Otro caso de uso para demostrar aún más las aplicaciones podría ser \includegraphics:

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

¡Gracias egreg por el útil enlace!

información relacionada