viernes, 20 de marzo de 2009

HAL y las marcas (LaTeX - I)

En los artículos anteriores de esta sección hemos entrado en contacto con la noción de marcar un texto y hemos experimentado con el lenguaje de marcas más ampliamente usado y probablemente más conocido, HTML, uno de los pilares de la Internet actual. Es un buen punto de partida, dada su simplicidad y omnipresencia. Pero hay unos cuantos lenguajes de marcas más ahí dentro y hay expertos en las fábricas de HAL cuya pericia indiscutible ha resistido la prueba de los años.

En los próximos artículos conoceremos al que tal vez sea el más conspicuo de estos sistemas. Se trata de LaTeX, de ese mismo LaTeX que tan merecidos elogios viene recibido desde su nacimiento por parte de tipógrafos y diseñadores profesionales y del que nosotros, simples escritores legos en la materia, vamos a poder disfrutar con muy poco esfuerzo.

De la "filosofía" y el sentido de LaTeX hemos hablado ya en varias ocasiones (por ejemplo, en el primer artículo de este TeXemplar). No viene, pues, al caso repetir más de la cuenta lo dicho tantas veces. El lector podrá encontrar información básica en castellano, y enlaces seleccionados a textos introductorios públicamente accesibles, en la sección de manuales de la web de CervanTeX, el grupo de usuarios hispanohablantes de TeX.

Sigamos, pues, un procedimiento semejante al que aplicamos con HTML. Empezaremos viendo cuáles son las marcas de LaTeX equivalentes a aquéllas informales con que etiquetamos nuestro texto:

INICIO TÍTULO SECCIÓN:
\section{

FIN TÍTULO SECCIÓN
}

INICIO SECCIÓN
[No necesario]

FIN SECCIÓN
[No necesario]

INICIO PÁRRAFO
[No necesario]

FIN PÁRRAFO
Línea en blanco

INICIO LISTA NUMERADA
\begin{enumerate}

FIN LISTA NUMERADA
\end{enumerate}

INICIO ELEMENTO LISTA
item¶ [donde '¶' es un espacio en blanco]

FIN ELEMENTO LISTA
[No necesario]

INICIO NOMBRE PROGRAMA
[Depende del paquete LaTeX usado o de la marca personal creada]

FIN NOMBRE PROGRAMA
[Depende del paquete LaTeX usado o de la marca personal creada]

INICIO OPCIÓN
[Depende del paquete LaTeX usado o de la marca personal creada]

FIN OPCIÓN
[Depende del paquete LaTeX usado o de la marca personal creada]

INICIO ORDEN
[Depende del paquete LaTeX usado o de la marca personal creada]

FIN ORDEN
[Depende del paquete LaTeX usado o de la marca personal creada]


La diferencia de las marcas de LaTeX con las de HTML es evidente. La sintaxis de LaTeX es más irregular, pero, a la vez, bastante menos prolija, lo que implica que marcar textos con LaTeX es mucho más fácil que hacerlo con HTML, una vez conocidas las marcas adecuadas.

Echemos un vistazo al primer párrafo de nuestro texto tal como quedaría tras sustituir nuestras marcas informales con las de LaTeX (se omiten las marcas correspondientes a nombres de programas, opciones y órdenes, que se explicarán más adelante):

\section{Navegación gráfica}
Si hubiésemos estado visitando la página con un buen navegador gráfico que disponga de la opción de guardar las páginas web como texto, tendríamos que realizar al menos dos acciones, ambas independientes:

\begin{enumerate}
\item Ir al menú <<Archivo>> del navegador y guardar como texto la página web. (Lo que además implica seleccionar un nombre de fichero y un directorio).
\item Crear en Vim una nueva ventana para editar en ella el documento que acabamos de guardar, mediante la orden :new ruta\_fichero.
\end{enumerate}

Describir la razón de la sintaxis de LaTeX rebasa el nivel introductorio de estos artículos. La mayoría de la gente que utiliza LaTeX la aprende sin mayor cuestionamiento, y es realmente fácil de aprender, si nos atenemos a su uso básico, que es válido para el 99% de los casos habituales. Así que no comentaremos nada más que lo evidente. Y lo evidente salta a la vista.

Todas las marcas tienen en común el ir precedidas por el carácter de barra invertida '\'. Los dos tipos de marcas más frecuentes son:

\estructura{texto marcado}
Un texto se define por la estructura lógica o textual que le conviene. Por ejemplo, \section{texto} define el texto englobado como título de una sección. (Nota: lo que hay tras el título de sección hasta una nueva \section{...}, o hasta el comienzo de una estructura de más alto nivel como \chapter{...} o hasta el final del documento, se considera parte de la sección iniciada por el título anterior. Es por esta razón por la que no es necesario indicar expresamente donde comienza o termina el contenido propiamente dicho de la sección).

\begin{entorno}texto\end{entorno}
Un texto puede considerarse un bloque relativamente independiente, textualmente hablando, de lo que le rodea. Un entorno aisla ese texto y lo identifica como perteneciente a una categoría estructural o textual especial. Por ejemplo, \begin{enumerate}texto\end{enumerate} caracteriza el texto englobado como una lista ordenada.


Por su parte la marca \item texto identifica el texto como un elemento de una lista. Se trata de un caso de marca especial para elementos de cualquier lista, donde no se consideran necesarias las llaves delimitadoras. Sería, en efecto, bastante molesto tener que escribir \item{texto} cuando el texto fuera de cierta longitud.

Una marca particularmente significativa es la que corresponde al fin de párrafo, la línea en blanco. Mientras que en HTML las líneas en blanco no existen para el navegador que interpretará el documento, en LaTeX las líneas en blanco tienen un significado fundamental, separan párrafos. Así, en nuestro ejemplo, el primer párrafo se separa del segundo, en este caso de una lista, gracias a la línea en blanco (Nótese que la lista puede constituir un párrafo por sí sola, como en nuestro caso, o formar parte de un párrafo existente. El escritor es quien decide, aunque la diferencia, en nuestro caso concreto, resultará prácticamente inapreciable). Utilizar la línea en blanco para delimitar párrafos es, contra lo que parece, una ventaja que LaTeX proporciona al escritor. Nunca el escritor tuvo que explicitar dónde había una separación de párrafos, le bastaba con introducir una línea en blanco para que todos lo entendiésemos. Disponer de una marca específica para párrafos sólo es necesario con lenguajes de marcas altamente formalizados como HTML. LaTeX, aunque menos riguroso en su forma, es más afín en esto a la práctica habitual de la escritura [Ver, además, mi primer comentario a este artículo].

El lector atento habrá observado que hemos coloreado de azul los signos '<<' y '>>' de comillas angulares y los signos '\_'. En el texto original las comillas aparecían como dobles comillas (") y el guión bajo no venía precedido por la barra. ¿Por qué hemos tenido que cambiarlos? La razón es diferente en cada caso.

Las comillas angulares son las comillas ortotipográficamente correctas en español y LaTeX es muy pulcro con la ortotipografía. No aceptará así como así las dobles comillas. LaTeX nos obliga, pues, a escribir buen español: una ventaja añadida).

Un caso diferente es el del guión bajo. Resulta que este guión tiene un significado especial en LaTeX. Como de costumbre, cuando queremos introducir literalmente un carácter especial debemos encontrar un modo de "escaparlo". Por suerte, el carácter de escape es aquí el de siempre, la barra invertida. Lo mismo vale para estos otros caracteres especiales ('#', '$', '%', '&', '{' y '}'), que también deben escaparse, si se quieren introducir literalmente, con la barra invertida. [Los otros tres caracteres especiales, que raramente escribirá el lector no informático, ('^', '\' y '~') se escapan, respectivamente, con \textasciicircum, \textbackslash y \textasciitilde].


Resumen:

  • LaTeX es un lenguaje de marcas especialmente indicado cuando lo que se desea es producir un documento de calidad profesional destinado a ser impreso.

  • Muchas editoriales científicas, y no científicas, de prestigio utilizan LaTeX como sistema de preparación de sus ediciones.

  • Las marcas de LaTeX empiezan con el carácter '\'.

  • La sintaxis de LaTeX es más irregular que la de otros lenguajes de marcas como HTML. A cambio, suele ser más amigable y menos prolija.

  • La línea en blanco separa párrafos en LaTeX.

  • La forma correcta de entrecomillar en español son las comillas angulares. LaTeX requiere de este tipo de comillas, cuando el texto está en español.

  • Hay que cuidar de no introducir literalmente caracteres especiales de LaTeX sin "escaparlos".

3 comentarios:

  1. La línea en blanco no es la única marca de LaTeX para definir el límite de un párrafo. Existe también la marca \par al comienzo de un párrafo. Esta marca no suele emplearse más que para fines especiales, como la construcción de marcas personales.

    ResponderEliminar
  2. Acabo de empezar con latex y me ha sido muy pero que muy útil tu introducción. Me había atascado con el error en el guión bajo "_", y tu post me acaba de sacar del atolladero. Gracias miles!

    ResponderEliminar
  3. Saber qué caracteres escapar es crucial en cualquier lenguaje de marcas como LaTeX y también en la mayoría de los lenguajes de programación. Es algo en lo que no se suele insistir lo suficiente. Se supone que es trivial, y lo es. Pero, a medida que añadimos lenguas artificiales a nuestra repertorio, se va haciendo cada vez más difícil recordar los caracteres especiales de cada una de ellos (y las secuencias de escape, cuando no son comunes). Siempre conviene tener presente que un error de interpretación por parte de la máquina puede derivar de un carácter especial que no fue adecuadamente "escapado". Olvidar escapar un carácter especial es fácil ---yo lo olvido continuamente ;-) ---. Por eso es lo primero que hay que verificar.

    Me alegro de que mi indicación te haya sacado del apuro.

    ResponderEliminar