latex
Definiendo macros
Buscar..
Sintaxis
- \ newcommand {\ macro} {texto de reemplazo}
- \ newcommand {\ macro} [argcount] {texto de reemplazo}
- \ renewcommand {\ macro} {texto de reemplazo}
- \ renewcommand {\ macro} [argcount] {texto de reemplazo}
Parámetros
Parámetro | Detalles |
---|---|
\macro | La macro a definir. |
argcount | El número de argumentos que espera la macro (opcional) |
replacement text | El texto de reemplazo para la macro. Dentro de ese texto #1 , #2 etc. se reemplazan con los argumentos de macro. |
Definición básica de macros
Definir un nuevo comando básico.
Una macro se puede definir usando \newcommand
. Por ejemplo:
\newcommand{\foo}{Just foo, you see?}
define una macro \foo
que se expande a Just foo, you see?
. Luego puede usarse como cualquier comando incorporado, por ejemplo, después de esa definición:
He said: ``\foo''
se expande a
He said: ``Just foo, you see?''
Definir un nuevo comando con argumentos.
Las macros también pueden tener argumentos. El número de argumentos se proporciona como argumento opcional entre el nombre del comando y el texto de reemplazo. En el texto de reemplazo, se accede a los argumentos con #1
, #2
etc. Por ejemplo:
\newcommand{\better}[2]{A #1 is better than a #2.}
\better{solution}{problem} % gives: A solution is better than a problem
Redefiniendo un comando existente
Si ya se ha definido una macro, \newcommand
da un error. Para dar una nueva definición para un comando existente, se utiliza \renewcommand
su lugar. Aparte del nombre diferente, la sintaxis es exactamente la misma. Por ejemplo, después de la definición de \foo
anterior, uno podría usar:
\renewcommand{\foo}{Another foo, please.}
Después de esa redefinición, la macro \foo
ya no se expande a Just foo, you see?
Pero a Another foo, please.