Manual de LaTeX/La estructura de un documento en LaTeX/Clases de documento y algunos paquetes comunes
De Wikilibros, la colección de libros de texto de contenido libre.
Como mencionábamos, existen diferentes estilos que podemos darle a nuestro documento, y la selección de uno u otro dependerá de qué es lo que necesitamos hacer. Si queremos escribir un documento corto, podemos utilizar la clase article. En términos generales, esta clase de documento nos permite dividir el documento en secciones, subsecciones, párrafos y subpárrafos.
A continuación una lista de algunas clases típicas de documento:
| article | Para documentos cortos que no es necesario dividir en capítulos, sino que bastan las secciones y subsecciones y sus párrafos y subpárrafos. |
| book | Para documentos más largos que deben incluir capítulos, prólogo, apéndices o incluso partes. |
| report | Similar a la clase book. |
| slides | Para presentaciones, es decir, para producir diapositivas. |
Las clases book y report son muy similares, y ambas sirven para documentos grandes, como lo son, naturalmente, los libros y los reportes, entre otros trabajos. Sin embargo, existen ligeras diferencias. Por ejemplo, la clase book hace que los capítulos empiecen siempre en una página impar, de modo que si un capítulo anterior termina en una página impar, la página (par) siguiente quedará en blanco y al capítulo nuevo comenzará después de ella. Esto, en cambio, no sucede con la clase report, así es que un capítulo simplemente empieza en una página nueva, sea par o impar. Por supuesto, estas opciones pueden ser fácilmente modificadas. Todas las clases de la lista anterior admiten opciones adicionales. Por ello, la sintaxis general para indicar una clase de documento es la siguiente:
Las opciones que podemos dar son:
| a4paper, letterpaper, ... | Con esta opción indicamos que el tamaño del papel debe de ser a4paper (tamaño a4), letterpaper (tamaño carta), ... Otras opciones que determinan distintos tamaños de página son:
|
| landscape | Apaisado. Pone la página de forma horizontal. |
| 10pt, 11pt, 12pt | Definen el tamaño de la fuente principal del texto. |
| oneside, twoside | Indican si el documento debe estar adaptado a impresión por un sólo lado de la página o por ambos lados de ella. |
| titlepage, notitlepage | Determinan si el documento debe o no incluir una página de título, i.e. si va a incluir o no una portada. |
| openright, openany | openright obliga a los capítulos a iniciar siempre sólo en páginas impares, mientras que con la opción openany permitimos que los capítulos se inicien en cualquier página. |
| onecolumn, twocolumn | Definen si el documento se va a escribir en una sola columna o a doble columna. |
| fleqn | Esta opción hace que las ecuaciones queden alineadas por la izquierda en lugar de que sean centradas (como sucede por defecto). |
| leqno | Con esta opción hacemos que el número de las ecuaciones quede alineado por la izquierda en luhgar de por la derecha (como sucede por defecto). |
| draft, final | La opción draft se usa si queremos que la compilación del documento se haga a modo de "borrador". Con draft haremos que las líneas que sean demasiado largas queden marcadas mediante cajas negras. La opción final producirá simplemente que el documento se compile de manera normal. |
Cuando no especificamos opciones para una clase de documento, se cargan las opciones por defecto de la clase que estemos utilizando. Por ejemplo, si escribimos
sería lo mismo que si escribiéramos simplemente
pues la clase book tiene como opciones por defecto letterpaper,10pt,twoside,onecolumn,final,openright. Además, la clase book producirá automáticamente una página para el título del documento. Con la opción notitlepage haremos que esto no suceda así, de manera que el título del documento no quedará en una página aparte.
La clase article carga automáticamente las opciones letterpaper,10pt,oneside,onecolumn,final. Puesto que en la clase article no existen capítulos, las opciones openright y openany no están permitidas.
Las opciones por defecto de la clase report son letterpaper,10pt,oneside,final,openany.
Además de las clases estándar de documento de LATEX descritas, hay algunos paquetes que normalmente vienen incluidos en cualquier distribución de LATEX (más específicamente, en distribuciones de LATEX 2ε). Algunos de ellos los describiremos más detalladamente en capítulos posteriores, y nos limitaremos a dar aquí una tabla que los compendie:
| alltt | Este paquete provee el entorno alltt, muy similar al entorno verbatim salvo que "\", "{" y "} " tienen su significado usual, por lo que pueden ser introducidos comandos. |
| doc | Este es un paquete básico para la escritura de documentación de programas de LATEX. |
| excale | Este paquete proporciona versiones escaladas de las fuentes matemáticas de extensión. |
| fontenc | Este paquete se usa para especificar la codificación de fuente que debe usar LATEX |
| graphpap | Este comando permite el uso del comando \graphpaper, que se usa para dibujar cuadriculados o mayas. |
| ifthen | Para comandos de la forma if... then... else... |
| inputenc | Este paquete se usa para especificar la codificación de caracteres para los documentos de entrada de LATEX. Si vamos a escribir en español, conviene usar la instrucción \usepackage[latin1]{inputenc} , que nos permitirá escribir con acentos en nuestro archivo de entrada, y con ello no tendremos que escribir cosas como pr\'actico para obtener "práctico" en nuestro documento compilado. Lo mismo sucede con la tilde que lleva la eñe. |
| latexsym | Puesto que en LATEX 2ε los caracteres símbolos ya no son cargados automáticamente, es necesario cargar el paquete latexsym para poder disponer de ellos. |
| makeidx | Este paquete proporciona comandos para la construcción de índices de materias. |
| syntonly | Este paquete causará que el documento sea procesado sin producir ningún documento compilado de salida, sino que lo único que nos permitirá hacer es verificar que la sintaxis de cada comando es correcta. |
No obstante, los paquetes de la tabla anterior cumplen propósitos muy específicos y es probable que el lector no tenga interés en todos ellos. Existen paquetes muy comunes que son de gran utilidad:
| amsmath | Este paquete, realizado por la American Mathematical Society, proporciona comandos para la escritura de fórmulas matemáticas de mayor complejidad. |
| babel | Este paquete esta hecho para soportar lenguajes diversos, entre ellos el español. Para indicar que nuestro documento se escribirá en español, y con ello que éste se adapte a dicho idioma, hemos de escribir usepackage[spanish]{babel} . |
| graphics | Con este paquete podrás incluir y transformar imágenes en tu documento, incluyendo las que hayas creado con otros programas. |
148 mm)