Lliçó 13

Estructurar documents llargs

Aquesta lliçó explica com LaTeX permet dividir el teu document en documents més petits, i d’aquesta manera pots editar documents llargs d’una manera fàcil i ràpida.

Quan estàs escrivint un document llarg, segurament voldràs separar el contingut del document en diversos arxius. Per exemple, és molt habitual tenir un arxiu principal main/root i altres arxius secundaris: un per cada capítol (en un llibre o una tesi) o per cada secció (en un article llarg).

Estructurar els arxius font

LaTeX et permet separar el contingut de forma controlada. Hi ha dues comandes importants per fer-ho: \input i \include. Podem utilitzar \input per fer que el contingut d’un arxiu funcioni com si fos escrit en aquest punt, i per tant es pot utilitzar (essencialment) per inserir qualsevol tipus de contingut. La comanda \include s’utilitza únicament per als capítols: comença una nova pàgina i realitza alguns ajustaments interns. Però presenta un gran avantatge: ens permet seleccionar els capítols que volem incloure, i per tant ens podem centrar en una part del document més que en el document complet.

Un document llarg podria per tant semblar-se a alguna cosa similar a:

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

\title{Un llibre d'exemple}
\author{John Doe \i Joe Bloggs}

\IfFileExists{\jobname.run.xml}
{
\includeonly{
  front,
%  chap1,
  chap2,
%  append
  }
}
{
% Fem un document sencer per tal de generar
% tots els fitxers auxiliars
}

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

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

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

Mirem alguns dels aspectes de l’exemple anterior. Els diferentss arxius a què es fa referència es troben al final d’aquesta pàgina.

Utlitzar \input

La comada \input és apropiada per a parts d’un document llarg que no siguin capítols independents. En l’exemple, l’hem utilitzat per separar la portada i la contraportada posterior, i així l’arxiu principal és més curt i concís; i així podem reutilitzar la portada i la contraportada en un altre document. L’hem utilitzat també en les seccions que ‘no són capítols’ i que es troben al principi del nostre ‘llibre’: com ara el prefaci. Això permet simplificar l’arxiu principal.

Utilitzar \include i \includeonly

La comanda \include és apropiada per als capítols, motiu pel qual l’hem utilitzat aquí per incloure cada capítol; comença sempre amb una nova pàgina. Hem seleccionat els capítols que seran compilats amb la comanda \includeonly, que com s’ha vist pren com a argument una llista de noms d’arxiu separats por comes. Utilitzant \includeonly pots reduir el temps de compilació i produir un PDF ‘selectiu’ per a les revisions. A més a més, el principal avantatge de \includeonly és que LaTeX utilizarà tota la informació de les referències creuades dels arxius .aux que es corresponen als altres arxius inclosos en el document.

Crear una taula de continguts

La comanda \tableofcontents utilitza la informació de les comandes de secció per omplir una taula de continguts. Té el seu propi fitxer auxiliar, amb extenxió .toc, i segurament hauràs de compilar LaTeX dues vegades per tal de resoldre tota la informació. La taula es genera automàticament a partir dels títols de les seccions. Hi ha comandes similars per \listoffigures i \listoftables, que funcionen prenent les etiquetes de les figures i taules, i que tenen com a extensió .lof i .lot respectivament.

Dividir el document en parts

Les comandes \frontmatter, \mainmatter, i \backmatter afecten al format. Per exemple, \frontmatter canvia la numeració de les pàgines a números romans. La comanda \appendix canvia la numeració a A, B, etc., de manera que en el primer capítol després d’\appendix, la capçalera posarà Appendix A.

Exercicis

Experimenta amb l’estrcutura de base del document de l’exemple, intenta afegir i treure parts amb \includeonly per tal de veure quin efecte té.

Afegeix alguns objectes flotants i crea un índex de taules i figures. Si utilitzes una instal·lació local de LaTeX, fixa’t en quantes compilacions seran necessàries (el sistema en línia ja fa diverses compilacions ‘en segon pla’).


front.tex

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

pref.tex

\chapter{Prefaci}
El text del prefaci. Veure \cite{doody}.

chap1.tex

\chapter{Introducció}
El text del primer capítol.

chap2.tex

\chapter{Alguna cosa}
El text del segon capítol.

append.tex

\chapter*{Appendix}
El text del primer apèndix.

frontcover.tex

\begin{center}
The front cover
\end{center}

dedication.tex

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

copyright.tex

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

backcover.tex

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