- CS-A0100
- Ensikosketus LaTeXiin
- 3 Kun asiat menevät pieleen
Kun asiat menevät pieleen¶
LaTeXin tapa reagoida virheisiin ei ole ihan sellainen kuin mihin 2020-luvun ohjelmoija on tottunut, ja oletuskäyttäytyminen on hyvinkin erikoinen. Mietit jo ehkä sitäkin, miksi käännöskomento oli niin mutkikas: mihin tarvittiin -interaction=nonstopmode
?
Puuttuva loppu¶
Kokeillaanpa. Tehdään dokumenttiin pieni virhe ja jätetään lopusta \end{document}
pois. Aloita puhtaalta pöydältä ja poista kaikki tiedostot. Kirjoita nimellä lapio.tex tällainen dokumentti:
\documentclass{article}
\begin{document}
Testi
Yritä nyt kääntää tätä seuraavalla komennolla:
pdflatex lapio.tex
Kokeillaan nyt, mitä -interaction=nonstopmode
vaikuttaa. Käytetään samaa virheellistä dokumenttia ja käännetään se nyt näin:
pdflatex -interaction=nonstopmode lapio.tex
Kumpikaan ei taida olla ihan sellainen lopputulos, jota haluaisimme nähdä, mutta jälkimmäinen lienee hiukan vähemmän mystinen. Käytämme siis toistaiseksi kokeiluissamme komentoa pdflatex -interaction=nonstopmode lapio.tex
.
Puuttuva alku¶
Tehdään vielä muutama kokeilu. Mitä tapahtuu, jos unohdetaankin \begin{document}
? Luo siis tällainen virheellinen dokumentti:
\documentclass{article}
Testi
\end{document}
Ja käännä se näin:
pdflatex -interaction=nonstopmode lapio.tex
Kun oikein tarkasti lukee LaTeXin tulostetta, joskus siellä on hyödyllistäkin tietoa. LaTeX itseasiassa onnistui kyllä kertomaan, missä kohtaa vika tarkalleen ottaen oli. Kun katsot tulostetta, näet siellä myös tällaisen pätkän:
l.2 T
esti
Ollaan siis tiedoston rivillä 2 (l.2
), ja rivinvaihdolla on merkitty ongelman tarkka paikka: LaTeX on juuri saanut luettua kirjaimen "T" ja seuraavaksi olisi vuorossa "esti", mutta jo tässä T-kirjaimen kohdalla LaTeX ei tiennyt, mitä tehdä. LaTeX ei odottanut tavallista tekstiä ennen \begin{document}
-komentoa, eikä tiedä, mitä sille tekisi.
Puuttuva sisältö¶
Kokeillaan vielä tällaista dokumenttia, josta puuttuu kokonaan sisältö:
\documentclass{article}
\begin{document}
\end{document}
Huolehdi taas, että aloitat puhtaalta pöydältä ja hakemistossa ei ole mitään muuta kuin pelkkä lapio.tex
-tiedosto. Käännä tiedosto näin:
pdflatex -interaction=nonstopmode lapio.tex
Nämä kokeilut virheellisten dokumenttien kanssa on hyvä pitää mielessä jatkossa, jos törmäät LaTeXin kanssa mystisiin virhetilanteisiin.