Pamoka 13

Ilgesnių dokumentų skaidymas

Ši pamoka parodo, kaip padalyti jūsų LaTeX dokumentą į mažesnius, lengviau tvarkomus failus, ir kaip tai palengvina ir pagreitina ilgo dokumento kūrimą.

Kai jūs rašote ilgesnį dokumentą, tikriausiai norėsite padalyti jį į kelis failus. Pavyzdžiui, labai įprasta turėti vieną pagrindinį (ar šakninį) failą, po to po vieną įvesties failą kiekvienam (knygos, disertacijos ar ilgesnio straipsnio) skyriui.

Jūsų įvesties skaidymas

LaTeX sistemoje yra numatyta galimybė kontroliuojamu būdu suskaidyti įvestį: dvi tam svarbios komandos yra \input ir \include. Galime naudoti komandą \input, kai norime, kad failas būtų tarsi „įvestas čia“, todėl ją galima naudoti (iš esmės) bet kuriai medžiagai, kuri gali būti LaTeX failo dalis. Komanda \include nepastebimai veikia tik skyriams: ji visada pradeda naują puslapį ir atlieka keletą vidinių pakeitimų. Tačiau ji turi didelį privalumą: leidžia mums atrinkti tik norimus skyrius (paprastai vieną iš jų), kad galėtumėme greičiau prasukti pro LaTeX tik dalį, o ne visą dokumentą.

Taigi ilgesnis dokumentas gali atrodyti taip:

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

\title{A Sample Book}
\author{John Doe \and Joe Bloggs}

\IfFileExists{\jobname.run.xml}
{
\includeonly{
  front,
%  chap1,
  chap2,
%  append
  }
}
{
% Pirmą kartą visas dokumentas, kad
% susigeneruotų visi aux failai
}

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

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

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

Toliau apžvelgsime įvairius šio pavyzdžio aspektus. (Kiti reikalingi failai yra šio puslapio pabaigoje.)

\input naudojimas

Komanda \input tinka toms failo dalims, kurios nėra atskiri skyriai (chapters). Pavyzdyje mes ją panaudojome, kad atskirtume priekinį ir galinį viršelius, taip išlaikydami pagrindinį failą trumpą ir aiškų ir numatydami panaudoti viršelius ir kitam dokumentui. Mes ją taip pat panaudojome skyriuose (chapters) atskirti kai kuriuos mažesnius (ne chapters) skyrius, pradedančius mūsų „knygą“, tokius, kaip pratarmė. Tai vėlgi padeda išlaikyti pagrindinį failą aiškų.

\include ir\includeonly naudojimas

\include komanda tinka chapter tipo skyriams, todėl mes ją panaudojome kiekvienam skyriui; ji visada pradeda naują puslapį. Su komanda \includeonly mes pasirinkome skyrius išvedimui, pateikdami jai, kaip matote, kableliais atskirtą failų pavadinimų sąrašą. Naudodami \includeonly galite sutrumpinti LaTeX darbo laiką ir sukurti mažesnį PDF dokumentą pasitikrinimui. Be to, pagrindinis \includeonly privalumas yra tame, kad LaTeX panaudos visą nuorodoms reikalingą informaciją ir iš kitų, neįtrauktų skyrių .aux failų.

Turinio lentelės sudarymas

Komanda \tableofcontents naudoja informaciją, išsaugotą skyrių komandų, kad užpildytų turinio lentelę. Ji turi savo pagalbinį failą su plėtiniu .toc (table of contents), todėl, norint turėti aktualią informaciją, gali tekti paleisti LaTeX du kartus. Turinys generuojamas automatiškai iš skyrių pavadinimų. Dar yra panašios komandos \listoffigures ir \listoftables, kurios surenka informaciją iš plaukiojančių aplinkų antraščių (captions) ir tam naudoja atitinkamus pagalbinius failus su plėtiniais .lof ir .lot.

Dokumento dalys

Dokumentas skirstomas į pradinę (front), pagrindinę (main) ir galinę (back) dalis, kurios pažymimos komandomis \frontmatter, \mainmatter ir \backmatter. Dar yra „priedų“ dalis (žymima \appendix komanda), kuri paprastai būna prieš galinę dalį. Dalių komandos daro įtaką išvesčiai. Pavyzdžiui, \frontmatter keičia puslapių numeraciją į romėniškus skaitmenis, \appendix keičia skyrių numeraciją į A, B ir t.t., taigi, pavyzdžiui, pirmojo skyriaus po \appendix komandos antraštėje išvedama Appendix A.

Pratimai

Eksperimentuokite su bazine demonstracinio dokumento struktūra, taip pat pabandykite pridėti ir pašalinti įrašus \includeonly komandos argumente ir pamatykite efektus.

Pridėkite keletą plaukiojančių aplinkų ir sudarykite paveikslėlių ir lentelių sąrašus. Jei naudojate darbo vietoje įdiegtą LaTeX, ar matėte, kiek reikia LaTeX paleidimų? (Internetinės sistemos paleidinėja LaTeX „užkulisiuose“, todėl reikalingi papildomi paleidimai nėra taip pastebimi.)


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}