Estruturando documentos longos
Esta lição mostra como o LaTeX permite dividir seu código em arquivos menores, mais fáceis de editar, e como isso pode tornar a produção de um documento longo mais fácil e rápido.
Quando você está escrevendo um documento longo, você provavelmente vai querer dividir o código fonte em múltiplos arquivos. Por exemplo, é muito comum ter um arquivo ‘principal’, e um arquivo fonte por capítulo (para um livro ou tese), ou por seção (para um artigo longo).
Estruturando seu código fonte
O LaTeX nos permite dividir arquivos fonte de uma forma controlada. Há dois comandos importantes aqui, \input
e \include
. Nós podemos usar \input
para incluir um arquivo como se seu conteúdo estivesse escrito no lugar do comando \input
, então esse comando pode ser usado para (essencialmente) qualquer material. O comando \include
funciona para capítulos somente: ele inicia uma nova página e faz alguns ajustes internos. Mas ele tem uma grande vantagem: ele nos permite incluir arquivos seletivamente, então você pode trabalhar em apenas uma parte do seu documento, ao invés dele todo.
Um documento longo pode, então, ter essa aparência:
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\title{Um livro de exemplo}
\author{John Doe \and Joe Bloggs}
\IfFileExists{\jobname.run.xml}
{
\includeonly{
front,
% chap1,
chap2,
% append
}
}
{
% Inicialmente compilar o documento inteiro
% para gerar todos os arquivos .aux
}
\begin{document}
\frontmatter
\include{front}
% =========================
\mainmatter
\include{chap1}
\include{chap2}
\appendix
\include{append}
% ========================
\backmatter
\printbibliography
\newpage
\input{backcover}
\end{document}
Vamos ver os vários aspectos desse arquivo a seguir. (Os vários arquivos de suporte estão no final desta página.)
Usando \input
O comando \input
é bom para partes de um longo arquivo que não são capítulos separados. No exemplo, nós o usamos para separar a capa e contracapa, mantendo o arquivo principal curto e claro, e isso significa que poderíamos reusar as capas em outro documento. Nós também usamos \input
para as partes ‘não-capítulo’ no início do nosso ‘livro’: coisas como o prefácio. Novamente, isso é para manter o arquivo principal limpo.
Usando \include
e \includeonly
O comando \include
é bom para capítulos, então usamos ele para capítulos completos; ele sempre inicia uma nova página. Escolhemos quais capítulos serão de fato compilados usando \includeonly
, que como você pode ver recebe uma lista separada por vírgula de nomes de arquivo. Ao usar o \includeonly
, você pode encurtar o tempo total de execução do seu documento e produzir um PDF ‘seletivo’ para revisão. Adicionalmente, a principal vantagem de \includeonly
é que o LaTeX vai usar todas as referências cruzadas dos arquivos .aux
de outros arquivos incluídos.
Criando um sumário
O comando \tableofcontents
usa as informações dos comandos de secionamento para preencher o sumário. Ele tem seu próprio arquivo auxiliar com extensão .toc
, então você pode precisar executar o LaTeX duas vezes para resolver toda a informação. O sumário é gerado automaticamente dos títulos das seções. Há comandos simlares para lista de figuras (\listoffigures
) e de tabelas (\listoftables
), que obtém as legendas das figuras do comando \caption
nos ambientes float figure
e table
, e usa arquivos com extensão .lof
e .lot
, respectivamente.
Dividindo o documento em partes
Os comandos \frontmatter
, \mainmatter
, e \backmatter
afetam a formatação. Por exemplo, \frontmatter
muda a numeração das páginas para algarismos Romanos O comando \appendix
muda a numeração dos capítulos para A
, B
, etc., então o primeiro comando \chapter
depois de \appendix
imprime Appendix A
.
Exercícios
Experimente com a estrutura básica do documento de exemplo, e tente adicionar e remover itens em \includeonly
para ver o efeito.
Adicione alguns floats para produzir uma lista de figuras e tabelas. Se estiver usando uma instalação local de LaTeX, você consegue ver quantas execuções do LaTeX são necessárias? (Os sistemas online executam o LaTeX quantas vezes forem necessárias automaticamente, então não fica claro quantas vezes são necessárias.)
front.tex
\input{frontcover}
\maketitle
\input{dedication}
\input{copyright}
\tableofcontents
\input{pref}
pref.tex
\chapter{Preface}
The preface text. See \cite{doody}.
chap1.tex
\chapter{Introduction}
The first chapter text.
chap2.tex
\chapter{Something}
The second chapter text.
append.tex
\chapter*{Appendix}
The first appendix text.
frontcover.tex
\begin{center}
The front cover
\end{center}
dedication.tex
\begin{center}
\large
For \ldots
\end{center}
copyright.tex
\begin{center}
Copyright 2020 learnlatex.
\end{center}
backcover.tex
\begin{center}
The back cover
\end{center}