|
Macros, funciones y variables de entorno |
|
Las principales combinaciones de teclas que usted debe saber para
escribir archivos de estilo son las siguientes:
-
M-=
-
crea una nueva asignación. El primer argumento es el nombre
de un nuevo comando y el segundo una expresión.
-
M-w
-
permite cambiar localmente una o más variables de entorno.
Las sentencias with son de la forma
⟨x1|a1|⋯|xn|an|b⟩,
donde los xi son los nombres de las
variables, los ai son sus valores
locales, y b es el texto sobre el que se aplica el
entorno local.
-
M-m
-
crea un macro. Los argumentos se insertan utilizando la tecla
tab.
-
M-f
-
crea una función. Los argumentos se insertan utilizando la
tecla tab.
-
M-i #
-
obtiene el valor de un argumento del macro.
-
M-i v
-
obtiene el valor de una variable de entorno.
-
M-i e
-
expande el macro con cero o más argumentos.
-
M-i a
-
aplica una función a cero o más argumentos.
Más precisamente, cuando se evalua una expasión de macro
{a|x1|⋯|xn}
creada por M-i e, las siguientes acciones son llevadas
a cabo:
-
Si a no es una cadena ni un macro, entonces a
se evalúa una sola vez. Esto produce o bien un nombre de
macro o una expresión de macro f.
-
Si obtenemos el nombre de un macro, entonces reemplazamos
f por el valor de la variable de entorno f. Si
después de esto f no es todavía un macro,
entonces devolvemos f.
-
Sean
y1,…,yn
los argumentos de f y b su cuerpo (se desechan
los argumentos superfluos; los argumentos faltantes toman la cadena
vacía como su valor por defecto). Entonces sustituímos
xi por cada
yi en b y devolvemos el
resultado que ha sido evaluado.
Las funciones son similares a los macros, salvo en que los argumentos
de las aplicaciones de una función son evaluados y no pueden
ser editados directamente (primero necesitas desactivar la
aplicación de la función, después editar los
argumentos y por último, reactivar). También,
y1,…,yn
se consideran ahora como variables de entorno locales, a las que se
atribuyen
x1…xn
como sus valores. Estas variables locales no se recuerdan cuando una
función devuelve una función que involucra esas
variables.
© 1998–2002 Joris van der Hoeven, Álvaro Cantero
Tejero, Pablo Ruiz Múzquiz, David Moriano Garcia, Offray
Vladimir Luna Cárdenas
Se garantiza el permiso para copiar, distribuir y/o modificar este
documento bajo los terminos de la GNU Free Documentation License,
Versión 1.1 o cualquier versión posterior publicada por
la Free Software Foundation; sin Secciones Invariantes, sin Textos de
Portada, y sin Textos de Contraportada. Una copia de la licencia
está incluida en la sección titulada "GNU Free
Documentation License".
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
"GNU Free Documentation License".