9 Aspectos generales 9.1. Ficheros de estilo y partición del documento La mayorı́a de comandos de estilo de página y paquetes que se usan en un documento se usarán en más de una ocasión, por lo que en principio es necesario escribirlos en el preámbulo de cada documento que construyamos. LATEX ofrece una posibilidad de ahorrarnos ese trabajo usando ficheros de estilo. Estos ficheros contienen una serie de órdenes que son aplicables una vez cargados con el comando \input{hnombre del ficheroi} Por defecto, LATEX busca el fichero en la misma carpeta en la que se encuentra el fichero que lo carga, y después en las carpetas en las que está instalado MikTeX. La carpeta localtexmf que la instalación MikTeX crea sirve para almacenar en ella este tipo de ficheros. Es recomendable crearse una carpeta propia en \localtexmf\tex\micarpeta y meter allı́ todos los ficheros propios. Un ejemplo de fichero de estilo podrı́a ser:1 \usepackage[latin1]{inputenc} \usepackage[spanish]{babel} \usepackage[active]{srcltx} \evensidemargin -6mm \oddsidemargin -0.4cm \textwidth 16.7cm \textheight 24cm \topmargin -0.65cm La extensión tı́pica de estos fichero es .sty El comando \input también puede ser usado para incluir trozos de texto almacenados en ese fichero. Si la extensión es .tex no es necesario especificarla en la declaración del comando. El uso de este comando para incluir texto equivale a sustituir la orden por el texto que contiene (no puede entonces incluirse un fichero con una orden como \begin{document}). Es más habitual, cuando se escribe un documento largo, dividir el mismo por capı́tulos y almacenarlos en diferentes ficheros, de manera que podamos realizar una compilación selectiva de los capı́tulos deseados, sin necesidad de compilar todo el texto cada vez. Para ello usamos los comandos \includeonly{Fichero1,Fichero2} \include{Fichero} El segundo de ellos funciona a modo de \input, pero sólo inserta el fichero llamado si aparece listado entre los ficheros del comando \includeonly. Cada fichero introducido con \include crea su propio fichero .aux con información sobre las referencias cruzadas (véase el Capı́tulo 11), por lo que no perdemos información con la compilación parcial. 1 En algunos sistemas, la búsqueda directa no está soportada por defecto. Es necesario la inclusión del paquete srcltx tal y como aparece en el ejemplo. 61 62 Aspectos generales Además, el comando \include siempre inicia una nueva página del documento en el que se inserta. Una partición de documento tı́pica puede ser ésta: \documentclass{report} \input{miestilo.sty} \includeonly{cap2,cap3} \begin{document} \include{cap1} \include{cap2} \include{cap3} \end{document} 9.2. Longitudes En LATEX existen dos tipos de longitudes: rı́gidas y elásticas. Los valores rı́gidos son valores precisos que LATEX respeta, mientras que los valores elásticos poseen cierta holgura que el compilador usa para adaptar la composición. Entre los valores rı́gidos, LATEX usa longitudes absolutas, o longitudes relativas a la fuente en uso. Las siguientes corresponden a las longitudes válidas en LATEX: Longitud sp pt bp dd mm pc cc cm in ex em mu Descripción Unidad más pequeña: 1 mm=186712 sp Punto: 1 pt=0,351 mm Punto grande: 1 in = 72 bp Punto Didôt: 1 dd = 0,376 mm Milı́metro: 1 mm = 2,845 pt Pica: 1 pc = 12 pt = 4,218 mm Cicero: 1 cc = 12 dd = 4,531 mm Centı́metro: 1 cm = 28,45 pt Pulgada: 1 in = 25,4 mm = 72,27 pt Altura de una ‘x’ Anchura de una ‘M’: Unidad matemática (18 mu = 1 em) de las cuales, las tres últimas dependen del tamaño de la fuente. Los comandos \bigskip, \medskip, etc. son longitudes elásticas que LATEX puede modificar según un rango. Por ejemplo, el comando \bigskip se define como \vspace{12pt plus 4pt minus 4pt} lo cual indica que el espacio vertical asignado es de 12pt pero puede ser aceptable cualquier longitud entre 8pt y 16pt. La modificación de longitudes se puede llevar a cabo con los comandos \setlength{\nombre de la longitud}{hvalori} \addtolength{nombre de la longitud}{hvalori} El primero asigna a la longitud el valor dado (rı́gido o elástico), mientras que el segundo incrementa la longitud en el valor dado. Es posible crear nuevas longitudes con el comando \newlength{\nueva longitud} que poseen una longitud inicial de 0pt. 9.3 9.3. Parámetros de una página 63 Parámetros de una página Una página en LATEX está construida a partir de varios elementos: el encabezamiento o cabecera, el cuerpo central y el pie (que no debe confundirse con la zona reservada a las notas a pie de página que forman parte del cuerpo). En las Figuras 4 y 5 se muestran los diferentes parámetros de una página impar y par, respectivamente, en un documento a dos caras. A continuación exponemos una breve descripción de estos parámetros \hoffset \oddsidemargin \evensidemargin \textwidth Define el borde izquierdo de impresión + 1in. Denota el margen izquierdo de una página impar. Denota el margen izquierdo en una página par. Si la opción twoside no ha sido seleccionada, \oddsidemargin y \evensidemargin son iguales. Anchura del texto. \voffset \topmargin \headheight \headsep \textheight Define el borde superior de impresión + 1in. Espacio entre el offset vertical y la cabecera. Altura de la cabecera. Distancia entre la base de la cabecera y el cuerpo. Altura del cuerpo central. \footskip \footheight Distancia entre el cuerpo central y el pie. Altura del pie. \marginparsep \marginparwidth \marginparpush \parskip \parindent \topsep \itemsep Separación entre el cuerpo y el margen para las notas. Anchura del margen para las notas. Separación vertical mı́nima entre dos notas al margen. Espacio vertical entre dos párrafos. Anchura de la sangrı́a de comienzo de párrafo. Espacio vertical extra que se añade a \parskip por encima y por debajo de las listas. Espacio vertical extra que se añade a \parskip entre dos elementos de una lista. La modificación de cualquiera de estos parámetros se lleva a cabo con \setlength{parámetro}{longitud} 64 Aspectos generales 4i ? 6 6 i 2 i ? ? 5 6 ?Header 6 i 6 6 Body Margin Notes i 7 i- 9 i- i- 10 3 - i 8 i 11 ? 1i- 1 3 5 7 9 11 6 ? Footer one inch + \hoffset \oddsidemargin = 17pt \headheight = 12pt \textheight = 548pt \marginparsep = 10pt \footskip = 30pt \hoffset = 0pt \paperwidth = 614pt 2 4 6 8 10 one inch + \voffset \topmargin = 17pt \headsep = 25pt \textwidth = 390pt \marginparwidth = 95pt \marginparpush = 7pt (not shown) \voffset = 0pt \paperheight = 794pt Figura 4 Dimensiones de una página impar 9.3 4i ? 6 Parámetros de una página 65 6 i 2 i ? ? 5 ?Header 6 6 i 6 6 Margin Notes Body i 7 i- 10i 3i 9 - i 8 i 11 ? 1i- 1 3 5 7 9 11 6 one inch + \hoffset \evensidemargin = 62pt \headheight = 12pt \textheight = 548pt \marginparsep = 10pt \footskip = 30pt \hoffset = 0pt \paperwidth = 614pt ? Footer 2 4 6 8 10 one inch + \voffset \topmargin = 17pt \headsep = 25pt \textwidth = 390pt \marginparwidth = 95pt \marginparpush = 7pt (not shown) \voffset = 0pt \paperheight = 794pt Figura 5 Dimensiones de una página par