Lección 13

Estructurando documentos largos

Esta lección muestra cómo LaTeX le permite dividir su código fuente en ficheros más pequeños y manejables con el fin de realizar documentos largos fácil y rápidamente.

Cuando escriba un documento largo, seguramente querrá separar el contenido del del documento en varios archivos. Por ejemplo, es muy común el tener un archivo principal «main»/«root» y otros archivos secundarios: uno por cada capítulo (en un libro o una tesis) o por cada sección (en un artículo largo).

Estructurando sus archivos fuente

LaTeX le permite separar su contenido de forma controlada. Hay dos comandos importantes para hacer esto: \input e \include. Podemos usar \input para hacer que el contenido de un archivo funcione «como si estuviese escrito en ese punto», con lo que puede ser usado (esencialmente) para insertar cualquier tipo de contenido. El comado \include se usa únicamente para capítulos: comienza una nueva página y realiza algunos ajustes internos. Pero presenta una gran ventaja: nos permite seleccionar los capítulos que queremos incluir, con lo que podemos trabajar en una parte del documento más que con el documento completo.

Un documento largo tendrá una apariencia similar al siguiente ejemplo:

\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}

\title{Un libro de ejemplo}
\author{John Doe \and Joe Bloggs}

\IfFileExists{\jobname.run.xml}
{
\includeonly{
  front,
%  chap1,
  chap2,
%  append
  }
}
{
% Compile inicialmente el documento completo para generar
% todos los ficheros .aux
}

\begin{document}
\frontmatter
\include{front}

% =========================
\mainmatter
\include{chap1}
\include{chap2}
\appendix
\include{append}

% ========================
\backmatter
\printbibliography
\newpage
\input{backcover}
\end{document}

Veamos algunos de los aspectos del ejemplo precedente. Los diferentes archivos de soporte utilizados se encuentran al final de esta página.

Usando \input

El comado \input es apropiado para partes de un documento largo que no sean capítulos independientes. En el ejemplo, lo hemos usado para separar la portada y la cubierta posterior, haciendo que el archivo principal sea más corto y conciso; y pudiendo reutilizar la portada y la contraportada en otro documento. Lo hemos utilizado también con las secciones que «no son capítulos» de por sí y que se encuentran al principio de nuestro «libro»: como el prefacio. De nuevo, esto permite simplificar el archivo principal.

Usando \include e \includeonly

El comando \include es apropiado para los capítulos, razón por la que lo hemos utilizado aquí para incluir cada capítulo; comienza siempre con una nueva página. Hemos seleccionado los capítulos que van a ser compilados con el comando \includeonly, que como ha visto toma como argumento una lista de nombres de archivo separados por comas. Al usar \includeonly puede reducir el tiempo de compilación y producir un PDF «selectivo» para revisiones. Además, la principal ventaja de \includeonly es que LaTeX utilizará toda la información de las referencias cruzadas de los archivos .aux correspondientes a los otros archivos incluidos en el documento.

Creando un índice

El comando \tableofcontents usa la infomación de los comandos de sección para construir el índice. Posee su propio archivo auxiliar, con la extensión .toc, así que puede que necesite ejecutar LaTeX dos veces para que todo funcione correctamente. El índice se genera automáticamente a partir de los títulos de las secciones. Existen comandos similares como \listoffigures (índice de figuras) o \listoftables (índice de tablas), que utilizan las leyendas de los entornos flotantes y que usan las extensiones .lof y .lot, respectivamente.

Dividiendo el documento en partes

Los comandos \frontmatter, \mainmatter y \backmatter afectan a la edición del documento. Por ejemplo, \frommatter cambia la numeración de las páginas a números romanos. El comando \appendix cambia la numeración a A, B, etc., así por ejemplo el primer capítulo, despuès de \appendix, tiene como título Apéndice A.

Ejercicios

Experimente con la estrcutura de base del documento del ejemplo, intente añadir y quitar partes en \includeonly para ver el efecto que tiene.

Añada algunos objetos flotantes y cree un índice de tablas y figuras. Si usa una instalación local de LaTeX, vea ¿cuántas compilaciones son necesarias? (El sistema en línea compila varias veces LaTeX «en segundo plano» así que no notará las compilaciones sucesivas necesarias).


front.tex

\input{frontcover}
\maketitle
\input{dedication}
\input{copyright}
\tableofcontents
\input{pref}

pref.tex

\chapter{Prefacio}
El contenido del prefacio. Vea \cite{doody}.

chap1.tex

\chapter{Introducción}
El contenido del primer capítulo.

chap2.tex

\chapter{Otra cosa}
El contenido del segundo capítulo.

append.tex

\chapter*{Apéndice}
El contenido del primer apéndice.

frontcover.tex

\begin{center}
La portada
\end{center}

dedication.tex

\begin{center}
\large
Para \ldots
\end{center}

copyright.tex

\begin{center}
Copyright 2020 learnlatex.
\end{center}

backcover.tex

\begin{center}
La contraportada
\end{center}