LaTeX – Control de la numeración de las listas

Objetivo: aprender a controlar la numeración de las listas numeradas en LaTeX.

En los primeros compases de la serie, al presentar los rudimentos de \LaTeX, recorrimos los diversos tipos de listas básicos, entre las que se encontraban las listas numeradas, caracterizadas por que cada elemento aparece precedido por un número de orden. Continuaremos el artículo mostrando algunas técnicas que nos proporcionarán un mayor control de la numeración.

Para crear una lista numerada en \LaTeX, como vimos, disponemos del entorno enumerate, indicando cada elemento de la lista mediante el comando \item, como en este ejemplo:

\begin{enumerate}
\item Pepino
\item Berenjena
\item Pimiento
\end{enumerate}

La técnica básica es simple, no tiene mayor misterio. Como resultado obtenemos una lista en la que cada elemento aparece numerado, comenzando, como es de esperar, por el uno y prosiguiendo consecutivamente.

Este esquema es lo suficientemente inteligente para adaptarse y renumerar el conjunto adecuadamente si introducimos nuevos elementos a la lista en cualquier posición. Pero, ¿cómo podemos hacer para que la lista comience su numeración por el valor que deseemos, no necesariamente por el uno?

Para controlar el valor inicial de multitud de estructuras numéricas, \LaTeX dispone del concepto de contador. En concreto, el contador que gestiona la numeración de las listas numeradas se denomina enumi. Si queremos que nuestra lista de vegetales se muestre a partir del número 5, por ejemplo, debemos incluir el siguiente comando dentro del entorno enumerate, antes de cualquier descripción de elemento:

Lista 1
\begin{enumerate}
\setcounter{enumi}{4}
\item Pepino
\item Berenjena
\item Pimiento
\end{enumerate}

latex-ln1

El valor que se establece como contador es el entero inmediatamente anterior al que deseamos que sirva de inicio. Observa que he dicho entero, y no natural. En efecto, este contador puede ser negativo también. Si, por ejemplo, indicáramos un -3, el primer elemento de la lista sería -2, seguido de -1, 0, 1, etc. En particular, si quieres que la lista comience por el cero, el valor de enumi será -1.

Presta atención también la sintaxis de setcounter, que requiere dos argumentos obligatorios (entre llaves, no en corchetes): el nombre del contador seguido del valor numérico.

Es importante que setcounter se introduzca dentro del bloque enumerate, pues si estuviera fuera se restablecería automáticamente a su valor por defecto al encontrarse con el begin de apertura del entorno. Además, debe figurar antes que los elementos; de lo contrario, la renumeración sólo aparecería desde su posición en adelante. Prueba tú mismo lo que sucedería si situaras setcounter entre medias de la lista.

Otra cuestión que se plantea a menudo es cómo gestionar la numeración de varias listas, generadas cada una por sus respectivos entornos enumerate, cuando deseamos que las sucesivas continúen a partir donde finalizaron las anteriores.

Naturalmente, siempre podemos resolverlo a mano: contamos los elementos existentes en cada lista y ajustamos el contador apropiadamente. Pero eso presenta el inconveniente de que, si añadimos más elementos a las listas habremos de reajustar los contadores para que reflejen el cambio.

Existen varios modos de obtener una numeración automática. La más simple consiste en recurrir a un paquete que se ocupe de ese trasiego, como enumitem, un excelente trabajo de Javier Bezos.

\usepackage{enumitem}

A partir de ese momento, dispondremos de un argumento opcional para el entorno enumerate, resume, que se ocupará de retomar la numeración justo en el punto donde finalizó la anterior.

Lista 1 
\begin{enumerate}
\item Pepino
\item Berenjena
\item Pimiento
\end{enumerate}

Lista 2
\begin{enumerate}[resume]
\item Calabacín
\item Zanahoria
\item Remolacha
\end{enumerate}

latex-ln3

El paquete enumiten hace mucho más que eso, desde luego; consulta su documentación si sientes curiosidad. Presiento que volveremos a él en alguna que otra ocasión.

Las posibilidades de \LaTeX, virtualmente ilimitadas a través de sus innumerables paquetes, hacen que la única manera de no perderse en ellas sea manteniendo una especie de diario personal donde anotemos aquellas técnicas que nos resulten de utilidad práctica. No es una labor en absoluto enciclopédica: registra únicamente las que verdaderamente puedas necesitar. Y, por supuesto, no debiera hacer falta decirlo, escrito en \LaTeX. ¿En qué, si no?

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2015/10/latex-control-de-la-numeracion-de-las-listas/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

Safe Creative #1510245609313

LaTeX – Un marco básico para nuestras tablas

Objetivo: dotar de un marco simple a las tablas creadas en LaTeX.

En la entrega anterior aprendimos a generar tablas básicas en \LaTeX mediante el entorno tabular. Aunque cumplen perfectamente su función como elemento estructural, es natural que nos planteemos mejorar su presentación dotándolas, como primera opción, de un marco y líneas de división entre celdas.

Recordemos nuestra artista invitada:

\begin{tabular}{llcr}
pepino & tomate & berenjena & rábano \\
manzana & naranja & fresa & pera \\
\end{tabular}

latex-tablas-1

Comencemos trazando líneas separadoras horizontales, para lo que disponemos del comando \hline, que insertaremos justo en el lugar en el que queremos que aparezca cada línea.

\begin{tabular}{llcr}
\hline
pepino & tomate & berenjena & rábano  \\
\hline
manzana & naranja & fresa & pera \\
\hline
\end{tabular}

latex-tablas-marco-1

Para insertar una línea doble, podemos ejecutar \hline dos veces:

\begin{tabular}{llcr}
\hline
\hline
pepino & tomate & berenjena & rábano  \\
\hline
manzana & naranja & fresa & pera \\
\hline
\hline
\end{tabular}

latex-tablas-marco-2

El trazado vertical se especifica en la propia definición del entorno tabular, donde indicamos la justificación de cada columna, intercalando el símbolo de barra | en las posiciones en las que queremos que figure un separador vertical.

Por ejemplo, si queremos que nuestra tabla presente los bordes izquierdo y derecho, pero no entre medias, la declaración sería del siguiente modo:

\begin{tabular}{|llcr|}

El siguiente código dibuja el marco completo de la tabla, incluyendo todos los separadores interiores:

\begin{tabular}{|l|l|c|r|}
\hline
pepino & tomate & berenjena & rábano  \\
\hline
manzana & naranja & fresa & pera \\
\hline
\end{tabular}

latex-tablas-marco-3

Para finalizar, si en lugar de un símbolo de barra | escribimos dos ||, obtendremos un separador vertical doble. Dejemos, por ejemplo, dobles los verticales externos, pero simples los internos.

\begin{tabular}{||l|l|c|r||}
\hline
pepino & tomate & berenjena & rábano  \\
\hline
manzana & naranja & fresa & pera \\
\hline
\end{tabular}

latex-tablas-marco-4

Todo sencillo de momento, ¿no? Los conceptos no se atragantan cuando se ingieren en pequeños bocados.

Javier Montero Gabarró


LaTeX – Un marco básico para nuestras tablas


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

LaTeX – Aproximación a las tablas

Objetivo: aprender la sintaxis básica para la creación de tablas en LaTeX.

Visto desde fuera, \LaTeX puede intimidar al profano que ocasionalmente asoma su cabeza en el mundillo. Desde dentro, más aún. Perdido entre centenares y centenares de paquetes y comandos, uno se siente siempre un principiante.

Pero lo verdaderamente cierto es que, con un puñado simple de conceptos y comandos bien aprendidos, podemos generar documentos en LaTeX con apariencia profesional desde el primer día. Gradualmente seguimos aprendiendo, colocando piezas en el puzzle, de modo que nuestro repertorio de técnicas crece, ofreciéndonos más flexibilidad y permitiéndonos lograr resultados más elaborados.

Ese es el modo como me gusta estudiar \LaTeX (y tantas otras cosas): pieza a pieza, técnica a técnica, asegurándome bien de practicar e interiorizar cada nuevo elemento antes de precipitarme buscando otro diferente.

Nos aproximaremos a la creación de tablas de ese modo. Comenzaremos por el uso más simple, la creación de una tabla básica con apenas un formato mínimo. Progresivamente exploraremos las distintas opciones de diseño y presentaremos algunos paquetes que extenderán nuestras posibilidades creativas.

Para crear una tabla disponemos del entorno tabular. Es decir, nuestra tabla quedará contenida en un bloque semejante a este:

\begin{tabular}
....
\end{tabular}

Como parámetro obligatorio (y por lo tanto, entre llaves) debemos indicar la justificación individual de cada columna. Si el contenido ha de aparecer justificado a la izquierda, escribimos la letra l (left); si la alineación es a la derecha una r (right); si lo que queremos es que el contenido esté centrado lo indicamos con la letra c (centered). Hay más posibilidades, pero de ellas hablaremos en otra ocasión.

Por ejemplo, imaginemos que queremos crear una tabla de 2 filas por 4 columnas en las que las dos primeras columnas se justifican a izquierda, la siguiente se centra y la última se alinéa a la derecha. La definición del entorno sería del siguiente modo:


\begin{tabular}{llcr}
....
\end{tabular}

Observa, una especificación de formato para cada columna.

Si quisiéramos que todas las celdas centrasen su contenido, repetiríamos simplemente el carácter c:

\begin{tabular}{cccc}
....
\end{tabular}

Para introducir los elementos de la tabla empezamos por la primera celda de la primera fila, yendo de columna en columna, separando cada elemento mediante el símbolo & e indicando el final de cada fila mediante una doble barra \\.

Por ejemplo, esta podría ser la primera fila en nuestra tabla de 2 x 4:

pepino & tomate & berenjena & rábano \\

Y estas las dos filas completas:

pepino & tomate & berenjena & rábano \\
manzana & naranja & fresa & pera \\

Dado que la segunda es la última fila, podríamos habernos ahorrado la doble barra final, aunque mantenerlas nos ayuda a mantener el código claro.

De modo que esta es nuestra tabla al completo:

\begin{tabular}{llcr}
pepino & tomate & berenjena & rábano \\
manzana & naranja & fresa & pera \\
\end{tabular}

latex-tablas-1

Aprecia la justificación que hemos definido en cada columna individual.

Si alguna celda no dispone de valor simplemente dejamos un blanco (o no escribimos nada) entre los & y & correspondientes:

\begin{tabular}{llcr}
pepino & tomate & & rábano \\
manzana & naranja & fresa & pera \\
\end{tabular}

latex-tablas-2

Si las que están en blanco son las últimas celdas de una fila, podemos ahorrarnos los separadores oportunos antes de la doble \\ final:

\begin{tabular}{llcr}
pepino & tomate  \\
manzana & naranja & fresa & pera \\
\end{tabular}

latex-tablas-3

Esto es todo lo que quería contarte hoy. Tienes a tu disposición una sencilla herramienta que puede resultarte muy útil a la hora de estructurar en tablas la información en un documento \LaTeX. Naturalmente, una vez aprendidos los rudimentos básicos, desearás ir más allá y hacer cosas como poner un marco al conjunto, por ejemplo. Veremos que es algo sumamente fácil, también.

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2014/06/latex-aproximacion-a-las-tablas/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

LaTeX – Más cajas de texto horizontales

Objetivo: presentar con más profundidad los comandos que permiten crear cajas horizontales en LaTeX.

En el artículo anterior introdujimos el modo LR y mostramos el comando mbox, que activaba ese modo para la creación de una sencilla caja horizontal. Hoy profundizaremos presentando unos comandos que nos permitirán unos diseños más avanzados.

Si recuerdas, mbox es un sastre que crea un traje perfectamente a medida, una caja adaptada rigusoramente al texto que se especifica como parámetro. Pero es un traje invisible: en el resultado final puede que ni siquiera seamos capaz de diferenciar la existencia de la caja. Y es que el comando mbox cumple su misión sin necesidad de llamar la atención.

Para hacer visible nuestra caja LR, LaTeX nos ofrece el comando fbox que, al igual que mbox, crea una contenedor del tamaño exacto del texto, pero con la particularidad de que aparecece encuadrado en un marco.

mascajaslatex-1

\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{parskip}

\begin{document}
Si eres músico, es importante que, de cuando en cuando, 
acudas al otorrinolaringólogo a revisar tu audición.

Si eres músico, es importante que, de cuando en cuando, 
acudas al \mbox{otorrinolaringólogo} a revisar tu audición.

Si eres músico, es importante que, de cuando en cuando, 
acudas al \fbox{otorrinolaringólogo} a revisar tu audición.
\end{document}

En el primer párrafo, la palabra otorrinolaringólogo está escrita con normalidad, sin caja, permitiendo a LaTeX dividirla, como sucede en el ejemplo, para una mejor presentación. En los párrafos segundo y tercero se enmarca con mbox y fbox, respectivamente, preservando su longitud total y evitando así su división.

Es posible también arreglar el traje y no cortarlo necesariamente a medida, sino a la longitud que queramos, aún pudiéndonos quedar paticortos o con los bajos arrastrando por el suelo.

El comando makebox es una variante de mbox que permite crear una caja de la anchura especificada, pudiendo indicar, además, el tipo de justificación que tendrá el texto dentro de ella:

\makebox[anchura][justificación]{texto}

Observa, por el corchete, que tanto anchura como justificación son opcionales.

En el parámetro anchura introducimos una medida de longitud (es importante no olvidar las unidades junto al valor numérico). En justificación podemos indicar l, r o c para expresar justificación izquierda (l), derecha (r) o centrado (c). El valor por omisión, si no se indica nada, es c, apareciendo el texto centrado en la caja.

Un ejemplo nos ayudará a entenderlo mejor:

mascajaslatex-2

\begin{document}
Ya no echan series como \mbox{La casa de la pradera}, 
es una verdadera lástima.

Ya no echan series como \makebox[6cm][c]{La casa de la pradera}, 
es una verdadera lástima.

Ya no echan series como \makebox[6cm][l]{La casa de la pradera}, 
es una verdadera lástima.

Ya no echan series como \makebox[6cm][r]{La casa de la pradera}, 
es una verdadera lástima.
\end{document}

El primer párrafo hace uso de mbox, ajustando la caja a la medida del texto. En los siguientes establecemos una anchura de 6 cm, observando su justificación centrada, izquierda o derecha.

La caja creada tiene anchura suficiente para acoger el texto que contiene, pero podría darse el caso de que no. Observa qué sucede si el traje se nos queda corto:

mascajaslatex-3

\begin{document}
Ya no echan series como \makebox[2cm][c]{La casa de la pradera}, 
es una verdadera lástima.

Ya no echan series como \makebox[2cm][l]{La casa de la pradera}, 
es una verdadera lástima.

Ya no echan series como \makebox[2cm][r]{La casa de la pradera}, 
es una verdadera lástima.
\end{document}

La caja tiene una anchura de 2cm, quepa o no quepa su contenido en ella. LaTeX la considera como si de un único carácter se tratase, escribiendo el siguiente justo a continuación de la caja, lo que explica la superposición de texto.

Naturalmente, al igual que sucedía con mbox, el comando makebox tiene su versión con marco: framebox.

mascajaslatex-4

\begin{document}
Ya no echan series como \framebox[6cm][c]{La casa de la pradera}, 
es una verdadera lástima.

Ya no echan series como \framebox[6cm][l]{La casa de la pradera}, 
es una verdadera lástima.

Ya no echan series como \framebox[6cm][r]{La casa de la pradera}, 
es una verdadera lástima.
\end{document}

Para finalizar, si eres un usuario de LaTeX inquieto debes saber qué hay dos longitudes que permiten controlar la estética de estas cajas. Puedes regular el ancho del marco con fboxrule y su separación del texto con fboxsep. Al igual que otras longitudes LaTeX, su valor se establece con el comando setlength, del que creo haber hablado ya en alguna que otra ocasión.

mascajaslatex-5

\begin{document}
\setlength{\fboxrule}{1mm}
\setlength{\fboxsep}{6mm}
Ya no echan series como \framebox[6cm][c]{La casa de la pradera}, 
es una verdadera lástima.

\setlength{\fboxrule}{4mm}
\setlength{\fboxsep}{6mm}
Ya no echan series como \framebox[6cm][l]{La casa de la pradera}, 
es una verdadera lástima.

\setlength{\fboxrule}{.1mm}
\setlength{\fboxsep}{0mm}
Ya no echan series como \framebox[6cm][r]{La casa de la pradera}, 
es una verdadera lástima.
\end{document}

Fíjate en el último ejemplo, con un parámetro de separación nulo (aunque sea cero es preceptivo el uso de unidades): el marco aparece ajustado al límite más alto y bajo de los caracteres contenidos (letras L y p).

A lo largo de los años que llevo trabajando con LaTeX nunca he dejado de aprender, se trate de un comando nativo o de uno englobado en un paquete que extiende su funcionalidad. Cuidadosamente, he ido construyendo mi propio manual de referencia con cada pieza que he ido encontrando en el camino. El universo LaTeX es casi inconmensurable y recomiendo encarecidamente que hagas lo mismo. Si las cajitas de este artículo no forman parte aún de tu repertorio de técnicas, toma buena nota de ellas.

Javier Montero Gabarró


LaTeX – Más cajas de texto horizontales


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

LaTeX – El modo LR y mbox

Objetivo: presentar el modo LR de LaTeX y el comando mbox para la creación de cajas horizontales.

\LaTeX presenta diferentes modos de operación. Ya conocemos algunos: el modo normal y el matemático.

El modo normal, también conocido como modo párrafo, es el que típicamente utilizamos en nuestros escritos en \LaTeX. La unidad de diseño es el párrafo, regulando los saltos de línea y la presentacíón entre palabras persiguiendo la mejor presentación del bloque. Recordemos que el final de un párrafo se indica mediante una línea en blanco (líneas adicionales no son tenidas en cuenta). El comando par cumple la misma función.

El modo matemático lo utilizamos para la inserción de expresiones matemáticas, como las fórmulas o las ecuaciones. Cuando estamos en él suceden cosas diferentes propias al contexto en el que nos movemos. No hay espacios en blanco, no existen palabras sino que estas se descomponen en sus letras individuales, que ahora se consideran símbolos algebraicos. Como ya sabemos, entramos en el modo matemático con \( o \[ y lo abandonamos con los respectivos \) y \]. Existen también diferentes entornos para esta función.

Pero existe un modo diferente, utilizado también para la inserción de texto, en el que, en oposición al modo vertical normal, sólo hay horizontalidad, escritura de texto de izquierda a derecha que no se partirá verticalmente en líneas. Es el modo LR (Left, Right).

Hay comandos específicos que activan el modo LR y hoy veremos uno de ellos: mbox.

El comando mbox crea una caja con texto en modo LR del tamaño exacto para contener ese texto.

El concepto de caja es esencial porque, para \LaTeX, todo son cajas. Desde cada letra individual, que luego aglutina en estructuras mayores que son las palabras, pasando por las figuras, tablas, ecuaciones, o los mismos párrafos, todo son cajas. Cajas que pueden contener a su vez otras cajas y que luego serán pegadas adecuadamente para su presentación final.

Con el comando mbox creamos una caja horizontal, sin marco, que contiene el texto que hemos facilitado como argumento. La particularidad de esta caja, al estar su contenido en modo LR, es que desconoce lo que es un cambio de línea.

En la presentación final, al no destacar la caja con ningún marco, puede que pase desapercibida al pegarse, como si de un único carácter se tratase, al resto del texto normal.

O puede que no… Observa el resultado del siguiente código al introducir en mbox un texto que excede la anchura del documento:

\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{parskip}

\begin{document}
Esta es una caja horizontal muy larga: \mbox{En un lugar de La Mancha, 
de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía...}. 
El resultado es desastroso.
\end{document}

mbox-1

He capturado la página en pequeño, pero se aprecia como el texto no cabe y se pierde pasado el borde derecho.

Hay que ser muy cuidadoso en esto al utilizar mbox, desde luego. Entonces, ¿qué utilidad práctica nos ofrece este comando?

Puede emplearse, por ejemplo, dentro del modo matemático para introducir una caja horizontal de texto. No obstante, en determinados contextos el resultado no sería el deseado. Como veremos en otro artículo, el paquete amsmath proporciona formas más elegantes para tratar con matemáticas y texto.

Un uso muy común del comando mbox es para prevenir que una palabra sea dividida en un cambio de línea.

Observa el siguiente código y su resultado:

\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{parskip}

\begin{document}
Si eres músico, es importante que, de cuando en cuando, 
acudas al otorrinolaringólogo a revisar tu audición.

Si eres músico, es importante que, de cuando en cuando, 
acudas al \mbox{otorrinolaringólogo} a revisar tu audición.
\end{document}

mbox-2

En la primera frase, \LaTeX, inteligentemente, divide la palabra otorrinolaringólogo, optimizando la presentación del párrafo. En la segunda, al incluir la palabra en una caja horizontal, evitamos su partición. Naturalmente, deberíamos tener un motivo que justifique esta decisión, algo que quizás no se aprecie en el ejemplo elegido.

En el siguiente artículo presentaremos otros comandos para crear cajas más sofisticadas que con mbox. Entre tanto, guárdate muy bien este en tu gran cajón de herramientas \LaTeX. Ocupa poco lugar, como un solo carácter.

Javier Montero Gabarró


LaTeX – El modo LR y mbox


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

Ajedrez y LaTeX: Inserción de variantes

Objetivo: aprender a insertar variantes al anotar una partida de ajedrez en LaTeX.

Con el comando \mainline del paquete skak aprendimos a anotar una partida de ajedrez en \LaTeX. Sin embargo, la transcripción era lineal, indicando cada jugada consecutivamente de principio a fin.

Para poder insertar variantes disponemos de otro comando: \variation

Ilustraremos su uso transcribiendo una pequeña miniatura del siglo XVIII jugada por François Antoine Legal, uno de los mejores jugadores de su época. El remate final que se ilustra en esta partida fue bautizado posteriormente como Mate de Legal, en honor a su brillante ejecutor.

Esta es una muestra del PDF que obtendremos. El código aparecerá a continuación:

legal-2

No están del todo claros ni la fecha, ni el nombre del rival de Legal, ni las jugadas exactas que condujeron a este remate final que debe formar parte del bagaje táctico de todo principiante. Es una celada típica que puede darse en determinadas variantes de algunas aperturas abiertas.

Siempre me ha llamado la atención, al reproducir partidas de la era romántica, la suerte de código de honor no explícito que hasta cierto punto obligaba a aceptar cualquier sacrificio de pieza en virtud de la belleza de la creación final. El jaque en f7 y el posterior mate en d5 resultaban evidentes a poco nivel que tuviera el jugador que conducía las negras. Desde luego, pese a ser en ese momento el mejor jugador de Francia (y probablemente del mundo entero) pocos recordarían hoy día a Legal si su contrario no hubiese tomado esa dama.

Este es el código \LaTeX original:

\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{parskip}
\usepackage{skak}  

\begin{document}
\textbf{Blancas:} Legal

\textbf{Negras:} Saint-Brie

\textit{París, 1750}
\\

\newgame
\mainline{1. e4 e5 2. Nf3 d6}

La defensa de Philidor que, curiosamente, fue alumno de Legal.

\mainline{3. Bc4 Bg4 4. Nc3 g6}

Esta jugada pierde un peón. Lo propio era haber desarrollado 
el caballo, \variation{4...Nf6}.

\mainline{5. Nxe5 Bxd1??}

Pero esta otra decide inmediatamente el resultado. Era necesario
contener esa voracidad fatídica tomando simplemente el caballo y
aceptando con humildad la pérdida del peón: \variation{5... dxe5 6. Qxg4}.

\mainline{6. Bxf7+ Ke7 7. Nd5#}

\showboard

\end{document}

Presta mucha atención a los comandos ajedrecísticos, particularmente a \variation, con el que hemos introducido las anotaciones en los comentarios.

Fiel al espíritu de \LaTeX: limítate a indicar qué deseas hacer, recurriendo a comandos semánticos, y deja que \LaTeX y sus compinches se ocupen de las consideraciones de diseño.

Javier Montero Gabarró


Ajedrez y LaTeX: Inserción de variantes


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

LaTeX – Midnight Blue

Objetivo: aprender a escribir en color en LaTeX.

Recordando los dibujos animados de Walt Disney en mi infancia, bienvenido al mágico mundo de color en \LaTeX. Si bien es cierto que un purista jamás te recomendará que escribas texto en color, lo cierto es que se trata de un recurso expresivo más. Tú eres el artista y compositor, así que tú mismo decides.

\LaTeX no fue diseñado para lidiar con la escritura en color, de modo que si queremos hacerlo tendremos que recurrir, como hemos hecho en otras ocasiones, a paquetes que extiendan su funcionalidad.

Para un uso básico del color disponemos del paquete color:

\usepackage{color}

Existe una extensión, denominada xcolor, que amplia con creces lo que color ofrece. No obstante, para el propósito introductorio de este artículo, he preferido centrarme en las funciones básicas y rendir pleitesía al desarrollo original.

Podemos definir nuestros propios esquemas de color de acuerdo a nuestros gustos. No lo haremos aquí, sino que accederemos a colores prefijados que referenciaremos por su nombre.

Para escribir texto en color, al igual que cuando modificábamos otros atributos (negrita, cursiva, etc…) disponemos de dos posibilidades:

a) el modo comando, con \textcolor:

\textcolor{red}{La casa de la pradera}

Observa la presencia de dos argumentos obligatorios: el nombre del color y el texto que se verá afectado.

b) el modo declaración, con \color:

En una declaración activamos un color y su vigencia permanecerá hasta que, o bien conmutemos a otro color,

\color{green}La casa de la pradera, \color{black} una serie como pocas.

o bien concluya el grupo en el que está incluido. Recuerda que los grupos se delimitan mediante pares de llaves.

Marcó a toda una generación: {\color{green}la casa de la 
pradera,} una serie como pocas.

Menos frecuente es la necesidad de cambiar el color de fondo de la página. Para hacerlo, disponemos de la declaración \pagecolor:

\pagecolor{yellow}

Lo que hará que se establezca un fondo amarillo en la página en la que se encuentra el comando y en todas las sucesivas hasta que se conmute de color.

Si la paleta de ocho colores básicos te resulta pequeña, siempre podemos ampliarla invocando al paquete color del siguiente modo:

\usepackage[usenames, dvipsnames]{color}

Lo que nos dará acceso a un abanico exótico de 68 colores. Sé cuidadoso y respeta las mayúsculas y minúsculas al utilizar estos nombres.

I see the lonely road that leads so far away,\\
I see the distant lights that left behind the day\\
But what I see is so much more than I can say\\
And I see you in \textcolor{MidnightBlue}{midnight blue}.

\emph{Electric Light Orchestra}

LaTeX-MidnightBlue

Evocando, a modo de sinestesia, mi emoción, mi color y mi canción favorita, la estremecedora, fría pero esperanzadora Midnight Blue.

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2013/06/latex-midnight-blue/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

Inserción de documentos PDF en LaTeX

Objetivo: aprender a insertar documentos PDF en nuestros ficheros creados en \LaTeX.

Con frecuencia puede resultarnos conveniente la posibilidad de insertar otros ficheros externos en la estructura de un documento que creemos empleando \LaTeX. El formato de salida más frecuéntemente elegido a la hora de compilar un fichero .tex es PDF, de modo que parece natural que \LaTeX pueda trabajar sin excesiva dificultad con otros ficheros creados en ese formato.

Para poder agregar otros archivos PDF a nuestro documento necesitamos hacer uso del paquete pdfpages:

\usepackage{pdfpages}

Esa es la magia de \LaTeX que una y otra vez me fascina: su capacidad para realizar tareas sorprendentes ampliando su funcionalidad mediante el uso de paquetes.

Los PDF que insertemos no tienen que ser necesariamente generados en \LaTeX; todos sirven.

En el punto del documento en el que deseemos que se realice la inserción utilizamos el comando:

\includepdf[pages=inicial-final]{nombre_del_documento}

Si el punto de inserción está en mitad de una página, \LaTeX forzará un salto de página llegado ese punto para que el PDF se agregue al comienzo de una nueva.

Observa que el primer parámetro es opcional (escrito entre corchetes). Si lo omites sólo se agregará la primera página del PDF.

El rango de páginas se indica mediante dos cifras separadas por un guión.

Por ejemplo:

[pages=3-7] Agrega sólo las páginas comprendidas entre la 3 y 7, ambas incluidas.

Si no especificamos un valor inicial \LaTeX asumirá que quieres insertar desde el principio:

[pages=-10] Agrega desde el comienzo hasta la página 10.

Del mismo modo, si no indicamos un valor final sobreentederá que es hasta el final del documento:

[pages=5-] Agrega desde la página 5 hasta la última.

Si queremos que se inserte el documento completo, omitimos los valores inicial y final, pero aún así debemos incluir el guión:

[pages=-] Agrega el documento completo, de principio a fin.

El parámetro obligatorio, el nombre del fichero, se indica entre llaves. Puedes omitir, si lo deseas, la extensión, pues se da por supuesto que estamos lidiando con PDFs.

Eso sí, si el PDF no está en el mismo directorio que el .tex asegúrate de incluir también la ruta (absoluta o relativa). Presta mucha atención y, aunque estés trabajando en una máquina Windows, usa como separador de directorio la barra al estilo Unix, /, y no \, pues esta última es un símbolo reservado de \LaTeX (el indicador de comando).

Veamos algunos ejemplos:

\includepdf{comparativa}

Agrega la primera página del fichero comparativa.pdf.

\includepdf[pages=25-27]{comparativa}

Inserta las páginas 25, 26 y 27 del fichero comparativa.pdf.

\includepdf[pages=-]{running/clasificacion}

Inserta la totalidad del documento clasificacion.pdf, almacenado en el directorio running, presente en la misma carpeta que el fichero .tex.

He esbozado aquí un uso básico de pdfpages, aunque, por lo general, suficiente en la mayor parte de las ocasiones. No obstante, hay muchas más cosas que el paquete puede hacer y te invito a consultar su documentación si deseas conocerlas.

Incluye pdfpages en tu kit de recursos. Disfruta de su potencia y eleva a un nuevo nivel la calidad de los documentos que generes en \LaTeX.

Javier Montero Gabarró


Inserción de documentos PDF en LaTeX


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

Ajedrez y LaTeX: Anotación de una partida

Objetivo: utilización del paquete skak para anotar una partida de ajedrez en LaTeX.

En el anterior artículo de esta serie introdujimos el paquete skak como herramienta para la generación de textos relacionados con el ajedrez en LaTeX y aprendimos a dibujar un sencillo tablero y a colocar las piezas sobre él en su posición original. Hoy moveremos pieza y realizaremos la transcripción de una partida completa.

He elegido como ejemplo un clásico que, sin duda, todo ajedrecista conocerá y que para mí tiene un significado especial, pues es la primera partida que tengo conciencia de haber reproducido de un libro que teníamos en mi casa cuando yo era muy pequeño. El primero de una colección de más de un centenar de libros de ajedrez que le seguirían después.

Lamentablemente, en algún momento debí de perderle el rastro. No sé si se quedó en casa de mis padres o lo cogió mi hermano tras el reparto de libros que hicimos cuando, con nuestras oposiciones recién aprobadas, tuvimos que abandonar el hogar y separarnos más de mil kilómetros el uno del otro para ganarnos la vida.

Pero recuerdo que aquel libro me ayudó a dar mis primeros pasos ajedrecísticos. Con él aprendí a realizar los mates sencillos, las aperturas básicas… Entre la colección de partidas de ejemplo figuraba una especialmente bella y que quedó marcada para siempre en mi memoria.

Me refiero a la mítica partida celebrada en 1858 en París, durante una representación de “El barbero de Sevilla”, entre Paul Morphy y dos aficionados locales en consulta, el Dunque de Brunswick y el Conde Isouard.

El paquete skak nos ofrece el comando \mainline para la introducción de la línea principal de la partida. Su nombre nos sugiere la existencia de otro comando específico para la introducción de variantes del que nos ocuparemos próximamente.

Facilitamos, entre llaves, las jugadas de la partida escritas en notación algebraica corta (el libro, naturalmente, empleaba la notación descriptiva; tardamos muchos años en hacer obligatorio en España el sistema algebraico en las competiciones).

Es importante tener en cuenta que las piezas deben ser indicadas en terminología inglesa. Esto es:

K – Rey (King)
Q – Dama (Queen)
R – Torre (Rook)
N – Caballo (Knight)
B – Alfil (Bishop)

Más adelante veremos cómo personalizar la entrada para nuestro idioma.

Por la salida no debemos preocuparnos, pues skak adopta la representación universal basada en figurines popularizada por el Informator.

Que comience el espectáculo:

\mainline{1. e4 e5 2. Nf3 d6}

Asegúrate de que tras el número de cada jugada haya siempre un punto (aunque luego no aparecerá en la salida), de lo contrario no te compilará el código.

Cierra las llaves en el momento que quieras para introducir comentarios o para representar un diagrama con la posición actual empleando \showboard.

\newgame
\mainline{1. e4 e5 2.  Nf3 d6} 

\showboard

La  Defensa Philidor, muy popular en la época.

morphy

Este es el código completo, incluido el preámbulo, de la transcripción de la partida. Observa como, tras cada interrupción, continuamos la línea principal con sucesivos comandos \mainline.

\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{parskip}
\usepackage{skak}  

\begin{document}

\textbf{Blancas:} Morphy

\textbf{Negras:} Duque de Brunswick y Conde Isouard

\textit{Paris, 1858}

\newgame
\mainline{1. e4 e5 2. Nf3 d6} 

\showboard

La  Defensa Philidor, muy popular en la época.

\mainline{3. d4 Bg4 4.dxe5 Bxf3 5.Qxf3 dxe5 6.Bc4 Nf6 7.Qb3 Qe7 8.Nc3 c6 9.Bg5 b5}

\showboard

\mainline{10.Nxb5 cxb5 11.Bxb5+ Nbd7 12. O-O-O}

\showboard

\mainline{12... Rd8 13. Rxd7  Rxd7 14. Rd1 Qe6 15. Bxd7+ Nxd7 16. Qb8+ Nxb8 17. Rd8#}

\showboard

Un elegante remate.

\end{document}

Presta atención a cómo hemos continuado la partida tras la jugada 12 del blanco. Observa también el uso de la O mayúscula en vez del cero para el enroque, así como el símbolo # para el jaque mate.

morphy-2

morphy-3

Partidas como esta pueden causar profunda impresión en quien empieza a interesarse por el ajedrez. Poco después llegarían la “Siempreviva” y la “Inmortal”, ambas producto del genio combinativo de Anderssen. Una ventana a un mundo mágico se descubría ante mí.

Javier Montero Gabarró


Ajedrez y LaTeX: Anotación de una partida


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

LaTeX: Sumatorio y Productorio

Objetivo: aprender a generar los símbolos Sumatorio y Productorio con sus respectivos límites superior e inferior.

No hay símbología que se le resista a \LaTeX. Esta afirmación, que alguien podría discutir como tal vez algo exagerada, es absolutamente rotunda en el ámbito matemático, razón primigenia de la existencia de este sistema de preparación documental.

Escribir el símbolo de sumatorio es sumamente sencillo con el comando \sum

\[
\sum
\]

sumatorio-1

Para decorarlo con sus correspondientes límites superior e inferior recurrimos a la notación de subíndice y superíndice, de común aplicación en el modo matemático de \LaTeX, del mismo modo que hicimos cuando tratamos la integral definida.

Así pues, introducimos el límite inferior, como si de un subíndice se tratara, empleando el símbolo de subrayado (guión bajo, _). Para indicar el límite superior utilizamos la caperuza (el caret, ^).

\[
\sum_{i=1}^{3}x_{i}=x_{1}+x_{2}+x_{3} 
\]

sumatorio-2

Todo lo explicado para el sumatorio es igualmente aplicable al productorio, que obtenemos a través del comando \prod

\[
\prod_{i=1}^{3}x_{i}=x_{1}\cdot x_{2}\cdot x_{3} 
\]

sumatorio-3

Típicamente utilizarás como límite superior infinito. Lo obtienes simplemente con el comando \infty, que ya presentamos al tratar el límite de funciones y sucesiones.

\[
\sum_{i=0}^{\infty}x^{i}=1+x+x^{2}+x^{3}+\ldots = 
\frac{1}{1-x}\qquad \left( \left| x \right| <1 \right)
\]

sumatorio-4

Por lo general, los subíndices y superíndices se tragan lo que les eches, sin importarles si lo que escribes tiene el mínimo sentido matemático:

\[
\sum_{i=1}^{\skull}x_{i}=x_{1}+ x_{2}+\ldots + x_{\skull} 
\]

sumatorio-5

conocida como Ley Carpe diem de Pradery.

Esta graciosa calavera la hemos representado con el comando \skull, disponible en el paquete del mismo nombre.

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2013/03/latex-sumatorio-y-productorio/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.