Dnes budeme pokračovať v tom, čo sme začali minulý diel a ukážeme si ešte jeden väčší príklad v LaTeXu, ktorý využijú najmä tí, ktorí si chcú vytlačiť svoje vizitky na vlastnej tlačiarni.
\documentstyle[a4,slovak,pifont]{article}
\pagestyle{empty}
\topmargin -2.54 cm
\textheight 28 cm
\textwidth 19 cm
\oddsidemargin -1.54 cm
\begin{document}
\font \namefont=phvr8z at 12pt
\font \otherfont=phvrn8z at 7pt
\setlength{\unitlength}{0.1mm}
\def\lhkriz(#1,#2){\put(#1,#2){\line(-1,0){10}}\put(#1,#2){\line(0,1){10}}}
\def\phkriz(#1,#2){\put(#1,#2){\line(1,0){10}}\put(#1,#2){\line(0,1){10}}}
\def\ldkriz(#1,#2){\put(#1,#2){\line(-1,0){10}}\put(#1,#2){\line(0,-1){10}}}
\def\pdkriz(#1,#2){\put(#1,#2){\line(1,0){10}}\put(#1,#2){\line(0,-1){10}}}
\def\rbox(#1)#2{\put(0,#1){\makebox(900,100)[c]{\makebox(800,100)[r]{#2}}}}
\def\lbox(#1)#2{\put(0,#1){\makebox(900,100)[c]{\makebox(800,100)[l]{#2}}}}
\def\vizit{
\begin{picture}(900,500)
\otherfont
\ldkriz(0,0)
\lhkriz(0,500)
\pdkriz(900,0)
\phkriz(900,500)
\lbox(400){Bezdomovec \& synovia, spol. s.~r.~o.}
\lbox(370){Pod Mostom 12, 043 21 Bezdomovce 21}
\lbox(340){tel./fax 012 343 311}
\rbox(250){\namefont Ing. Dodo Bezdomovec}
\rbox(210){spoločník}
\rbox(95){\line(1,0){800}}
\lbox(70){Kanalizačná 1/A, 043 42 Bezdomovce 42}
\lbox(40){\ding{38}}
\lbox(40){\hspace{8 pt} 012 342 111}
\lbox(10){\hspace{8 pt} 0904 324 999}
\rbox(40){\ding{41} dodo@dumb.sk}
\rbox(10){bezdomovec@bezdomovec.sk}
\end{picture}
}
\def \vizitln {\vspace{1 mm} \par \noindent \vizit \vizit}
\vizitln \vizitln \vizitln \vizitln \vizitln
\end{document}

Každý náš dokument sa začína príkazom \documentstyle. Takto sa začínajú všetky dokumenty napísané v LaTeXu vo verzii 2.09. Počas niekoľkých rokov sa napísalo mnoho rozšírení, čo na jednej strane svedčí o rastúcej popularite, ale na druhej strane, kvôli mixovaniu štandardného LaTeXu s rôznymi rozšíreniami, to viedlo k nekompatibilným formátom LaTeXu. Táto situácia bola vyriešená napísaním novej verzie 2e. Balíky, ktoré boli predtým mixované s LaTeXom sa teraz stali alebo súčasťou novej verzie (napr. New Font Selection Scheme, NFSS, o tomto si povieme niečo nabudúce), alebo balíkmi (packages) ktoré sa dajú prihrať pomocou príkazu \usepackage a používajú rovnaký východzí formát. LaTeX2e podporuje aj dokumenty napísané v LaTeX 2.09. Všimnite si, že vám pri kompilácii dokumentov (začínajúcich \documentstyle) latex napíše Entering LaTeX 2.09 compatibility mode.
Keď sa pozrieme na rozdiely medzi verziou 2.09 a 2e, pochopíte, prečo sme začali práve s verziou 2.09. V ďalších dieloch sa budeme venovať rôznym balíkom, ktoré pre LaTeX existujú a mnohé z nich potrebujú LaTeX2e.
Hlavný rozdiel medzi spomínanými verziami je v príkazoch, ktoré sa píšu pred \begin{document}. Vo verzii 2.09 majú dokumenty štýly, ako napríklad book alebo article a voľby ako 12pt, twoside. Dokument začína príkazom
\documentstyle[voľby]{štýl}
Použité voľby sú ale dvojakého druhu. Vlastné voľby (v angličtine built-in options) ako napríklad twoside, a balíky (packages), ako napríklad epsf. Balíky sú uložené v zvláštnych súboroch; majú koncovku .sty, napr. epsf.sty (/usr/lib/texmf/texmf/tex/generic/dvips/epsf.sty). LaTeX2e odlišuje tieto dva druhy. Vlastné voľby sú špecifikované v príkaze \documentclass, balíky sa nahrávajú pomocou príkazu \usepackage. Napríklad
\documentclass[twoside]{article}
\usepackage{epsf}
(Poznámka: voľba slovak je balík, takže odteraz budeme používať vo všetkých dokumentoch príkaz \usepackage{slovak}.) V príkaze \usepackage môžeme uviesť aj viac balíkov naraz, napr.
\usepackage{slovak,epsf}
Vo verzii 2.09 len štýly mohli mať svoje voľby. V LaTeX2e môžu aj balíky mať svoje vlastné voľby. Tie sú uvedené medzi [ ], napr.
\usepackage[dvips]{graphics}
Voľby, ktoré sú uvedené v príkaze \documentclass sú voľbami aj pre každý použitý balík. Štandardné triedy sú
article, book, report, letter, slides, proc, ltxdoc, ltxguide, ltnews a minimal.
Určenie niektorých z nich už poznáme, k ostatným sa dostaneme v neskorších dieloch.
Inicializačné príkazy sa môžu vyskytnúť len pred príkazom \documentclass.
Tieto prostredia sú inicializačné a slúžia na vytvorenie textových súborov ešte pred samotnou kompiláciou dokumentu. Výskušajte si takýto príklad:
\begin{filecontents}{priklad.txt}
Tento text sa ulozi do suboru priklad.txt!
\end{filecontents}
\documentclass{article}
\begin{document}
...
\end{document}
Spusťte (cs)latex a pozrite sa do adresára. Nájdete tam súbor priklad.txt:
%% LaTeX2e file `priklad.txt' %% generated by the `filecontents' environment %% from source `priklad1' on 2000/01/04. %% Tento text sa ulozi do suboru priklad.txt!
Ak použijete prostredie filecontents*, vytvorený súbor nebude obsahovať úvodný komentár (4 riadky na začiatku súboru, začínajúce sa %%). Ale pozor! Ak súbor so zadaným menom už existuje, neprepíše sa. Príkladom na užitočné využitie tohoto prostredia je napríklad vloženie encapsulated postscript obrázkov priamo do zdrojového kódu. (Pri posielaní napr. e-mailom vám potom stačí preniesť iba jeden súbor.)
Tieto príkazy by mali byť použité výhradne pred \begin{document}.
\documentclass[voľby]{menotriedy}[dátum]
Tento príkaz musí byť pred všetkými ostatnými príkazmi s výnimkou prostredia filecontents(*). O tomto príkaze sme už hovorili, takže sa zameriame len na voliteľný parameter dátum. Ten je zapísaný v tvare RRRR/MM/DD, napr. 1998/11/25. Ak je použitá trieda staršia ako uvedený dátum, LaTeX vás na to upozorní. Napríklad
\documentclass{article}[2000/02/01]
\begin{document}
\end{document}
vygeneruje napríklad takéto
varovanie:
LaTeX Warning: You have requested, on input line 1, version `2000/02/01' of document class article, but only version `1996/10/31 v1.3u Standard LaTeX document class' is available.
\usepackage[voľby]{menobalíku}[dátum]
Aj s týmto príkazom sme sa už stretli. Parameter dátum má analogický význam ako pri \documentclass, vzťahuje sa však na daný balík.
\listfiles
Na terminál sa vypíšu všetky súbory načítané počas behu programu (cs)latex.