Como hemos dicho TeX/LaTeX es realmente un lenguaje de
programación de textos. En el documento fuente original se introduce
el texto a procesar junto con una serie de órdenes especificando cómo
debe ser procesado éste. Este paso se realiza con el editor de texto
favorito del autor, aunque hay algunos editores de texto que están,
mejor adaptados, o totalmente integrados para su uso con TeX/LaTeX
-- véase
editores para TeX
--. Pongamos por ejemplo que el documento creado es documento.tex
.
Una vez terminado el documento fuente (documento.tex
), éste se
procesa mediante TeX si se han utilizado las órdenes de
plain-TeX o LaTeX si se han utilizado las órdenes de
LaTeX. Se corrigen los posibles errores de sintaxis y se repite el
proceso hasta que éstos se han eliminado. Como resultado del
procesamiento se tiene un archivo independiente del dispositivo,
o DVI (documento.dvi
).
Un archivo DVI es el archivo resultante de procesar el texto fuente a través de TeX. Su forma no depende del dispositivo que se vaya a utilizar para verlo/imprimirlo. Un archivo DVI está pensado para ser leído por un conversor que produzca una salida adecuada para una determinada impresora, o para un determinado visualizador en la pantalla del ordenador. Los archivos DVI utilizan una codificación interna de TeX, de forma que un documento fuente debe producir exactamente el mismo archivo DVI, con independencia de la implementación de TeX que se utiliza para producirlo.
Un archivo DVI contiene toda la información necesaria para imprimir o
ver el resultado, excepto los tipos o su aspecto concreto (aunque
contiene sus medidas) o información que se introducirá mediante una
orden \special
-- véase
¿Qué son los \special?.
Un conversor es un programa que toma su entrada de un archivo DVI y produce un archivo que puede enviarse a una impresora o una salida directa a una pantalla.
Estos conversores normalmente son específicos a cada impresora o lenguaje de impresora. Por ejemplo, una impresora postscript entenderá siempre la salida de un conversor postscript, pero en general no de otros formatos.
Al igual que el archivo DVI, el conversor necesita información sobre los tipos que puede encontrar en distintos lugares.
.pk
?
Los archivos .pk
(cuyo nombre viene de packed raster)
contienen tipos de letra en forma de mapa de bits. METAFONT produce
una salida en mapa de bits en un formato no comprimido denominado
.gf
, que es convertido a .pk
mediante una utilidad
denominada gftopk. Para cada diseño de letra, tamaño, peso y
familia es necesario un archivo .pk
distinto, e incluso para
distintos dispositivos de salida. Como consecuencia de ésto se guardan
en una estructura compleja de directorios, o en librerías de tipos,
para normalizar el acceso a las mismas.
.tfm
?
tfm
es la abreviatura de TeX font metric, métrica de los
tipos TeX. Los archivos .tfm
guardan la información acerca de
los tamaños de los caracteres en cada tipo, así como las ligaduras y
desplazamientos dentro de cada tipo. Se necesita un archivo .tfm
para cada tipo utilizado por TeX, es decir para cada diseño, peso y
familia, aunque uno valga para todas las magnificaciones. TeX
utiliza los archivos .tfm
para componer la página, pero en
general los conversores no los necesitan.
Los tipos CM son los tipos originalmente creados por Donald E. Knuth. Cuando desarrolló TeX, lo acompañó de este conjunto completo de tipos de alta calidad. Estos tipos eran independientes de la impresora utilizada (ya que eran tratados como gráficos) lo que producía la misma calidad en cualquier sitio. Con el tiempo, estos tipos (los Computer Modern o CM) se convirtieron en la firma del procesador, que permitía identificar un documento a primera vista.
Son fuentes del tipo de las Computer Modern, pero con 256 caracteres, que cubren las necesidades de casi todas las lenguas habladas en Europa y algunas otras que utilizan el alfabeto latino. Su nombre viene de European Computer Modern Fonts. Dichas fuentes contienen caracteres acentuados siguiendo el esquema de codificación de Cork. DC es el nombre con que eran conocidos estos tipos en periodo de pruebas, pero ya es obsoleto.
La codificación de Cork también está implementada para los tipos virtuales del sistema PSNFSS y para los tipos postscript.
Si tenemos tipos de Cork (PostScript, EC, etc.) y queremos utilizar esta codificación en las fuentes de salida se debe introducir en el preámbulo del documento la línea
\usepackage[T1]{fontenc}
Estos tipos ya están presentes en las distribuciones modernas de
TeX/LaTeX, pero en caso de que se trabaje con una distribución
antigua pueden conseguirse en:
CTAN:fonts/ec/ready-mf
y los archivos tfm
para LaTeX están en
CTAN:fonts/ec/tfm
aunque si ésto es necesario es más que recomendable actualizarse.
Los tipos (fuentes) virtuales proporcionan a TeX una forma de
trabajar con algo más complejo que los caracteres individuales
definidos en un tipo. En un tipo virtual se definen a partir de
elementos simples de los tipos normales, elementos más complejos que
TeX considerará como si fueran elementos de un tipo normal (tienen
sus tamaños y su archivo .tfm
de métrica), pero que en realidad
el procesador del DVI compondrá a partir de distintos elementos
constituyentes para formar a partir de ellos el elemento complejo
descrito en el tipo virtual. De esta forma es posible remapear
caracteres, hacer un tipo compuesto con elementos tomados de distintos
tipos o en general construir elementos muy complejos a partir de
elementos simples de los distintos tipos. Por ejemplo se utilizan
tipos virtuales para remapear tipos postscript.
TeX en sí no ve los tipos virtuales, únicamente trabaja con las
métricas que le da el tipo virtual en su .tfm
como si se tratara
de tipos normales.
\special
?
TeX proporciona una forma de expresar cosas que los conversores pueden hacer, pero de las que TeX no sabe nada. Por ejemplo TeX no sabe cómo introducir figuras postscript en un documento o cómo cambiar el color del texto impreso, pero algunos conversores sí saben cómo hacerlo.
Para ello TeX proporciona la orden \special
. TeX simplemente
entiende la orden como correcta y la pasa con sus argumentos al
archivo DVI, sin hacer nada de lo que en ella se dice. Es el conversor
el que debe interpretar la orden y hacer lo que se le pide.
La sintaxis de los \special
es fuertemente dependiente del
dispositivo de salida y en general no es válida para distintos
dispositivos. LaTeX2e proporciona paquetes estándar de gráficos
(graphics, graphicx
) y manejo de color (color
), que hacen
más fácil la inclusión de gráficos, rotación, reescalado y cambios de
color --Véase la sección
Introducir gráficos con LaTeX.
.eps
)?
PostScript (PS) es un lenguaje de programación para describir páginas. Como lenguaje estructurado permite la programación (tiene estructuras de control y bucles), y recuerda el lenguaje de programación FORTH. Originalmente fue desarrollado por Adobe. Existen varios intérpretes de PostScript que permiten la visualización de este formato. El más extendido es Ghostscript (GS), de Aladdin, del que puede obtenerse información en http://www.cs.wisc.edu/~ghost/index.html y en http://www.aladdin.com cuando acaben de construirla. El formato PS se basa en describir cada página desde un origen de coordenadas que se sitúa en la esquina inferior izquierda de la página. PS permite, sin embargo, redefinir el origen, de forma que se puede recomenzar la descripción de un bloque de una página desde un origen arbitrario.
PS encapsulado (EPS) es el formato estándar para importar y exportar archivos PS en cualquier tipo de entornos. Usualmente es un archivo que contiene una sola página que describe una figura. El archivo EPS está especialmente pensado para incluirlo en otros archivos PS, y es como cualquier otro archivo PS con algunas restricciones. La FAQ de PostScript puede alcanzarse en http://www.lib.ox.ac.uk/internet/news/faq/comp.lang.postscript.html, de donde está tomado mucho de lo anterior.
pdf
?
PDF (Portable Document Format) es, como su nombre indica, un formato de archivos transportable entre distintas plataformas, creado por Adobe y especialmente diseñado para visualizar documentos tal y como se han diseñado. Permite usar colores, gráficos, seguir enlaces e imprimir pero, fundamentalmente, permite ver en la pantalla los documentos, siendo un formato compacto. Es muy similar a PS, pero no tiene capacidades de programación. En relación con TeX, PDF es un formato que sustituye al DVI -- ver la pregunta ¿Qué es DVI? -- en la salida de TeX. En la web hay información abundante sobre PDF en http://www.pdfzone.com/webring/. Los visualizadores de PDF más recomendables son Adobe Reader (antes Acrobat Reader), de Adobe, gratuito ( http://www.adobe.com), xpdf http://www.foolabs.com/xpdf/home.html y Ghostview http://www.cs.wisc.edu/~ghost/index.html.
Escribir un documento a base de primitivas TeX puede resultar
extremadamente engorroso. LaTeX utiliza las primitivas de TeX para
definir otro conjunto de comandos más amigable, para las tareas más
habituales (definir capítulos, tablas, listas enumeradas...). No
obstante, LaTeX no incluyó nuevos comandos de alto nivel para
cualquier tarea imaginable, sino que se hizo extensible a base de
paquetes, de forma que hay un cuerpo de LaTeX y unos añadidos
en forma de paquetes. Un paquete es un fichero que contiene más
código, que se incluye en el preámbulo del documento (con
\usepackage{nombre-de_paquete}
),y que define nuevos comandos
basándose, ya sea en las primitivas de TeX o en los comandos
previamente definidos por LaTeX.
La distribución de TeX/LaTeX instalada en el sistema ya incluirá una buena cantidad de paquetes listos para su uso. Sin embargo, pueden añadirse nuevos paquetes -- véase Instalación de paquetes.
.dtx
?
Tanto LaTeX2e como muchos de los paquetes de macros se escriben en un
lenguaje de programación ilustrada, con código y documentación en el
mismo fichero. Este formato, conocido como doc
se debe a Frank
Mittelbach. El fichero que contiene las fuentes comentadas suele tener
la extensión .dtx
y normalmente debe aligerarse de la
documentación antes de su uso como macro, o correr LaTeX sobre el
fichero para producir una versión maquetada de la
documentación. Habitualmente se suministra un fichero .ins
para
facilitar esto, que utiliza el paquete docstrip. Pueden incluirse
varios paquetes dentro de un mismo fichero .dtx
. Para más
información acerca de cómo extraer el contenido de un fichero
.dtx
véase
extraer de un .dtx.
LaTeX no utiliza los ficheros .dtx
una vez procesados para
producir los .sty
o .cls
, por lo que no es estrictamente
necesario tenerlos instalados, aunque puede ser recomendable, ya que
son siempre la principal fuente de información sobre el paquete.