LaTeX.jpg

Una cosa lleva a la otra por lo que gracias a un mensaje del amigo Victor en quitter.no me encontré con un blog muy interesante y en él un tema que picó mi curiosidad: poner «etiquetas» en los delimitadores de una matriz en LaTeX.

matriz1.png

En LyX crear matrices es simple y agregar delimitadores una fiesta, pero poner etiquetas que nombren las filas y columnas como en el ejemplo a izquierda, pues ya no lo parece tanto.

¡Y de hecho no lo es!

Las opciones son pocas: LaTeX puro y duro en una «caja TeX» o simular la cosa con matrices dentro de matrices. Ambas tienen su dificultad, que el lector decida cuál es su veneno favorito.

Con LaTeX puro y duro

La primer cosa es aplicar el método utilizado por la colega Ondiz en su blog, es decir, la instrucción \bordermatrix. Para esto y si queremos que la matriz esté «en modo display», dentro de una caja TeX

lyx-tex.png

escribimos lo siguiente:

\[\bordermatrix{~ & x & y \cr
                A & 1 & 0 \cr
                B & 0 & 1 \cr}\]

(si queremos que esté numerada cambiamos el \[ al principio y el \] al final por \begin{equation} y \end{equation}, respectivamente, mientras que si queremos que esté «en línea» sustituimos con el signo $). Esto nos dará algo parecido a la primer captura de pantalla, pero con paréntesis en lugar de corchetes. ¿Cómo se logran entonces los corchetes? ¡tex.stackexchange al rescate! La segunda opción dada por el usuario egreg es la que más me ha gustado: en el preámbulo LaTeX escribimos

\usepackage{etoolbox}
\let\bbordermatrix\bordermatrix
\patchcmd{\bbordermatrix}{8.75}{4.75}{}{}
\patchcmd{\bbordermatrix}{\left(}{\left[}{}{}
\patchcmd{\bbordermatrix}{\right)}{\right]}{}{}

Lo que aquí sucede es que el paquete etoolbox toma la instrucción \bordermatrix y la copia en \bbordermatrix cambiando paréntesis por corchetes y ajustando el espaciado.

Ahora, en nuestra «caja TeX» escribimos

\[\bbordermatrix{~ & x & y \cr
                 A & 1 & 0 \cr
                 B & 0 & 1 \cr}\]

que nos dará exactamente lo buscado.

Forzando el editor gráfico

La idea parte del hecho de que podemos tener «matrices anidadas» simplemente insertando una matriz en una celda de otra matriz.

Primero insertamos una matriz de 2×2, dejando la celda de arriba a la izquierda vacía. Ahora insertamos una matriz de 1×2 (una fila y dos columnas) en la celda de arriba a la derecha, otra de 2×1 en la de abajo a la izquierda y finalmente una de 2×2 en la de abajo a la derecha, esta última rodeada de los paréntesis o corchetes que nos sirvan y procediendo luego a completar los espacios necesarios. Es posible que tengamos que agregar algún espacio extra (en el modo matemático de LyX Ctrl-Espacio nos da un espacio pequeño, si presionamos espacio de nuevo uno más grande, etcétera) para corregir algunos «problemas cosméticos»… pero no todos, porque las etiquetas de la izquierda quedarán un tanto separadas de la matriz. Esto puede «arreglarse» insertando oportunos

\arraycolsep=X.Ypt

donde X.Y es una distancia en puntos, por ejemplo 1.4 para reducir y 5.2 para agrandar. Esta instrucción cambia la distancia entre columnas (hay una análoga para la distancia entre filas). Dejo al lector el imaginar dónde colocarlas y jugar un poco con los valores.

Conclusión

El método de «LaTeX puro y duro» da los mejores resultados, pero complica un poco las referencias cruzadas (no puede utilizarse el sistema de etiquetado de LyX dentro de una «caja TeX») y si la matriz es solo una parte de la expresión… nada grave, pero tampoco muy cómodo.

El método gráfico funciona, pero hay que realizar varios trucos sucios y numerosas pruebas antes de llegar a la forma ideal.

En fin, lo dicho: que cada uno elija su propio veneno.

 

Fuente: elpinguinotolkiano

¿Quién está en línea?

Hay 20540 invitados y ningún miembro en línea