La estructura de un documento LaTeX listo para su procesamiento es básicamente la siguiente:
PREÁMBULO
\begin{document}
[Nuestro texto con las marcas LaTeX]
\end{docuemnt}
Así pues, si retomamos la metáfora aplicada en la exposición de HTML, vemos que también el gabinete de LaTeX precisa que nuestro texto marcado se envíe en un sobre
document
y que a ese sobre le peguemos una etiqueta que contenga descripciones precisas de lo que va en él (el PREÁMBULO
). Un preámbulo típico para documentos en castellano consta de los siguientes enunciados:
\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
Veamos qué significa cada uno de ellos:
\documentclass{article}
- Define el tipo de documento que creamos. En nuestro caso un artículo.
\usepackage[spanish]{babel}
- Define la lengua en la que está escrito nuestro documento.
\usepackage[T1]{fontenc}
- Define el tipo de codificación de la fuente empleada por defecto. Es recomendable para lenguas que contienen, como la nuestra, caracteres acentuados.
\usepackage[utf8]{inputenc}
- Define el tipo de codificación empleada al escribir el texto. En cualquier máquina moderna será UTF-8.
Más allá de los tecnicismos ---por los que hemos pasado rozando---, lo que salta a la vista en las tres últimas líneas del preámbulo es la marca
\usepackage{...}
. Se trata de un tipo de orden que le indica a los expertos que procesarán nuestro documento que use un determinado tipo de paquetes LaTeX y que active, en caso necesario, tales o cuales opciones de ese paquete, donde las opciones solicitadas se indican entre corchetes de acuerdo con la sintaxis \usepackage[opciones]{paquete}
. ¿Pero qué es un paquete de LaTeX? Un paquete no es sino una extensión para determinados propósitos de las posibilidades básicas de LaTeX. Algunas de estas extensiones actúan sobre los engranajes de las máquinas que procesarán LaTeX y sólo deberemos ser conscientes de ellos a la hora de incluirlos en el preámbulo. Otras pueden poner a disposición del usuario nuevas marcas especializadas a las que éste puede recurrir si lo desea. Así, por citar sólo un caso particular, el paquete
babel
permite escribir documentos en varias lenguas (las que se indican como opciones suyas) y seleccionar una u otra lengua cuando convenga mediante, por ejemplo, la orden o marca \selectlanguage{lengua}
. En el caso de nuestro ejemplo sólo utilizamos una lengua, spanish
, y podemos prescindir de estas sofisticaciones. Por lo demás, el recurso a paquetes es especialmente recomendable cuando nuestro texto va a contener elementos característicos propios que requerirán de un tratamiento específico. Veremos un caso de ello en un artículo posterior.Bien. Nos queda sólo incluir el preámbulo comentado y el envoltorio
document
en nuestro texto marcado con LaTeX para obtener un documento LaTeX completo listo para su procesamiento. Si seguimos la misma estrategia empleada en la generación del documento HTML a partir de nuestro texto con marcas informales, bastaría con modificar ligeramente el guión generar_html
de este modo:
## --* generar_latex - 21/03/09 - átopos *--
## Genera documento LaTeX canónico a partir de un documento de texto
## marcado con mis marcas informales
SED_F=txt2latex.sed # Fichero sed: convierte mis marcas
# informales en marcas LaTeX
ORIG_F=$1 # Fichero de entrada
DEST_F=$(basename $ORIG_F .txt).tex # Fichero LaTeX de salida
tr -d '\n'< $ORIG_F \
| sed -f $SED_F \
| awk 'BEGIN {
print "\\documentclass{article}";
print "\\usepackage[spanish]{babel}";
print "\\usepackage[T1]{fontenc}";
print "\\usepackage[utf8]{inputenc}\n";
print "\\begin{document}";
}
{ print $0; }
END {
print "\\end{document}";
}' \
> $DEST_F
Las modificaciones, aparte de las que afectan a los comentarios, son las lógicas: cambia el fichero de órdenes para
sed
, que ahora será el txt2latex.sed
que creamos el día pasado; se añade la orden tr
, y se modifica el subsiguiente sed
como corresponde (también lo comentamos ayer); se modifican mutatis mutandis las líneas que imprimirá awk
al principio y al final (nótese que en awk
, como en sed
, el literal '\
' debe escaparse).El nuevo guión, que llamaremos
generar_latex
recibe como argumento el fichero con nuestras etiquetas informales y produce el fichero texto_etiquetado.tex
. Tras cambiarlo de modo, podemos ejecutarlo:./generar_latex texto_etiquetado.txt
El resultado,
texto_etiquetado.tex
, es el esperado:
\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\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}
\section{Navegación desde consola}
Si navegamos con w3m, y gracias a la interacción entre las aplicaciones de consola, bastaría ejecutar una única acción desde el propio Vim, que, además, podríamos abreviar para reproducirla en situaciones semejantes. Veamos cómo.
Con w3m el proceso de convertir una página web en texto es absolutamente elemental: añadir la opción -dump. Por ejemplo:
w3m -dump http://www.w3.org/TR/html401/struct/lists.html
nos devuelve la página dada como argumento, tal cual se presenta en el navegador, pero como puro texto.
\end{document}
Si queremos ver coloreada la sintaxis de LaTeX nada mejor que echar mano del propio Vim. Se puede llamar a Vim para ver ficheros, sin intención de editarlos, con la orden
view
, que es un atajo de vim -R
:view texto_etiquetado.tex
La imagen siguiente muestra el resultado:
Resumen:
- Un documento LaTeX consta de un preámbulo y un entorno
document
. El preámbulo incluye, como mínimo, la definición de la clase de documento (artículo, libro, carta, etc.) y, normalmente, también la solicitud de uso de paquetes. El entornodocument
engloba todo el texto marcado con marcas LaTeX. - Un paquete de LaTeX es una extensión de las posibilidades básicas de LaTeX. La inclusión de paquetes se solicita en el preámbulo del documento con la etiqueta u orden
\usepackage[opciones]{paquete}
, donde cada opción activa un conjunto determinado de las extensiones que el paquete proporciona. Por ejemplo,\usepackage[spanish]{babel}
permite usar el paquete para el uso de múltiples lenguasbabel
y beneficiarse de sus extensiones para el castellano.
Si alguien puede acesorarme en como convertir documentos latex en html
ResponderEliminarPor favoe le quedaré agradecido
Saludos
Efrain
Existen varias opciones. Mi recomendación es que te pases por los archivos de la lista de usuarios hispanohablantes de Tex:
ResponderEliminarhttp://listserv.rediris.es/cgi-bin/wa?A0=ES-TEX
Esta pregunta se ha formulado muchas veces. Allí encontrarás información más que suficiente para elegir la opción que más te interese.