LaTeX/LyX: crear nuevas instrucciones

IMPORTANTE (noviembre 2017): Este artículo ha sido superado por el libro LyX, la otra forma de escribir.


En ocasiones (ya presentamos un caso en un artículo anterior) podría ser necesario tener a disposición una «abreviatura» para insertar un texto que va a repetirse muchas veces o incluso crear una «función» que dada una entrada rápida nos de en el documento final algo perfectamente formateado. La forma más simple de lograr esto en LaTeX/LyX es definir una nueva instrucción: hoy veremos cómo hacerlo.

La instrucción para definir instrucciones se llama, apropiadamente, \newcommand{}[]{} y se utiliza en el preámbulo LaTeX de la siguiente forma:

\newcommand{\micomando}[<número de parámetros>]{<texto e instrucciones LaTeX>}

Supongamos que queremos automatizar lo aprendido hace un par de semanas, creando una nueva instrucción para insertar un superíndice de texto utilizando «raisebox». Aquí \micomando es el nombre que le daremos a la instrucción, por ejemplo \subir, <número de parámetros> indica cuántos parámetros necesitará nuestro comando, en este caso 1, mientras que en <texto e instrucciones LaTeX> debemos escribir lo que nos sirva para crear el formato buscado, llamando a cada parámetro con #<número> (#1 para el primer parámetro, #2 para el segundo, etcétera).

El código a insertar en el preámbulo LaTeX (Documento → Configuración → Preámbulo LaTeX) será entonces el siguiente

\newcommand{\subir}[1]{{\raisebox{1ex}{\footnotesize{#1}}}}

Para utilizar esta instrucción dentro de LyX abrimos una primer «caja TeX» con Ctrl-L, escribimos \subir{, salimos de la caja para escribir el texto del superíndice y finalmente creamos otra caja TeX donde escribimos }

newcommand1

nos dará

newcommand2

Podemos utilizar más parámetros. Supongamos (el ejemplo es un tanto tonto, pero da la idea) que estamos escribiendo sobre química y que tenemos que escribir muchas veces iones particulares como el sulfato donde tenemos no solo un superíndice con un «2-» sino también y simultáneamente un subíndice con un «4». Esto lo podemos lograr escribiendo «SO» y a continuación entrando en modo matemático (Ctrl-M) para escribir los índices… o podemos definir lo siguiente

\newcommand{\subebajam}[2]{$^{#1} _{#2}$}

con lo cual introduciendo esto en LyX

newcommand3

(¡hemos usado tres cajas TeX!) obtendremos esto en la salida

newcommand4

Ciertamente también es posible crear comandos sin parámetros, de la forma

\newcommand{\micomando}{<texto e instrucciones LaTeX>}

¡Todo listo! Bueno, no todo, que en un futuro cercano veremos una herramienta exclusiva de LyX que nos permitirá crear nuevas instrucciones para aplicar en nuestras fórmulas.


Fuente de inspiración para este artículo: How can I define new commands in LaTeX?

Ondiz, la colega de Onda Hostil también habló sobre este tema hace algunas semanas: Lo que he aprendido: definir comandos en Latex

Anuncio publicitario