Isot dokumentit

Julkaistu

Tähän sivuun liittyvät esimerkkitiedostot isot_dokumentit.zip ja isot_dokumentit.pdf.

Jos kirjoitettava LaTeX-dokumentti kasvaa kovin suureksi, niin sen kääntäminen saattaa olla jo häiritsevän hidasta. Tällöin on parasta jakaa dokumentti sopivan kokoisiin osiin, joita voidaan kääntää yksitellen. LaTeX tarjoaa tätä tarkoitusta varten komennot \input, \include ja \includeonly.

Komento \input{tiedosto} lukee argumenttina olevan tiedoston siihen kohtaan dokumentissa, jossa komento on annettu. Komennolla \input voi lisätä dokumenttiin esimerkiksi yleiskäyttöisiä osia, joita voi käyttää useissa eri dokumenteissa, tai vaihtoehtoisia osia, joilla dokumentin ulkoasua tai sisältöä voidaan muuttaa.

\input{esittelyosa.tex} % Yleinen ja yhteinen esittelyosa.
\newcommand*{\komento}{määrittely} % dokumentin omat komennot
\begin{document}
Tähän kirjoitetaan dokumentin sisältö.
\end{document}

Vaikka komentoa \input voi käyttää dokumentin sisällön pilkkomiseen pienempiin osiin, niin paremmin tähän tarkoitukseen soveltuu komento \include. Komento \include aloittaa aina uuden sivun, joten se sopii kirjoitelman lukujen tai vastaavien osien liittämiseen päätiedostoon. Komennolla \includeonly säädellään, mitkä osat kulloinkin käännetään. Käännöksen tuloksena syntyvä pdf-tiedosto sisältää vain komennon \includeonly argumentissa lueteltujen tiedostojen sisällön, mutta tekstin sisäiset viittaukset muiden tiedostojen sisältöön ovat silti oikein, kunhan kaikki osat on käännetty ainakin kertaalleen. Komentojen \include ja \includeonly argumenteissa ei käytetä tiedostotunnistetta, sillä näillä komennoilla voi lukea vain .tex-päätteisiä tiedostoja.

\input{esittelyosa.tex}
\includeonly{luku_1,loppu} % Vain luku 1 ja loppu käsitellään.
\begin{document}
\include{alku} % Kansilehti, sisällysluetelo, esipuhe, ...
\include{luku_1}
\include{luku_n}
\include{loppu} % Lähdeluettelo, hakemisto, liitteet, ...
\end{document}

TeXworks, kuten monet muutkin LaTeX-editorit, tukee dokumentin jakamista useisiin tiedostoihin. Tämä on toteutettu TeXworksissa siten, että komennolla \input tai \include luettavien tiedostojen alkuun lisätään päätiedoston hakemistopolku suhteessa luettavaan tiedostoon. Jos kaikki tiedostot sijaitsevat samassa hakemistossa, niin riittää ilmoittaa pelkkä päätiedoston nimi:

% !TEX root = isot_dokumentit.tex

Tällöin TeXworksin komento Typeset kääntää aina päätiedoston riippumatta siitä, mitä tiedostoa ollaan muokkaamassa.