#### Uso de formatos

Cuando TeX compila un documento para generar el pdf, debe procesar la cabecera, que puede contener bastantes órdenes \input, \include y \usepackage. TeX repite todo esto cada vez que tiene que compilar el documento, incluso aunque gran parte de la cabecera no habrá cambiado en absoluto.

TeX dispone de un mecanismo para acelerar esto. Se le puede indicar que procese algunas líneas de código fuente y que, a partir de ellas, genere lo que se denomina un «formato». Una vez hecho esto, cuando TeX compone páginas, lee el formato muy rápidamente, y generar el pdf le cuesta muchos menos tiempo. LaTeX está construido de esta manera; el formato LaTeX se crea al instalar TeX en tu máquina, y el comando «latex archivo» le dice a TeX que lea el formato LaTeX y que entonces procese «archivo».

Cuando los ordenadores eran mucho más lentos que ahora, los usuarios creaban sus propios formatos a menudo, para acelerar así la composición de páginas. En nuestros días, esto es mucho menos frecuente, pero manejar archivos de formato puede ser todavía útil. Por ejemplo, una organización puede crear y distribuir un formato propio para que lo usen todos los que trabajan en un proyecto común. En esta sección explicaremos cómo usar un formato porporcionado por otra persona, y cómo crear un formato propio.

Un formato típico tiene extensión «fmt». Supón que un departamento de la University of Oregon ha creado un formato llamado «uo.fmt». Para usarlo, sigue los pasos siguientes:

- Lleva uo.fmt a «~/Library/texmf/web2c/uo.fmt». Puede que necesites crear alguno de esos directorios.
- Crea un nuevo motor (‘engine’) de compilación yendo a ~/Library/TeXShop/Engines y duplicando el archivo XeLaTeX.engine. Los archivos .engine necesitan tener activado el bit que los convierte en ejecutables (en el sentido de unix), y esta duplicación de uno ya existente lo logra de manera automática.
- Renombra este nuevo archivo. No es necesario que el nombre que le des coincida con el del formato. Puesto que el nombre aparecerá en la interfaz de TeXShop, debería ser un nombre que tenga sentido para los usuarios. Elijamos, por ejemplo, «Oregon.engine».
- Abre Oregon.engine con TeXShop y edítalo, hasta que contenga lo siguiente:
    #!/bin/tcsh
    set path= ($path /usr/local/teTeX/bin/powerpc-apple-darwin-current /usr/local/bin)
    pdflatex -fmt uo "$1"
  Las primeras dos líneas ya estarán presentes, así que posiblemente te baste con cambiar la tercera línea. Sin embargo, si tu máquina tiene un microprocesador Intel, debes cambiar la palabra «powerpc» de la segunda línea por «i386».

Esto completa la instalación. La próxima vez que arranques TeXShop, en el menú desplegable situado, en la barra de herramientas, al lado del botón de componer, aparecerá «Oregon» como una opción adicional. Elígela si quieres componer páginas usando el formato uo.fmt. Si quieres que este método de composición sea el predeterminado, ve a las preferencias de TeXShop, bajo la solapa «Composición»; luego, en la parte correspondiente a «Formato por defecto» selecciona «Este otro comando», y rellena la caja de texto editable con la palabra «Oregon».

También puedes indicar, en un documento en particular, que TeXShop utilice el formato Oregon para componerlo, sin tener que seleccionar la opción de composición adecuada en los menús. Para ello, añade la siguiente línea en la parte arriba del archivo con el código:

  %!TEX TS-program = Oregon

De este modo, ese documento usará el formato uo.fmt independientemente de la método de composición que esté elegido.

Las instrucciones anteriores asumen que tienes un formato para pdflatex. También se pueden hacer formatos para plain TeX; para ello, cambia «pdflatex» por «pdftex» en el archivo .engine.

También es posible usar formatos si estás componiendo mendiante tex + ghostscript. Pero ten en cuenta que TeXShop asume que un archivo .engine contiene una o más líneas con comandos que al final producen un archivo .pdf. Así que el archivo .engine debe contener comandos que conviertan el archivo .dvi en un .pdf. He aquí un archivo uo.fmt típico que lograría esto:

  #!/bin/tcsh
  set path= ($path /usr/local/teTeX/bin/powerpc-apple-darwin-current /usr/local/bin)
  latex -fmt uolatex "$1"
  set filename = "$1"
  dvips "${filename:r}.dvi"
  pstopdf "${filename:r}.ps"

#### Creación de formatos

Los archivos de formato contienen la representación binaria interna que ha surgido al compilar líneas de código fuente. Esta representación depende tanto del microprocesador como de la implementación particular de TeX que se ha usado. En consecuencia, habitualmente no podrás usar un archivo de formato generado por otra persona, salvo que tal persona tenga la misma máquina y la misma instalación de TeX que tú.

Para evitar este problema, es común que las organizaciones que quieren distribuir un formato nos proporcionen las líneas de código tex necesarias para construir tal formato. Si éste es el caso, hay que construir el formato usando «initex». Por ejemplo, supón que el archivo con código es «uo.tex». Para construir el formato, abre el Terminal de Apple, y cámbiate al directorio en el que está «uo.tex» (para hacer esto, unos pequeños conocimientos de unix pueden ser muy convenientes). Entonces, teclea

  pdflatex -ini

Obtendrás un promt de la forma **. Ahí, teclea

  &pdflatex uo

y pulsa la tecla de fin de línea. Eso hace que se cree el formato. Al final, tienes que proporcionar un comando «\dump» si no estaba ya incuido en el archivo con código tex. De este modo, aparecerá el deseado formato «uo.fmt».

Para practicar, puedes intentar hacer esto a partir del siguiente archivo «uo.tex»:

  \documentclass[11pt]{article}
  \usepackage{geometry}
  \geometry{letterpaper}
  \usepackage[parfill]{parskip}
  \usepackage{graphicx}
  \usepackage{amssymb}
  \usepackage{epstopdf}
  \DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `dirname #1`/`basename #1 .tif`.png}
  \dump

Ayuda avanzada
Creación y uso de formatos de TeX