La Gaceta de Linux...¡haciendo de Linux algo un poco más divertido!"


Escribir Documentaciones, Parte II: LaTeX con latex2html

Por Christoph Spiel

Traducción al español por Pablo Martínez Schroder
el día 14 de Marzo 2003, para La Gaceta de Linux


LaTeX

Permíteme que antes defina qué es LaTeX y cuales son sus objetivos principales. LaTeX es un enorme añadido para el sistema de formateado tipográfico TeX desarrollado por el prof. Donald E. Knuth. Si no somos demasiado "tiquismiquis", cuando decimos "Sistema LaTeX" o "LaTeX" queremos decir "TeX con todas las macros de LaTeX". LaTeX fue escrito por Leslie Lamport, que veía TeX como una herramienta muy potente pero demasiado difícil para el uso diario. Por ello contruyó LaTeX inspirandose en el sistema Scribe. Scribe ponía su énfasis en la estructura lógica de un documento en vez de en el formato físico. (Aquellos lectores acostumbrados a HTML lo entenderán comparnado la marca <em> que es un tag lógico frente a  <i> que es el equivalente en marcado físico.

LaTeX -- como TeX -- permite a un usuario normal de ordenador formatear documentos con una calidad de producción. Se intentó que un autor de LaTeX escriba artículos e incluso libros en su propio ordenador, después vaya a la imprenta con un diskette y obtenga el documento impreso en una impresora fotomecánica de alta resolución, y finalmente tener un libro (... enviar el libro a todas las librerías del cuadrante Alfa, obtener millones de la venta y 2 años después ganar el premio Pulitzer Intergaláctico. -- De acuerdo, esto es un poquito exagerado).

En las próximas secciones haré una breve introcción a LaTeX, pero me gustaría recomendar la "No Tan Corta Introducción a LaTeX" (Not So Short Introduction to LaTeX en el original) a todo aquel que quiera aprender LaTeX. El documento está disponible para descargar en la red. Busca en "Otras Lecturas" para más detalles.

LaTeX está instalado en la mayoría de las distribución Linux actuales. Puedes comprobar si está disponible en tu máquina tecleando

    latex --version

en la línea de comandos. Mi sistema responde con

    TeX (Web2C 7.3.1) 3.14159
    kpathsea version 3.3.1
    Copyright (C) 1999 D.E. Knuth.
    Kpathsea is copyright (C) 1999 Free Software Foundation, Inc.
    There is NO warranty.  Redistribution of this software is
    covered by the terms of both the TeX copyright and
    the GNU General Public License.
    For more information about these matters, see the files
    named COPYING and the TeX source.
    Primary author of TeX: D.E. Knuth.
    Kpathsea written by Karl Berry and others.

Una visión a la estructura del documento

A continuación muestro un ejemplo muy corto pero completo de un documento LaTeX:

    \documentclass{article}
    % preámbulo
    \pagestyle{empty}
    \begin{document}
    % cuerpo
    Aquí viene el texto
    \end{document}

Cada documento LaTeX consiste en un preámbulo y en un cuerpo. El preámbulo va desde la definición del tipo de documento, \documentclass[options]{class}, hasta (sin incluirlo) \begin{document}. El cuerpo es todo lo que va desde \begin{document} hasta \end{document}.

El preámbulo del ejemplo tan sólo incluye un comando, \pagestyle{empty}, que le ordena a LaTeX que ignore toda las decoraciones de la página como cabeceras o número de páginas. Los signos de porcentaje sirven para introducir comentarios, hasta el final de la línea.

Sintáxis

Párrafos
Los parráfos están separados por una o más líenas en blanco. El número de líneas en blanco no influye en la salida; una línea es suficiente. Lo mismo ocurre con los espacios (que sirven para separar palabras ¿no lo sabías?): cien espacios generan la misma salida que uno sólo. Los cambios de línea y los tabuladores también se cuentan como si fueran espacios.

Si aplicamos estas sencillas reglas en las 3 diferencias versiones de los 2 párrafos de abajo, veremos que se formatearán de la misma forma. He añadido algunos números de línea al principio de cada uno para señalar las líneas vacias que separan los párrafos. Los números no forman parte del texto.

Versión A
    1    Soy una frase corta en el primer párrafo.
    2
    3    Soy la única frase del segundo párrafo.
Versión B
    1    Soy una frase corta
    2    en el primer párrafo.
    3
    4    Soy la
    5    única frase
    6    del segundo
    7    párrafo.
Versión C
    1    Soy  una     frase   corta   en  el     primer       párrafo.
    2
    3
    4    Soy la única 
    5        frase del
    6            segundo párrafo.
Carácteres especiales
La mayoría de carácteres no alfanuméricos tienen un significado especial para LaTeX. Esta es una de las funcionalidades que horroriza a los principiantes. De todas formas, después de un tiempo utilizando LaTeX el usuario comprenderá el comportamiento particular de cada carácter.

He recogido los carácteres especiales más importantes además de como insertarlos en un texto.

\
Sirve para introducir un comando, como "\dots" o "\/".

Advertir que "\\" no inserta una barra invertida en el texto como muchos programadores de C pensarían. la secuencia "\\" inserta un salto de línea, para introeducir una barra invertida tendremos que teclear "$\backslash$". Para complicar más las cosas, "" -- una barra invertida seguida de espacio -- ¡también es un comando! Lo que hace este último comando es insertar un espacio de control, un espacio (más precisamente: exactamente 1 espacio) que nunca será eliminado como los espacios normales, como se explica en la sección "Párrafos".

{}
Agrupa parámetros.

Si necesitas represntar las llaves, tan sólo tienes que hacerlo predecer con la barra invertida como en "\{"" and "\}".

%
Sirve para comenzar un comentario que llega hasta el final de la línea.

Los comentarios llegan hasta el final de línea, incluyendo el carácter de salto de línea. De esta forma los comentarios en LaTeX se distinguen de otros comentarios de una sóla línea en los lenguajes de programación, ya que los lenguajes de programación no incluyen el salto de línea en el comentario. Para el usuario esto significa que puede crear una nueva línea terminando com un comentario.

    Hessenberg-%
    Triangular % <- Observad el espacio justo después del signo %
    Reduction

equivale a

    Hessenberg-Triangular Reduction

Si queremos representar el signo de porcentaje usaremos "\%".

~
Inserta un espacio irrompible, en vez de "&nbsp;" in HTML.
$math$
Cambia al modo matemático y vuelta.

La secuencia math inserta el formateo en modo matemático. Si quieres obtener un signo dolar, escápalo usando "\$".

La siguiente tabla resume todos los carácteres ASCII que son tratados de una forma especial por LaTeX. La columna de la derecha muestra una o más de las equivalencias para conseguir insertar el carácter ASCII en el texto. Como puede adivinarse al ver las entradas para el acento circunflejo (^) y el virgulilla (~) \charnumero_de_código inserta el carácter ASCII con el número  numero_de_código en el documento.

Carácteres ASCII con un significado especial para LaTeX. La columna de la derecha contienen las caderans (en LaTeX) que producen los carácteres ASCII de la columna de enmedio.
Nombre ASCII LaTeX
almohadilla # \#
dólar $ \$
porcentaje % \%
ampersand & \&
asterisco * * or $*$
signo menos, guión medio - $-$
menor que < $<$
mayor que > $>$
barra invertida \ $\backslash$
acento circunflejo, gorrito ^ \char94
subrayado, guión bajo _ \_
llaves {, } \{, \}
barra vertical | $|$
virgulilla ~ \char126
Comandos
Los comandos LaTeX suelen comenzar con la barra invertida "\" y o llegan hasta el siguiente carácter que no sea una letra (tipo 1) o consisten en un sólo carácter no alfanúmerico (tipo 2). Así que "\raggedleft" y "\makebox" son comandos del tipo 1 mientras que "\\" y "\"" son comandos del tipo 2. Los parámetros se pasan a los comandos entre llaves "{", "}". Si los parámetros están vacios pueden omitirse.

Ejemplos:

    \raggedleft{}                      % Sin argumentos
    \raggedleft                        % Igual que arriba
    \makebox{Text inside of a box.}    % Un sólo argumento
    \parbox{160pt}{This text is
    typeset inside of a box.}          % Dos argumentos

El número de parámetros que se le pasa a un comando está predefinido para cada comando. Sin embargo, algunso comando aceptan parámetros opcionales. Estos se colocan entre corchetes ("[", "]") y por lo general preceden a los parámetros de la misma forma que las opciones preceden a los argumentos en la mayoría de los programas UN*X.

Ejemplo:

    \parbox[t]{10cm}{Soy un párrafo
    alineado a la parte superior.} % Una opción, dos parámetros.

En este caso t es el parámetro opcional..

Los espacios que siguen a un comando del tipo 1 sin argumentos (como en el segundo ejemplo de "\raggedleft" de arriba) son "eliminados"; no se generan en la salida.

Entornos
Los entornos son pares de la forma

\begin{entorno}

Texto dentro del entorno.

\end{entorno}

Un entorno cambia la apariencia del texto dentro de él. Los entornos controlan el alineamiento, la anchura de los márgenes y otras muchas cosas. Algunos entornos predefinidos son: center, description, enumerate, flushleft, flushright, itemize, list, minipage, quotation, quote, tabbing, table, tabular, verbatim, y verse.

Los entornos pueden anidarse. Por ejemplo, para conseguir un formateado de una cita fluyendo en el margen derecho, usa los entornos flushright y quotation.

    \begin{flushright}
        \begin{quotation}
	    Las letras son cosas,  \\
	    no fotos de cosas.     \\
            -- Eric Gill
        \end{quotation}
    \end{flushright}

Un entorno afecta tan sólo al texto dentro de él; encapsula todos los cambios, como por ejemplo una indentación distinta que ocurra sólo durante el entorno. (Bueno, a menos que modifiques una variable global, pero no te voy a decir como hacer eso, así que estás seguro.)

Secciones

LaTeX conoce tres o cuatro niveles de cabecera dependiendo del tipo de documento (documentclass). La clase artículo (article) tiene 3 niveles de sección, mientras que la clase libro (book) e informe (report ) incluyen una sección capítulo (chapter) como cuarto nivel.

\chapter{heading} % tan sólo para las clases book y report

\section{heading}

\subsection{heading}

\subsubsection{heading}

Observad que como en POD, del que hablamos en la Parte I, los comandos de secciones actúan como separadores. No agrupan texto entre una marca de comienzo y otra de final, pero su sola presencia agrupa el texto. Esto será distinto en DocBook, como describiré en el artículo del próximo mes.

Listas

LaTeX incluye tres tipos de entornos para generar listas:

Se corresponden a las listas no numeradas, listas numeradas y listas de definición en HTML, o =item *, =item 1, =item termiino en POD.

Los elementos se introducen con "\item". Un elemento puede consistir de uno o más párrafos.

Para las listas de descripción, se utiliza un parámetro opcional en "\item", así "\item[término]" especificaría el término y el texto a continuación sería la definición de term.

Ejemplos:

Lista detallada
    Qué puede hacer emacas por ti
    \begin{itemize}
        \item Cortar y pegar bloques de texto
	\item Alinear y justificar párrafos
	\item Comprobar la ortografía de los documentos
    \end{itemize}
Lista enumerada
    Para iniciar emacs por primera vez
    \begin{enumerate}
        \item Ejecuta emacs desde la línea de comando:
        \texttt{\$ emacs}
	emacs mostrará su pantalla de inicio y pronto cambiará a un buffer
	llamado \texttt{*scratch*}.
	\item Pulsa la tecla Control~y pulsa~H.  Verás un indicador en la parte
	de abajo de la pantalla (o ventana emacas).
        \texttt{C-h (Type ? for further options)-}
	\item Pulsa~T para iniciar el tutorial.
    \end{enumerate}
Listas descriptivas
    Algunos comandos de emacs:
    \begin{description}
        \item[C-x C-c] Salir de emcas.
        \item[C-x f] Abrir un fichero.
        \item[C-x r k]
	    Matar un rectángulo definido por las marcas, o sea, la región
	    activa.
    \end{description}

-Referencias

Todas las referencias necesitan 2 partes: un puntero (el enlace) y algo a lo que a apuntar (podriamos traducirlo como anclaje). Los anclajes en LaTeX se insertan con \label{nombre}. Todos los puntos de anclaje están situados en una sección y página en concreto. Estas dos informaciones son recogidas por \ref{nombre} y \pageref{nombre} en cualquier parte del documento.

Ejemplo del uso de \ref:

    \section{Resumen}\label{section:instalacion}
    ...
    \section{Resumen}\label{section:resumen}
    Como se señaló en la sección~\ref{section:instalacion} "Instalación", ...

Ejemplo del uso de \pageref:

    \section{instalacion}\label{section:instalacion}
    El acero utilizado en el capítulo de ejemplo está construido a partir de una
    aleación de Ti (0.5\%), Cr (0.1\%), y Mn (0.1\%).\label{definition:chamber-alloy}
    \section{experimentos}\label{section:experimentos}
    Nuestro ejemplo está hecho de acero inoxidable (ver
    page~\pageref{definition:chamber-alloy} para la composición metalúrgica
    exacta.

Definiendo tus propios comandos y entornos

Una de las mayores ventajas del formateado con sistemas LaTeX es que permite al usuario definir sus propios comandos y entornos. Imaginemos que quieres marcar todos los parámatreos que pueden ser sustituidos en una utilidad de UN*X, como en

	cd directorio

para que se represente

cd directorio

En este ejemplo, cd es el nombre de la utilidad y directorio es el parámetro que puede ser reemplazado.

A menudo, los nombres de las utilidades son formateados en negrita y los parámetros reemplazables en cursiva. Teniendo esto en cuenta, una buena solución sería poder hacer

    \utilidad{cd} \parametro{directorio}

donde \utilidad y \parametro cambiase la fuente a negrita y cursiva respectivamente. Con el uso de \utilidad y \parametro podemos marcar todas nuestras líneas de comandos:

    \utilidad{pushd} \parametro{directory}
    \utilidad{ls} \parametro{filename}

Para definir un nuevo comando LaTeX, utilizamos

\newcommand{nombre-comando}[número-de-parámetros ]{secuencia-de-comandos}

Donde nombre-comando es el nombre del nuevo comando que estamos definiendo, número-de-parámetros es el número de parámetros que el nuevo comando aceptará (si se omite se asigna un valor por defecto de 0), y secuencia-de-comandos son los comandos LaTeX que se ejecutarán cuando se utilizen el nuevo comando nombre-comando.

En nuestro ejemplo, definimos \utilidad y \parametro como:

    \newcommand{\utilidad}[1]{\textbf{#1}}
    \newcommand{\iparametro}[1]{\textit{#1}}

Los comandos predefinidos \textbf y \textit cambían el tipo de letra a texto en negrita y a texto en cursiva. Los parámetros se pueden acceder utilizando #cifra, y cifra tiene un valor entre 1 y 9.

Para que puedas hacerte una idea de la utilidad de definir comandos nuevos, imagina que quisieras crear una entrada en el índice por cada utilidad que se menciona en el texto. El comando \index{término} inserta término en el índice. Tan sólo necesitamos modificar la definición de \utilidad a

    \newcommand{\utilidad}[1]{\textbf{#1}\index{#1}}

y lo habremos hecho. (Para los curiosos: los niveles de índices están separados con barras verticales, con lo que posiblemente prereriemos utilizar \index{utilidad|#1} de forma que agrupe todas las utilidades juntas. Échale un vistazo a la documentación de makeindex para más detalles.)

Los nuevos entornos definidos con

\newenvironment{nombre-entorno}[número-de-parámetros ]{secuencia-inicio}{secuencia-fin }

La única diferencia es que \newenvironment necesita dos secuencias de comandos: una para iniciar el entorno, secuencia-inicio, y otra secuencia para terminarlo, secuencia-fin. Para continuar con nuestro ejemplo definiremos nuestro propio entorno para citas.

    \newenvironment{micita}% Nota: "%" enmascara los salto de lineas
    {\begin{flushright}\begin{quotation}}%
    {\end{quotation}\end{flushright}}

que se usaría de la forma:

    \begin{micita}
       Las letras son cosas,  \\
       no fotos de cosas. \\
       -- Eric Gill

    \end{micita}

Ni los comandos ni los entornos pueden ser definidos varias veces con \newcommand o \newenvironment. Estos comandos sólo se definen en función de la primera definición. Si quisieramos volver a definir un comando utilizariamos \renewcommand y \renewenvironment, que utilizan los mismos parámetros que las funciones para definir.

Marcado propio

LaTeX ofrece un conjunto extremadamente rico de reglas de marcado. Me ceñiré a explicar tan sólo los 3 formatos que he explicado en la documentación de Perl (POD): los tipos de letra con énfasis, cursiva, negrita y código.

Énfasis y cursivas
\textit{parámetro} -- Formatea parámetro como texto en cursiva.

\emph{parámetro} -- Da énfasis a parámetro. La configuración por defecto cambia a cursiva dependiendo de la configuración de los tipos de letros. Si el texto es normal \emph utiliza cursivas; pero si el texto está en cursivas utilizará una fuente normal. De esta forma el texto con énfasis siempre resaltará sobre los demás.

¿Por qué tener \textit y al mismo tiempo \emph? Los comandos expresan peticiones distintas. \textit hace que el parámetro se muestre en cursiva. Ya está. \emph por el otro lado, hará que el parámetro tenga énfasis, independientemente de como vaya a ser ese enfásis. Por defecto utiliza cursiva para dar énfasis, pero \emph puede ser redefinido para usar negrita, subrayado o cualquier otra cosa que el escritor quiera imaginar para dar énfasis. El nombre del comando emph significa un concepto de énfasis, escondiendo el como se haga.

Negrita
\textbf{pàrámetro} -- Formatea parámetro en un tipo de letra negrita.

Utilizando \textbf, podemos definir comandos lógicos, como por ejemplo

    \newcommand{\importante}[1]{\textbf{#1}}
Letra de máquina de escribir (código)
\texttt{parámetro} -- Formatea parámetro en una fuente de máquina de escribir.

Como con \textbf, \texttt puede ser utilizado en un comando definido por el usuario:

	\newcommand{\codigofuente}[1]{\texttt{#1}}

La cadena de herramientas de LaTeX

LaTeX files usually carry the extension tex. LaTeX translates these tex-files into so called device independent (dvi) files. dvi files are a binary representation of the source. They can be previewed to dvisvga on the console (given the terminal supports high-resolution graphics), or, for example, xdvi under the X11 windowing system. Often dvi files are converted to Postscript with the dvips tool. If Portable Document Format is desired, pdflatex transforms tex files into pdf files in a single step.

Los ficheros de LaTeX utilizan normalmente la extensión tex. LaTeX traduce estos ficheros tex en lo que se conoce como ficheros independientes del dispositivo (dvi). Los ficheros dvi son una representación binaria del fichero que escribirmos. Pueden ser previsualizados utilizando dvisvga en la consola (suponiendo que la terminal soporte gráficos de alta resolución, o xdvi en el sistema de ventanas X11. A menudo los ficheros dvi son convertidos en Postscript con la utilidad dvips. Si se prefiere utilizar el formato PDF, pdflatex transforma un fichero tex en un fichero pdf en un sólo paso.

latex2html

Hasta aquí muy bien. LaTeX crea maravillosamente documentos Postscript, y hace lomismo con ficheros pdf Pero ¿no queriamos también ficheros HTML? Claro que sí. Pero LaTeX no nos puede ayudar aquí; para eso utilizaremos otra utilidad: latex2html. Esta utilidad convierte un fichero de LaTeX en un conjunto de ficheros html que están enlazados entre ellos siguiendo la estructura de nuestro fichero de origen.

latex2html tiene una página web en http://www.latex2html.org desde donde puede descargarse. También puede obtenerse desde http://www.ctan.org o cualquiera de sus mirrors. Si quieres saber si está instalado en tu sistema Linux, prueba con

    latex2html --version

y deberías obtener una respuesta como

    This is LaTeX2HTML Version 2K.1beta (1.57)
    by Nikos Drakos, Computer Based Learning Unit, University of Leeds.

¿Qué tengo que hacer para que mis documentos en LaTeX puedan ser convertidos con latex2html? -- Afortunadamente ¡casi nada! Tan sólo asegurate de que los paquetes html y makeindex están referenciados al principio del documentos, o sea al menos añade

    \usepackage{html,makeidx}

al preámbulo. Ahora el fichero mi_documento.tex puede ser convertido a HTML utilizando

    latex2html mi_documento.tex

Otro vistazo a las referencias

latex2html se ocupa de casi todo lo que puede surgir cuando un documento LaTeX es convertido a un conjunto de ficheros html.De todas formas, las referencias a otras partes del documento o a otros documentos son conceptualmente distintas en la documentación escrita y en HTML. Veamos el siguiente trozo de LaTeX

	En las siguientes líneas, haremos un resumen
	del uso de un sistema de coordenadas cilíndrico.
	Mire la página~\pageref{definition:sistema-coordenadas}
	para consultar la definición de un sistema de coordenadas.

donde LaTeX reemplazará \pageref{definition:sistema-coordenadas} con el número de página donde hemos definido label{definition:sistema-coordenadas}. ¿Dónde está el problema? Primero, que en un conjunto de páginas html no existe un concepto claro de "número de página". Segundo, latex2html convierte \pageref{definition:sistema-coordenadas} con un hiperenlace al punto donde se haya representado label{definition:sistema-coordenadas}. El enlace es un pequeño cuadrado negro para los navegadores gráficos, o la marca "[*]" en los navegadores de modo texto. Pero lo que hemos escrito queda un poco raro, realmente confuso y no por la culpa de latex2html:

En las siguientes líneas, haremos un resumen del uso de un sistema de coordenadas cilíndrico. Mire la página [*] para consultar la definición de un sistema de coordenadas.

latex2html necesita un poco de nuestra ayuda. El párrafo que contiene la referencia debería ser reescrito pensando en la versión html, por ejemplo con:

	En las siguientes líneas, haremos un resumen
	del uso de un <a>sistema de coordenadas cilíndrico</a>.

y de esta forma indico el hiperenlace con marcas HTML de enlaces. Para permitir la existencia de las 2 diferentes versiones en función del formato de salida latex2html define el comando hyperref.

\hyperref[tipo-referencia]{texto para la versión html}{texto anteror a la referencia para la versión LaTeX}{texto posterior a la referencia para la versión LaTeX}

El parámetro opcional tipo-referencia selecciona el contador al que la referencia se refiere:

``ref''
Referencias cruzadas a números de sección como hace \ref. El texto de referencia es el número de sección ("4", "1.5.2", "3.4.2.1", etc).
``page'' or ``pageref''
Referencia al número de página como hace \pageref. Esta referencia es un número de página ("24", "xxiii", etc).

Así que si reescribieramos nuestro ejemplo utilizando \hyperref quedaría como sigue

	En las siguientes líneas, haremos un resumen
	del uso de un \hyperref[pageref]%
	{sistema de coordenadas cilíndrico}% para HTML
	{sistema de coordenadas cilíndrico. Mirar en la página~}% para LaTeX
	{para la definición de un sistema de coordenadas}% texto que termina en LaTeX
	{definition:sistema-coordenadas}.% nombre de la referencia

LaTeX lo representará como

En las siguientes líneas, haremos un resumen del uso de unsistema de coordenadas cilíndrico. Mirar en la página 97 para la definición de un sistema de coordenadas.

y latex2html generará

En las siguientes líneas, haremos un resumen del uso de un sistema de coordenadas cilíndrico.

a partir del mismo texto.

Hiperenlaces

Un problema relacionado con el que nos acabamos de encontrar con las rerencias surge cuando los hiperenlaces entran en juego. En la versión HTML del documento los hiperenlaces son esenciales; en la versión impresa tienen muy poca utilidad: Compara "Haz click aquí" con "Aprieta tu lápiz en esta letra". Sin embargo, a veces, el autor realmente quiere incluir la dirección del hiperenlace, un localizador de recursos universal (URL) en la versión impresa. latex2html define dos comandos que consiguen eso exactamente.

\htmladdnormallink{texto de enlace }{URL}

\htmladdnormallinkfoot{texto de enlace }{URL}

Los dos comandos generan el hiperenlace <a href = "URL">texto de enlace</a> en la versión HTML. El primer comando tan sólo genera texto de enlace en la versión de LaTeX, eliminando la URL completamente. El segundo comando añade una nota a pie de página conteniendo URL. El uso típico de estos comandos es

El texto de este artículo puede ser descargado de nuestro \htmladdnormallink{sitio web}{http://www.gacetadelinux.com}.

y

El texto de este artículo puede ser descargado de nuestro \htmladdnormallinkfoot{sitio web}{http://www.gacetadelinux.com}.

y el resultado LaTeX del primer bloque se verá así

El texto de este artículo puede ser descargado de nuestro sitio web.

y en el segundo caso sitio web tiene una marca de nota a pie de página y un pie de página con la URL. La salida en HTML se verá en los 2 casos como

El texto de este artículo puede ser descargado de nuestro sitio web.

Comandos específicos de formateo

Como último recurso, existen varios comandos y entornos que permiten al autor cambiar el texto entre las versiones LaTeX y HTML del documento:

Recomiendo utilizar estos comandos sólo si no pueden utilizarse otros comandos o entornos para producir el formateado que queramos, porque partir el texto siempre requerirá un esfuerzo adicional para mantener las dos partes iguales.

Pros y Contras de latex2html

Pros
Contras

Otras lecturas

El mes que viene: DocBook

Christoph Spiel

Chris tiene una consultora de Open Source en Bavaria, Alemania. Aparte de haber sido entrenado como físico (tiene un doctorado en física de la universidad de tecnología de Munich) su principal interés ronda la programación numérica en entornos heterogeneos y la ingeniería del software, puede ser localizado en cspiel@hammersmith-consulting.com.


Copyright © 2002, Christoph Spiel.
Licencia de copiado http://www.linuxgazette.com/copying.html
Publicado en el número 74 de Linux Gazette, January 2002