IMPORTANTE (noviembre 2017): Este artículo ha sido superado por el libro LyX, la otra forma de escribir.
Consideremos dos situaciones:
- Situación 1: podríamos tener una expresión matemática compleja que tengamos que repetir, con pequeñas variantes, varias veces en el mismo documento. Por ejemplo, podríamos estar escribiendo un ensayo sobre trasformadas de Fourier lo que nos obligaría a introducir muchas veces una expresión donde solo cambiaría la función a transformar, no el resto de la integral.
- Situación 2: Como ya hemos comentado, LyX no puede dar soporte a cada comando LaTeX posible por lo que a veces tendremos que recurrir a escribir código directamente, código que, por si fuera poco, se vería «extraño» en la ventana de edición.
Ambas situaciones significarían un enorme trabajo manual que se repetiría hasta el cansancio… o no, o al menos no siempre. Bienvenidos a una de las características más interesantes, pero menos conocidas, de LyX: las macros matemáticas.
La idea es que nosotros creamos una «macro» con las instrucciones LaTeX necesarias (la parte fija de la expresión), los «argumentos» que nos sirvan (la parte que cambiaremos cada vez) y le damos un breve nombre de nuestra autoría: a partir de allí solo tendremos que llamar a esa macro desde cualquier lugar del documento utilizando su nombre, que la única tarea que nos quedará será la de llenar los «huecos» dejados por los argumentos.
Comencemos con el ejemplo más «complicado», el de la Situación 2, que en el proceso resultará claro cómo funciona todo.
En el artículo enlazado al inicio hablamos del comando mathop que nos sirve para convertir cualquier signo o texto en un «operador» que acepte límites. También vimos que al utilizarlo en LyX directamente da (en la ventana de edición, que en el documento de salida todo es perfecto) un aspecto un tanto «confuso». El crear la macro hará que el proceso de utilizar esta instrucción sea más simple y que aquello que se muestra en LyX resulte más claro.
Primero, al principio del documento nos dirigimos a Insertar → Ecuación → Macro, que aparecerá algo como lo siguiente
Como vemos, en el documento se abrirá una «caja» que utilizaremos para crear nuestra macro mientras que debajo tendremos, además de las barras de herramientas tradicionales del editor de ecuaciones, una nueva para crear o quitar argumentos, hacerlos opcionales, etcétera.
NOTA: Esta caja no aparecerá en el documento compilado por lo que no debemos preocuparnos de su presencia. De hecho podríamos colocarla en cualquier lugar, pero es mejor agrupar todas las macros al inicio del documento así las tenemos «más a mano»
Ahora reemplazamos «newmacroname» por algo que nos sea cómodo. Dado que en este ejemplo queremos simplificar el uso del comando \mathop podemos llamarlo «mop».
IMPORTANTE: ¡Cuidado con el nombre elegido, que no podemos utilizar un comando LaTeX válido!
En la primera de las dos pequeñas «subcajas», la marcada como «TeX» tendremos que escribir nuestro código LaTeX mientras que en la segunda, marcada como «LyX», aquello que queremos que LyX muestre durante el uso de la macro.
Recuerde el lector que en LyX la forma más simple de insertar los delimitadores {} para agrupar expresiones es escribiendo \{ (el de cierre aparecerá automáticamente)
Luego utilizamos la nueva barra de herramientas para agregar un argumento
Lo que nos dará
Ya estamos. Para utilizar esta macro simplemente escribimos dentro de una ecuación
\mop
para luego presionar la barra espaciadora una vez y obtener
En el espacio azul escribimos aquello que queremos convertir en operador mientras que fuera del mismo (espacio otra vez, o TAB) usamos sub- y superíndices para lo que queramos arriba y abajo del mismo.
Finalmente, aquello que en el editor de LyX se ve así
en el documento compilado (recuerden que la caja que define la macro no aparecerá) se verá así
Ahora resolver la Situación 1 debería resultarnos simple: al definir la macro tan solo escribimos en las pequeñas subcajas «TeX» y «LyX» lo mismo, dejando lugar para el parámetro que necesitemos
¡Listo! Dejo al lector el explorar los otros botones de la barra de herramientas de macros 😉