
%  První setkání s TeXem
%%%%%%%%%%%%%%%%%%%%%%%%
% (C) 1999    Petr Oląák

% format: csplain, kódování ISO-8859-2

% Tento dokument můľete vytisknout pro vlastní potřeby nebo jej
% elektronicky dále ąířit v nezměněné podobě jako soubory prvni.tex,
% prvni.ps a prvni.pdf

\chyph
\magnification\magstep1
\advance\vsize by\baselineskip

%% Varianta pro pdftex
\ifx\pdfoutput\undefined
  \def\zalozka#1{}
\else
  \def\zalozka#1{%
     \global\advance\secnum by1
     \pdfdest num\secnum fitbh
     {\let~=\space \def\TeX{TeX}%
     \pdfoutline goto num\secnum count 0 {#1}}}
  \pdfinfo{
     /Author (Petr Olsak)
     /CreationDate (D:19991108)
     /ModDate (D:19991108)     
     /Creator (TeX)  
     /Producer (pdfTeX)
     /Title (Prvni setkani s TeXem)
     /Subject (manual)  
     /Keywords (TeX) }
  \pdfcatalog{/PageMode /UseOutlines} 
  \pdfcompresslevel=9
\fi

%% Vzhled dokumentu
\parindent=11pt
\lineskiplimit=-4pt
\emergencystretch=2em
\raggedbottom

%% Deklarace registrů
\newcount\bibnum
\newcount\footnum
\newcount\secnum

% Fonty
\input cpalatin
\font\tentt=cstt10 \hyphenchar\tentt=-1
\font\cmit=csti10
\font\mflogo=logo10
\font\showtt=cstt9
\font\tencsr=csr10
\font\titulfont=\fontname\tenbf\space scaled\magstep2
\font\bigfont=\fontname\tenbf\space scaled\magstep5
\font\scriptm=\fontname\tenrm\space at7pt
\scriptfont0=\scriptm

%% Základní makra
\def\sekce #1\par{\removelastskip\penalty0\zalozka{#1}\nobreak\bigskip
   \noindent{\titulfont #1}\par\nobreak\medskip}
\def\bod{\item{$\triangleright$}}
\def\bib{\parindent=22pt\global\advance\bibnum by1 
  \par\hang\indent\llap{[\the\bibnum]\hskip11pt}\ignorespaces}

%% Čárka místo tečky v matematice:
\mathcode`\.="013B
\def\doteq{\buildrel\hbox{.}\over=}

%% Verbatim prostředí \begtt...\endtt, "...".
{\obeyspaces \gdef\activespace{\obeyspaces\let =\ }}
\def\setverb{\def\do##1{\catcode`##1=12}\dospecials}
\def\begtt{\medskip\hbox\bgroup\vrule\vbox\bgroup\hrule
  \smallskip\bgroup \setverb \catcode`\"=12 \activespace 
  \baselineskip=.9\baselineskip
  \def\par{\leavevmode\strut\endgraf} 
  \obeylines \startverb} 
{\obeylines \catcode`\|=0 \catcode`\\=12 
  |gdef|startverb#1^^M#2\endtt{%
    |showtt#2|egroup|smallskip|hrule|egroup|vrule|egroup|medskip}} 
\def\"{"} \catcode`\"=13
\def"{\leavevmode\hbox\bgroup\let"=\egroup\setverb\obeyspaces\tt}

%% Prostředí ukázek
\def\beguk{\medskip\hbox\bgroup\vrule\vbox\bgroup\hrule\medskip
   \leftskip=\parindent \rightskip=\parindent \relax}
\def\enduk{\medskip\hrule\egroup\vrule\egroup\medskip}

%% Tabulky
\def\begtable{$$\vbox\bgroup
  \let\par=\cr \obeylines \halign\bgroup &##\hfil\qquad\cr}
\def\endtable{\egroup\egroup$$}
\abovedisplayskip=\abovedisplayshortskip
\def\tabline{\noalign{\smallskip\hrule}}
\def\.{\hphantom{0}}

%% Výčtová prostředí 
\def\begitems{\medskip\bgroup}
\def\enditems{\par\egroup\medskip}

%% Loga
\def\LaTeX{L\kern-.36em\raise.5ex\hbox{\sevenrm A}\kern-.12em\TeX}
\def\CS{$\cal C\kern-.1667em\lower.5ex\hbox{$\cal S$}\kern-.075em $}
\def\mf{{\mflogo META}\-{\mflogo FONT}}
\def\AMS{$\cal A\kern-.166em\lower.5ex\hbox{$\cal M$}\kern-.075em S$}
\def\twoe{$2_{\textstyle\varepsilon}$}

%% Poznámky pod čarou
\let\orifootnote=\footnote
\def\footnote{\global\advance\footnum by1\orifootnote{$^{\the\footnum}$}}

%% Pomocné
\def\url#1{{\tt #1}}
\let\pp=\noindent
\let\,=\thinspace

%% Titulní strana
\bgroup \nopagenumbers \pageno=0
\null\vfill
{\baselineskip=40pt
\centerline{\bigfont První setkání s~\TeX{}em}
\centerline{\bigfont Petr Oląák}
}
\vskip 0pt plus2fill\break
\parindent=0pt \parskip=\bigskipamount
\null\vfil
Autor programu \TeX{} je profesor Donald Knuth.
\par
\TeX{} je ochranná známka American Mathematical Society.
\par
Ostatní v manuálu pouľité názvy programových produktů, firem
apod. mohou být ochrannými známkami nebo registrovanými ochrannými
známkami přísluąných vlastníků.
\vfill
Copyright $\copyright$ RNDr. Petr Oląák, 1999
\par
Tento text si můľete vytisknout pro vlastní potřeby. Je k~dispozici
společně s~balíkem \CS\TeX{} na
\url{ftp://math.feld.cvut.cz/pub/cstex/doc} 
ve zdrojovém textu ({\tt prvni.tex}), PostScriptu ({\tt prvni.ps}) a ve
formátu PDF ({\tt prvni.pdf}).  Můľete jej také distribuovat, ale pouze
v~nezměněné elektronické podobě.
\bigskip\break
\egroup
\pageno=1



\sekce Úvod
%%%%%%%%%%%

Tento manuál je koncipován jako \uv{první seznámení s~programem \TeX{}%
    \footnote{Název \TeX{} se čte \uv{tech}, nikoli \uv{teks}.}
na jeden večer}. Měl by umoľnit začátečníkovi porozumět
základním principům \TeX{}u. Manuál obsahuje ukázku jednoduchého dokumentu,
který by si měl čtenář sám přepsat do svého počítače a na něm \TeX{}
vyzkouąet. Je to dobrý první krok do pestrého světa tohoto programu plného
zajímavých moľností. Ukázka by měla téľ naznačit uľitečnost dobrého návrhu
značkování vstupního textu tak, aby byl oddělen obsah dokumentu od jeho
formy. Předvedená ukázka také ilustruje základní principy roząíření \TeX{}u
(plain nebo \LaTeX). Tím můľe uľivatel hned na prvním dokumentu rozhodnout,
které \TeX{}ové roząíření je bliľąí jeho srdci a podle toho vybrat daląí
literaturu pro doplňující studium.

Předpokládáme, ľe čtenář má určité důvody proč pouľít \TeX{}, takľe se zde
nebudeme zdrľovat výčtem jeho výhod, rozepisovat obąírně jeho historii a
nebudeme polemizovat o~uľitečnosti či neuľitečnosti dávkového či
interaktivního systému na přípravu sazby.


\sekce \TeX\ a jeho okolí
%%%%%%%%%%%%%%%%%%%%%%%%%

\TeX{} je formátor. Je to program, kterému předloľíme vstupní text
dokumentu v~\uv{holé} textové podobě doplněný textovými
značkami, které vymezují strukturu dokumentu nebo dávají \TeX{}u pokyny
o~způsobu formátování dokumentu. Bývá obvyklé (ale není to nutné)
pojmenovat tento soubor s~pouľitím přípony {\tt.tex}, například 
\hbox{\tt dokument.tex}. Na výstupu pak po zpracování \TeX{}em dostaneme
tzv.~{\tt dvi} soubor%,
    \footnote{odvozeno z~anglického \uv{device independent}~-- na
              zařízení nezávislý},
který obsahuje definitivní informace o~pouľitých fontech a o~umístění
jednotlivých znaků na stránce. Tento soubor má název odvozený od názvu
vstupního souboru, ale má příponu {\tt.dvi}. Lze jej prostřednictvím
vhodného programu prohlédnout na obrazovce (vidíme, jak bude dokument
skutečně vypadat), nebo jej vytisknout na tiskárně.

\TeX{} tedy čte na svém vstupu soubor s~dobře definovanou syntaxí jazyka
značek a na výstupu je rovněľ soubor s~úplným popisem sazby. \TeX{}
jako takový je nezávislý na operačním systému. Vývoj samotného \TeX{}u
je zastaven, takľe pro uľivatele nehrozí nebezpečí vzniku daląích
nekompatibilních verzí. Daląí programy \uv{okolo \TeX{}u} tvoří
dohromady tzv.~implementaci \TeX{}u a umoľní s~\TeX{}em rozumným
způsobem pracovat.

Začínající uľivatel se samozřejmě hlavně ptá po způsobu, jak můľe
v~konkrétním operačním systému s~konkrétní \TeX{}ovou implementací
s~tímto programem pracovat, jak jej spustit, jakými tlačítky se ovládá
textový editor, jaké nabídky jsou k~dispozici, co nad kterým obrázkem udělá
myą. Ptá se tedy po uľivatelském rozhraní. Jednotlivé manuály o~\TeX{}u
tradičně odkazují na tzv.~\uv{místní příručku} (Local Guide), která by
měla toto rozhraní popisovat. Tato příručka je závislá na pouľitém
operačním systému, na pouľité implementaci \TeX{}u, na vybraném textovém
editoru a někdy téľ na administrátorovi systému, který konfiguruje některé
věci specificky pro větąí pohodlí uľivatelů. Ani v~tomto manuálu nejsou
uvedeny podrobnosti o~uľivatelském rozhraní.

V~graficky orientovaných operačních systémech je větąinou moľné otevřít
současně v~jednom okénku textový editor, ve kterém uľivatel píąe nebo
modifikuje vstupní text a ve vedlejąím okénku prohlíľeč výstupního
{\tt dvi} souboru. Po modifikaci vstupního textu a spuątění \TeX{}u
(nejlépe klávesovou zkratkou přímo z~editoru) se během pár sekund 
projeví změna v~prohlíľeči výsledného dokumentu.

Textový editor, ve kterém připravujeme nebo modifikujeme vstupní texty
dokumentů, nesmí ukládat na disk ľádné skryté formátovací informace
implementované jen pro tento editor (jako například změna fontu, měkké
konce řádku apod.). To dělají tzv.~textové procesory, které v~případě
práce s~\TeX{}em větąinou nepouľíváme.

Zvyklosti ve značkování dokumentu jsou vesměs závislé na pouľitém {\it
formátu} \TeX{}u, který modifikuje jeho chování. Říkáme, ľe je
dokument napsán ve formátu {\it \LaTeX}, pokud je někde na začátku
vstupního textu dokumentu uvedena značka "\documentclass" nebo
"\documentstyle".  Pokud tam tuto značku nenajdeme, můľeme
předpokládat, ľe je dokument napsán ve formátu {\it plain}, v~případě
česky psaného dokumentu pak ve formátu {\it csplain}. Tento manuál je
například napsán ve formátu csplain a je uloľen v~souboru 
{\tt prvni.tex}. Můľe se stát, ľe nějaký dokument je napsán ve formátu
\AMS\TeX{} nebo v~jiném méně pouľívaném formátu. Tím se ale zde nebudeme
zabývat. Rozdíl mezi plainem a \LaTeX{}em a smysl pouľití formátů vyplyne
aľ z~daląího textu.

Následující tabulka ukazuje způsoby spuątění \TeX{}u. Předpokládáme,
ľe je k~dispozici operační systém, který umoľňuje uľivateli zadávat
pokyny z~příkazového řádku. Tím nevylučujeme, ľe nelze některé
popisované činnosti implementovat do nějaké uľivatelské nabídky
konkrétního uľivatelského rozhraní.  Uvaľujme, ľe je 
vstupní text dokumentu připraven v~souboru {\tt dokument.tex}.

\begtable
  příkazový řádek    &  komentář
  \tabline
  "tex dokument"       &  anglický dokument, formát plain
  "csplain dokument"   &  český nebo slovenský dokument, formát csplain
  "latex dokument"     &  formát \LaTeX, jazyk je deklarován v~dokumentu
  "cslatex dokument"   &  modifikovaný \LaTeX{} pro čeątinu a slovenątinu
\endtable  

Vąimneme si, ľe v~příkazovém řádku píąeme za jméno formátu název vstupního
souboru a ľe příponu {\tt.tex} nemusíme psát. Dobře instalovaná
implementace \TeX{}u by měla podle jména formátu spustit \TeX{} modifikovaný
právě tímto formátem.

Pokud nemáme ve své implementaci \TeX{}u formát csplain, je to ąpatné
znamení. Nebudeme totiľ schopni zpracovat ani tento manuál ani
ukázku, která je v~něm obsaľena. V~takovém případě lze doporučit
poohlédnout se po \CS\TeX{}u, který najdeme například na
\url{http://math.feld.cvut.cz/olsak/cstex}.

K~prohlédnutí dokumentu se pouľívají různé programy (tzv.~dvi~prohlíľeče).
Volba prohlíľeče závisí na pouľitém operačním systému a na implementaci
\TeX{}u. V~UNIXu je nejčastějąí program {\tt xdvi} (stačí napsat 
"xdvi dokument"). V~MS Windows se pouľívá {\tt windvi}, {\tt dviwin}
nebo {\tt yapp}. V~DOSu se setkáme nejčastěji s~programem {\tt dviscr}
z~implementace em\TeX{}. Pro OS/2 má em\TeX{} \uv{okenní} variantu
prohlíľeče {\tt dvipm}.

Na PostScriptovou tiskárnu vytiskneme dokument programem {\tt dvips},
příkazový řádek: "dvips -Ptiskarna dokument". Nemáme-li PostScriptovou
tiskárnu, větąinou před ní předřadíme Ghostscript, coľ je volně
dostupný konvertor z~PostScriptu. Někdy lze téľ najít ovladač pro 
tiskárnu přímo v~přísluąné \TeX{}ové implementaci.


\sekce Jdeme na to
%%%%%%%%%%%%%%%%%%

Nejprve zkusíme v~nějakém textovém editoru vytvořit soubor {\tt pokus.tex},
který obsahuje zkuąební větu:

\begtt %--------------------------------------------------------------
Ahoj světe!
\bye
\endtt %--------------------------------------------------------------

Pokud zpracujeme tento soubor \TeX{}em s~formátem csplain
(připomínáme, ľe je moľné pouľít povel {\tt csplain pokus}), 
dostaneme výstupní soubor {\tt pokus.dvi}. Navíc
\TeX{} uloľí informaci o~zpracování do souboru {\tt pokus.log}. Výsledný
{\tt dvi} soubor si můľeme prohlédnout prohlíľečem. Dostaneme
očekávaný  výsledek:

\beguk %-------------------------------------------------------------
\tencsr Ahoj světe!
\enduk %-------------------------------------------------------------

\pp Přitom dole na stránce je jeątě vytiątěno číslo strany:~1.

Pokud zkusíme tentýľ soubor zpracovat \TeX{}em s~formátem plain
(příkazový řádek {\tt tex pokus}), výstup bude zmrąený: \uv{Ahoj svte!}.
Vidíme, ľe textový soubor s~akcenty nelze jednoduąe vnutit originálnímu
americkému \TeX{}u, ale místo formátu plain je potřeba pouľít modifikovaný
csplain.

Kdybychom chtěli tentýľ soubor zpracovat \TeX{}em s~formátem \LaTeX{}
(krátce říkáme, ľe soubor zpracováváme \LaTeX{}em), obdrľíme chybové
hláąení:

\begtt %--------------------------------------------------------------
! LaTeX Error: Missing \begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.1 A
     hoj světe!
? 
\endtt %--------------------------------------------------------------

Vidíme tedy, ľe soubor není vhodně připraven ke zpracování \LaTeX{}em.
Chybí mu "\begin{document}". Později ukáľeme, ľe mu chybí více věcí, ale
v~tuto chvíli raději zůstaneme u~csplainu. Komunikaci s~\TeX{}em při
chybovém hláąení ukončíme odesláním znaku {\tt x}. Chceme-li, aby
\TeX{} chybu ignoroval a pokračoval ve zpracování dokumentu, stačí na
otazník odpovědět \uv{Enter} (v~tomto příkladě, kdy dokument vhodný
pro csplain chceme zpracovat \LaTeX{}em, se pouze dočkáme daląí
zavlečené chyby).

Zkusíme si nyní přepsat do počítače následující poněkud rozsáhlejąí
dokument. Soubor nazveme třeba {\tt mujprvni.tex} a vytvoříme jej
libovolným textovým editorem. Pokud je čtenář od přírody \uv{lenivý}, můľe
se místo zdlouhavého přepisování pokusit najít text ukázky ve vstupním
souboru {\tt prvni.tex} tohoto manuálu a přenést jej do svého souboru
{\tt mujprvni.tex} jako blok v~textovém editoru.

Moľná nám můľe připadat část označená jako \uv{oblast definic} hodně
nepochopitelná, skoro jako porucha na lince. Přesto se zatím pokusíme
překonat odpor k~této poruąe a důsledně vąechny znaky přepíąeme.
\TeX{} se nám za to odvděčí silnými moľnostmi, které budeme postupně
odhalovat.

Nemusíme se obtěľovat přepisováním textů, schovaných za znakem "%", protoľe
tímto znakem je zahájen komentář, který končí koncem řádku a který je při
zpracování \TeX{}em ignorován. V~kaľdém případě ale nevynechávejme prázdné
řádky v~ukázce a věnujme pozornost obsahu části označené jako \uv{vlastní
text}, kde jsou vyjmenovány základní jevy, se kterými se při pořizování
textů pro \TeX{} budeme neustále setkávat.

\begtt %=============================================================
%%%%%%%% Zde začíná "oblast definic" pro tento dokument %%%%%%%%%%%

\chyph       % inicializace českého dělení slov v csplainu
\font\titulfont=\fontname\tenbf\space scaled \magstep2  % větąí font
\def\bod{\item{$\bullet$}}  % definice zkratky \bod pro výčet
\def\nadpis#1\par{          % definice nadpisu:
   \removelastskip\bigskip  %   odmaľe poslední vert. mezeru a přidá vlastní
   \indent{\titulfont #1}   %   odsazený text nadpisu větąím fontem
   \par\nobreak\medskip}    %   konec řádku, zakázaný zlom, menąí mezera
\let\itemskip=\medskip      % kolem výčtu prvků bude menąí mezera \medskip

%%%%%%%% Zde začíná "vlastní text" dokumentu %%%%%%%%%%%%%%%%%%%%%%%%

\nadpis Můj první dokument

Zkouąím napsat první text v~\TeX u. Tento odstavec musí být
tak dlouhý, aby bylo vidět, ľe se rozlomil aspoň na dva řádky.

Jednotlivé odstavce oddělujeme od sebe prázdným řádkem. Prázdnými řádky
vůbec neąetříme, protoľe zvyąují přehlednost zdrojového textu.
Vyzkouąíme si nyní několik věcí.

\itemskip
\bod Budeme pouľívat české \uv{uvozovky}, které se liąí od ``anglických''.
     Uvědomíme si, ľe pouľití "těchto znaků" je úplně ąpatně!
\bod Rozliąujme mezi spojovníkem (je-li), pomlčkou ve větě~--
     a dlouhou pomlčkou---ta se pouľívá v~anglických dokumentech.
\bod Předpokládáme, ľe kaľdý dokáľe rozeznat 1 (jedničku) od l
     (písmene el) a 0 (nulu) od O~(písmene~O).
\bod Zkusíme přepnout do {\bf polotučného písma}, nebo do
     {\it kurzívy}. Také vyzkouąíme {\tt strojopis}.
\bod Vąimneme si, ľe ve slovech grafika, firma, apod. se písmena
     f a i automaticky proměnila v~jediný znak fi (srovnáme to
     s~nesprávným f\/i).
\bod Mezery mezi písmeny jsou automaticky vyrovnávány podle tvaru písmen.
     Ve slově \uv{Tento} je například písmeno~e těsněji přisazeno
     k~písmenu~T, aby se mezery mezi písmeny opticky jevily stejnoměrné.
\bod Vypravíme se na malou exkurzi do matematiky: $a^2 + b^2 = c^2$.
     Zjistíme, ľe číslo -1 je zde napsáno ąpatně (prokletý spojovník),
     zatímco správně má být $-1$.
\bod Protoľe \% uvozuje komentář a \$ přepíná do matematické sazby,
     musíme před ně napsat zpětné lomítko, chceme-li je dostat do dokumentu.
\itemskip

\nadpis Závěr

To by pro začátek stačilo. Příkazem {\tt\char`\\bye} ukončíme své pokusy.
\bye
\endtt %=============================================================

Po zpracování tohoto dokumentu formátem csplain si můľeme prohlédnout
prohlíľečem {\tt dvi} souboru následující výsledek:

\beguk %=============================================================
\parindent=20truept
\baselineskip=12truept
\font\tenbf=csbx10 at10truept \font\tenit=csti10 at10truept 
\font\tentt=cstt10 at10truept
\font\tenrm=csr10 at10truept \tenrm
\font\symbol=cmsy10 at10truept
\font\mmi=cmmi10 at10truept \font\sevenrm=csr7 at7truept
\textfont0=\tenrm \scriptfont0=\sevenrm
\textfont1=\mmi \textfont2=\symbol
\font\titulfont=csbx10 scaled\magstep1  % větąí font
\def\bod{\item{$\bullet$}}  % definice zkratky \bod pro výčet
\def\nadpis#1\par{          % definice nadpisu:
   \removelastskip\bigskip  %   odmaľe poslední vert. mezeru a přidá vlastní
   \indent{\titulfont #1}   %   odsazený text nadpisu větąím fontem
   \par\nobreak\medskip}    %   konec řádku, zakázaný zlom, menąí mezera
\bigskipamount=12truept \medskipamount=6truept
\let\itemskip=\medskip       % kolem výčtu prvků bude menąí mezera \medskip

\nadpis Můj první dokument

Zkouąím napsat první text v~\TeX u. Tento odstavec musí být
tak dlouhý, aby bylo vidět, ľe se rozlomil aspoň na dva řádky.

Jednotlivé odstavce oddělujeme od sebe prázdným řádkem. Prázdnými řádky
vůbec neąetříme, protoľe zvyąují přehlednost zdrojového textu.
Vyzkouąíme si nyní několik věcí.

\itemskip
\bod Budeme pouľívat české \uv{uvozovky}, které se liąí od ``anglických''.
     Uvědomíme si, ľe pouľití \"těchto znaků\" je úplně ąpatně!
\bod Rozliąujme mezi spojovníkem (je-li), pomlčkou ve větě~-- 
     a dlouhou pomlčkou---ta se pouľívá v~anglických dokumentech.
\bod Předpokládáme, ľe kaľdý dokáľe rozeznat 1 (jedničku) od l
     (písmene el) a 0 (nulu) od O~(písmene~O).
\bod Zkusíme přepnout do {\bf polotučného písma}, nebo do
     {\it kurzívy}. Také vyzkouąíme {\tt strojopis}.
\bod Vąimneme si, ľe ve slovech grafika, firma, apod. se písmena
     f a i automaticky proměnila v~jediný znak fi (srovnáme to
     s~nesprávným f\/i).
\bod Mezery mezi písmeny jsou automaticky vyrovnávány podle tvaru písmen.
     Ve slově \uv{Tento} je například písmeno~e těsněji přisazeno
     k~písmenu~T, aby se mezery mezi písmeny opticky jevily stejnoměrné.
\bod Vypravíme se na malou exkurzi do matematiky: $a^2 + b^2 = c^2$.
     Zjistíme, ľe číslo -1 je zde napsáno ąpatně (prokletý spojovník),
     zatímco správně má být $-1$.
\bod Protoľe \% uvozuje komentář a \$ přepíná do matematické sazby,
     musíme před ně napsat zpětné lomítko, chceme-li je dostat do dokumentu.
\itemskip

\nadpis Závěr

To by pro začátek stačilo. Příkazem {\tt\char`\\bye} ukončíme své pokusy.
\enduk %=============================================================

Vąimněme si, ľe v~příkladu je důsledně oddělena forma od obsahu dokumentu.
V~části označené \uv{vlastní text} jsou pouľity značky "\nadpis",
"\bod" a "\itemskip", které ohraničují logické části dokumentu (vymezení
nadpisu, uvedení daląí poloľky ve výčtu prvků, obklopení skupiny výčtu prvků)
a nepopisují ľádné konkrétní formátovací informace (volba fontu, velikost
fontu, velikost mezer nad a pod nadpisem, tvar puntíku ve výčtu prvků
apod.).

Značky vymezující strukturu dokumentu jsou definovány v~části \uv{oblast
definic}. Zde je řečeno, jaký bude mít nadpis font, jak bude
v~textu umístěn a jak bude vypadat formátování výčtu prvků. Podrobnějąí
rozbor těchto definic uvedeme za chvíli.

Toto oddělení formy od obsahu se v~mnoha případech začátečníkům nedaří.
Přímo v~textu jejich dokumentů se vyskytují značky jako "\vskip12mm"
(vertikální mezera 12\,mm), "\vfill\break" (vynucené ukončení strany) a mnoho
daląích neąvarů. My se pokusíme hned z~počátku se takovým věcem pokud moľno
vyhnout. V~sekci \uv{změna vzhledu dokumentu} uvidíme, ľe se nám to bohatě
vyplatí.


\sekce Vysvětlení pouľitých značek v~příkladu
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Jednotlivé značky, které řídí formátování a vymezují strukturu dokumentu
jsou vesměs ve tvaru "\slovo". Tyto značky se nazývají
{\it řídicí sekvence\/} a někdy téľ budeme hovořit o~{\it příkazech},
protoľe jimi přikazujeme, aby \TeX{} něco vykonal.

Řídicí sekvence v~příkladu rozdělíme na dvě skupiny. 1.~ty, co jsou
definovány v~samotném \TeX{}u nebo v~pouľitém formátu (v~naąem případě
ve formátu {\tt csplain}). 2.~řídicí sekvence, které jsme definovali sami.

Začneme rozborem druhé skupiny řídicích sekvencí:

\begitems
\bod "\nadpis" je sekvence, která za sebou očekává text nadpisu a pak
     prázdný řádek.
\bod "\titulfont" je přepínač pro větąí velikost fontu pro nadpis.
     Je definován na řádku začínajícím příkazem "\font" a pouľit v~definici
     řídicí sekvence "\nadpis".
\bod "\bod" je sekvence, která uvozuje poloľku ve výčtu prvků. Promění se
     v~nějakou grafickou realizaci zaráľky (zde puntík) a způsobí odsazení
     textu poloľky.
\bod "\itemskip" vytvoří vertikální mezeru, která oddělí výčet prvků
     od ostatního textu. Pouľije se na začátku i na konci výčtu.
\enditems

Ostatní řídicí sekvence jsou definovány v~pouľitém formátu nebo přímo
zabudovány v~\TeX{}u. Uľivatel se s~nimi bude postupně seznamovat
studiem vhodné literatury. Zde uvedeme velmi stručně jen ty nejdůleľitějąí
řídicí sekvence, abychom usnadnili pochopení příkladu.

\begitems
\bod "\chyph". Tato řídicí sekvence inicializuje české vzory dělení slov a
     je definována pouze ve formátu csplain. V~případě českých textů
     bychom ji nikdy neměli vynechat! Analogicky "\shyph" inicializuje
     slovenské vzory dělení slov. Bez těchto příkazů \TeX{} pracuje
     implicitně s~anglickými vzory dělení.
\bod "\font" zavede z~instalace \TeX{}u do dokumentu daląí font.
     Struktura parametrů příkazu bude vysvětlena v~sekci o~fontech.
\bod "\def" definuje novou řídicí sekvenci (zde "\bod" a "\nadpis").
     Za řídicí sekvencí můľe následovat formální popis parametrů nové
     sekvence a pak následuje ve sloľených závorkách tělo definice.
     V~ní je popsáno, co se při pouľití nové řídicí sekvence má vykonat.
\bod "\item" zahájí výčtovou poloľku (odsazením textu) a převezme
     za sebou ve sloľených závorkách parametr, který popisuje vzhled puntíku.
\bod "\bullet" vytvoří v~matematickém módu černý puntík: $\bullet$.
\bod "\bigskip" vytvoří vertikální mezeru velikosti jednoho řádku a
     "\medskip" velikosti poloviny řádku. "\indent" odsadí daląí text
     o~velikost odstavcové zaráľky.
\bod Řídicí sekvence "\par" je explicitní ukončení odstavce. \TeX{} ji
     interně vytváří v~místě kaľdého prázdného řádku. Ve formálním popisu
     parametru za "\def\nadpis" má ale "\par" pouze vymezovací
     účinek. Formální popis parametru v~naąem příkladě čteme takto:
     nově definovaná řídicí sekvence "\nadpis" převezme za sebou text
     aľ po první výskyt "\par" (tedy aľ po první výskyt prázdného řádku)
     a uloľí jej do \uv{proměnné} s~označením "#1".
\bod "\let" čteme česky nech». Tento příkaz ztotoľní význam nové
     řídicí sekvence (v~naąem příkladě "\itemskip") s~předlohou (v~tomto
     příkladě "\medskip").
\enditems

V~naąí ukázce jsme pouľili téľ některé speciální \TeX{}ovské znaky.
Vysvětlíme si nyní stručně jejich význam.

\begitems
\bod Znak "~" znamená nedělitelnou mezeru. Je zde pouľita za neslabičnými
     předloľkami a před jednopísmennými ukázkami, aby se v~těchto místech
     nerozdělil řádek. Při pořizování textu nemusíme psát za neslabičnými 
     předloľkami vlnku \uv{ručně}. Vlnky tam lze doplnit později jednoduchými
     programy, které bývají součástí \TeX{}ovských instalací.
\bod Znaky "{ }" mají v~\TeX{}u tři mírně odliąné významy.
\itemitem{1.} Obklopují těla definic za příkazem "\def", jak jiľ bylo řečeno.
\itemitem{2.} Obklopují parametry některých řídicích sekvencí (viz
     například text {\tt uvozovky}, který je parametrem řídicí sekvence
     "\uv", nebo text "$\bullet$", který je parametrem řídicí sekvence
     "\item".
\itemitem{3.} Samotné znaky "{ }" vymezují jisté skupiny, ve kterých je
     veąkeré přiřazení a nastavení lokální. Skupiny se často pouľívají pro
     vymezení platnosti přepínačů písma (viz "\bf", "\it", "\tt" a
     "\titulfont").
\item{} Závorky "{ }" musí vzájemně párovat, coľ je důleľité zejména ve
     vymezovacích významech~(ad~1 a~2). Proto třeba tělo definice
     "\bod" obsahuje text "\item{$\bullet$}" a je ukončeno aľ druhou
     závorkou~"}".
\bod Znak "%" uvozuje komentář aľ do konce řádku.
\bod Znak "$" přepíná do {\it matematického módu} a zpět. V matematickém
     módu \TeX{} sestavuje sazbu poněkud odliąným způsobem (vąimneme
     si, ľe například proměnné $a$, $b$ jsou v matematickém módu
     automaticky sázeny kurzívou).
\bod Znak "^" v~matematickém módu uvozuje horní index (exponent).
\enditems

\sekce Změna vzhledu dokumentu
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Předvedeme, v~čem spočívá výhoda oddělení obsahu
dokumentu od formy. Předpokládejme, ľe nám nějaký zkuąenějąí kolega
pomůľe s~přípravou definic pro náą dokument. Předpokládejme dále, ľe onen
kolega má na věc poněkud jiný typografický názor a začne věci předělávat.
V~editoru modifikuje definice a ve vedlejąím okénku v~prohlíľeči se průběľně
mění náą první dokument skoro k~nepoznání. Přitom kolega
{\it vůbec nemusí\/} zasáhnout do vlastního textu dokumentu.

Předevąím se mu nelíbí rodina fontů Computer Modern, která je
v~\TeX{}u implicitně nastavena. Mnoho instalací \TeX{}u obsahuje
nástroje pro práci s~daląími, zejména PostScriptovými, fonty. Máme-li
takovou instalaci, můľeme napsat na začátek dokumentu třeba 
"\input cbookman" a máme celý dokument v~rodině Bookman. Příkaz "\input"
zavádí do dokumentu externí soubor definic, zde soubor s~názvem {\tt
cbookman.tex}. Tento soubor obsahuje příkazy "\font" na zavedení
skupiny fontů Bookman a nastaví je jako implicitní.

Kolega se dále rozhodl vkládat mezi kaľdý odstavec drobnou vertikální mezeru
a místo puntíků pro výčty chce pouľít čtverečky, které ve větąí velikosti
zařadí i do nadpisů. Konečně velikost fontu pro nadpis se mu zdá přílią
velká (místo "\magstep2" v~řádku "\font" pouľije \uv{menąí} "\magstep1").
Výsledek jeho snaľení v~\uv{oblasti definic} dopadne třeba takto:

\begtt %=============================================================
\chyph             % inicializace českého dělení slov v csplainu
\magnification\magstep1     % celý dokument bude 1,2 krát větąí
\input cbookman \setsimplemath  % pouľité písmo: Bookman i v matematice
\font\titulfont=\fontname\tenbf\space scaled \magstep1  % větąí font
\newdimen\indskip \indskip=15pt % výčty budou odsazeny 15pt
\def\ctverecek#1{\noindent  % čtvereček proměnné velikosti v místě \indskip
   \hbox to\indskip{\vrule height#1pt depth0pt width#1pt\hss}}
\def\bod{\par\hangindent=\indskip \ctverecek{4}}  % definice zkratky \bod
\def\nadpis#1\par{          % definice nadpisu:
   \removelastskip\bigskip  %   odmaľe poslední vert.mezeru a přidá vlastní
   \ctverecek{7}{\titulfont #1} % nadpis odsazený čtverečkem
   \par\nobreak}            %   konec řádku, zakázaný zlom, ľádná mezera
\parskip=\medskipamount     % mezi odstavci bude mezera jako \medskip
\parindent=0pt              % odstavce nebudou odsazeny zaráľkou
\let\itemskip=\relax        % ľádné daląí mezery mezi výčty
\endtt %=============================================================

Náą dokument vypadá pak následovně:

\beguk %=============================================================
\input cbookman             % pouľité písmo: Bookman
\font\mmi=\fontname\tenit 
\font\sevenrm=\fontname\tenrm\space at 7pt
\textfont0=\tenrm \scriptfont0=\sevenrm
\textfont1=\mmi 

\font\titulfont=\fontname\tenbf\space scaled \magstep1  % větąí font
\newdimen\indskip \indskip=15pt  % výčty budou odsazeny 15pt
\def\ctverecek#1{\noindent  % čtvereček o proměnné velikosti v místě \indskip
   \hbox to\indskip{\vrule height#1pt depth0pt width#1pt\hss}}
\def\bod{\par\hangindent=\indskip \ctverecek{4}}  % definice zkratky \bod
\def\nadpis#1\par{          % definice nadpisu:
   \removelastskip\bigskip  %   odmaľe poslední vert. mezeru a přidá vlastní
   \ctverecek{7}{\titulfont #1} % nadpis odsazený čtverečkem
   \par\nobreak}            %   konec řádku, zakázaný zlom, ľádná mezera
\parskip=\medskipamount     % mezi odstavci bude mezera jako \medskip
\parindent=0pt              % odstavce nebudou odsazeny zaráľkou
\let\itemskip=\relax        % ľádné daląí mezery mezi výčty

\nadpis Můj první dokument

Zkouąím napsat první text v~\TeX u. Tento odstavec musí být
tak dlouhý, aby bylo vidět, ľe se rozlomil aspoň na dva řádky.

Jednotlivé odstavce oddělujeme od sebe prázdným řádkem. Prázdnými řádky
vůbec neąetříme, protoľe zvyąují přehlednost zdrojového textu.
Vyzkouąíme si nyní několik věcí.

\itemskip
\bod Budeme pouľívat české \uv{uvozovky}, které se liąí od ``anglických''.
     Uvědomíme si, ľe pouľití \"těchto znaků\" je úplně ąpatně!
\bod Rozliąujme mezi spojovníkem (je-li), pomlčkou ve větě~-- 
     a dlouhou pomlčkou---ta se pouľívá v~anglických dokumentech.
\bod Předpokládáme, ľe kaľdý dokáľe rozeznat 1 (jedničku) od l
     (písmene el) a 0 (nulu) od O~(písmene~O).
\bod Zkusíme přepnout do {\bf polotučného písma}, nebo do
     {\it kurzívy}. Také vyzkouąíme {\tt strojopis}.
\bod Vąimneme si, ľe ve slovech grafika, firma, apod. se písmena
     f a i automaticky proměnila v~jediný znak fi (srovnáme to
     s~nesprávným f\/i).
\bod Mezery mezi písmeny jsou automaticky vyrovnávány podle tvaru písmen.
     Ve slově \uv{Tento} je například písmeno~e těsněji přisazeno
     k~písmenu~T, aby se mezery mezi písmeny opticky jevily stejnoměrné.
\bod Vypravíme se na malou exkurzi do matematiky: $a^2 + b^2 = c^2$.
     Zjistíme, ľe číslo -1 je zde napsáno ąpatně (prokletý spojovník),
     zatímco správně má být $-1$.
\bod Protoľe \% uvozuje komentář a \$ přepíná do matematické sazby,
     musíme před ně napsat zpětné lomítko, chceme-li je dostat do dokumentu.
\itemskip

\nadpis Závěr

To by pro začátek stačilo. Příkazem {\tt\char`\\bye} ukončíme své pokusy.
\enduk %==============================================================

Kdyby náą kolega chtěl, implementoval by třeba automatické číslování
poloľek, automatické číslování nadpisů, generování obsahu a daląí věci.
Vysvětlení nových řídicích sekvencí, které kolega pouľil, bohuľel
překračuje rámec tohoto úvodního dokumentu.

Definice lze umístit do jiného souboru neľ vlastní text dokumentu.
Na začátku dokumentu pak soubor definic načteme příkazem "\input".
Nebo naopak, hlavní bude soubor definic, ze kterého se příkazem "\input"
postupně načítají jednotlivé kapitoly rozsáhlejąího díla.


\sekce Stojíme na křiľovatce
%%%%%%%%%%%%%%%%%%%%%%%%%%%%

V~předchozím příkladě jsme ilustrovali důleľitou vlastnost \TeX{}u~--
schopnost měnit vzhled dokumentu jen výměnou některých definic. Kromě toho
ale tyto definice také musejí navazovat na úmluvu, jakými značkami bude
autor vymezovat strukturu svého dokumentu. Kdyby autor pouľil místo značky
"\nadpis" značku "\section", \TeX{} by nám při zpracování dokumentu vynadal:

\begtt %--------------------------------------------------------------
! Undefined control sequence.
l.14 \section
              Můj první dokument
?
\endtt %--------------------------------------------------------------

\pp tedy: nedefinovaná řídicí sekvence. Odpovíme-li na otazník pouhým
stiskem klávesy Enter, \TeX{} tuto sekvenci zcela ignoruje a pracuje dál.
®ádného zvýraznění nadpisu bychom se nedočkali. Je tedy vidět,
ľe je hodně důleľité ujasnit si, jaké značkování struktury dokumentu
pouľijeme.

V~této souvislosti si musíme odpovědět jednu důleľitou otázku. Chceme se
naučit jazyk definic \TeX{}u na takové úrovni, jako náą imaginární kolega
z~předchozího příkladu? Budeme raději sami kontrolovat kaľdý detail vzhledu
dokumentu prostřednictvím vlastních definic, neľ abychom přebírali hotová
řeąení odjinud? Pokud na tyto otázky odpovíme \uv{ano}, pak je pro nás
výhodné pouľít formát plain (pro české a slovenské dokumenty jen mírně
modifikovaný formát csplain), který definuje jen minimum základních
řídicích sekvencí. O~daląí řídicí sekvence stejně jako o~modifikaci
vzhledu dokumentu podle naąich představ se musíme postarat sami.
V~takovém případě si můľeme sami rozhodnout, jaké značky pro vymezení
struktury dokumentu pouľijeme, protoľe si pro ně nakonec uděláme vlastní
definice.

Na druhé straně, pokud rádi přebíráme hotová řeąení, pokud nechceme
zbytečně pronikat do problematiky jazyka definic \TeX{}u, pokud se
spokojíme s~uľ připravenými ąablonami vzhledu dokumentu (tzv. styly),
pokud jsme ochotni se místo tří set základních příkazů \TeX{}u učit
zhruba tisíc uľivatelských značek pro \LaTeX, bude pro nás
výhodné pouľít raději formát \LaTeX{}.

\LaTeX{} doporučuje určité značkování struktury dokumentu. Například se
předpokládá členění na kapitoly (značka "\chapter") a na sekce (značka
"\section"). Kaľdý dokument by měl začít záhlavím uvozeným sekvencí
"\documentclass" (u~staré verze \LaTeX{}u se můľeme setkat jeątě se
sekvencí "\documentstyle"). Parametrem této sekvence by měl být název
základního stylového souboru (souboru definic upravujících vzhled
dokumentu). Nejčastěji bývá tímto parametrem "book" (formát knihy)
nebo "article" (formát článku). Doplňkové stylové soubory se načítají pomocí
sekvence "\usepackage". Vlastní text dokumentu musí být uzavřen mezi
značkami "\begin{document}" a "\end{document}". Často se vyskytují daląí
značky "\begin" a "\end" vymezující v~\LaTeX{}u jistá prostředí (například
prostředí pro výčtové poloľky).

Vra»me se k~naąemu příkladu a přepiąme jej do značkování podle \LaTeX{}u.

\begtt %=============================================================
\documentclass{article}  % základní styl bude "odborný článek"
\usepackage{czech}       % doplňkový soubor definic pro český jazyk
\begin{document}         % povinné

\section{Můj první dokument}

Zkouąím napsat první text v~\TeX u. Tento odstavec musí být
tak dlouhý, aby bylo vidět, ľe se rozlomil aspoň na dva řádky.

Jednotlivé odstavce oddělujeme od sebe prázdným řádkem. Prázdnými řádky
vůbec neąetříme, protoľe zvyąují přehlednost zdrojového textu.
Vyzkouąíme si nyní několik věcí.

\begin{itemize}
\item Budeme pouľívat české \uv{uvozovky}, které se liąí od ``anglických''.
      Uvědomíme si, ľe pouľití "těchto znaků" je úplně ąpatně!
\item Rozliąujme mezi spojovníkem (je-li), pomlčkou ve větě~-- 
      a dlouhou pomlčkou---ta se pouľívá v~anglických dokumentech.
\item Předpokládáme, ľe kaľdý dokáľe rozeznat 1 (jedničku) od l
      (písmene el) a 0 (nulu) od O~(písmene~O).
\item Zkusíme přepnout do {\bf polotučného písma}, nebo do
      {\it kurzívy}. Také vyzkouąíme {\tt strojopis}.
\item Vąimneme si, ľe ve slovech grafika, firma, apod. se písmena
      f a i automaticky proměnila v~jediný znak fi (srovnáme to
      s~nesprávným f\/i).
\item Mezery mezi písmeny jsou automaticky vyrovnávány podle tvaru písmen.
      Ve slově \uv{Tento} je například písmeno~e těsněji přisazeno
      k~písmenu~T, aby se mezery mezi písmeny opticky jevily stejnoměrné.
\item Vypravíme se na malou exkurzi do matematiky: $a^2 + b^2 = c^2$.
      Zjistíme, ľe číslo -1 je zde napsáno ąpatně (prokletý spojovník),
      zatímco správně má být $-1$.
\item Protoľe \% uvozuje komentář a \$ přepíná do matematické sazby,
      musíme před ně napsat zpětné lomítko, chceme-li je dostat do dokumentu.
\end{itemize}

\section{Závěr}

To by pro začátek stačilo. Příkazem \verb|\bye| ukončíme své pokusy.
\end{document}
\endtt %--------------------------------------------------------------

Poznamenejme, ľe zavedení doplňkového stylu {\tt czech} způsobí aktivaci
českých vzorů dělení slov a písma s~českými znaky. Bez pouľití tohoto stylu
pracuje \LaTeX{} implicitně s~anglickými vzory dělení slov a s~písmy, která
neobsahují háčkovaná a čárkovaná písmena.

Upozorňujeme, ľe v~současné době je \LaTeX{}ů několik druhů. Uľ
zmíněný \uv{starý \LaTeX} (tzv.~verze 2.09), ve kterém se
struktura záhlaví dokumentu mírně liąila. Dále je pro potřeby
českých dokumentů nutné rozliąovat mezi tzv.~\uv{babelizovaným
\LaTeX{}em} a \CS\LaTeX{}em. Babelizovaný \LaTeX{} implementuje 
český a slovenský jazyk pomocí balíku maker \uv{Babel}, který k~nám
byl importován ze zahraničí. Babelizovaný \LaTeX{} implicitně
neobsahuje české ani slovenské vzory dělení slov a při instalaci je
potřeba tyto vzory dělení do něj zavést. Na druhé straně \CS\LaTeX{} je
modifikace \LaTeX{}u pro potřeby českých a slovenských
dokumentů a vzory dělení čeątiny i slovenątiny jsou v~něm implicitně
obsaľeny. Výąe uvedená ukázka je pouľitelná pro \CS\LaTeX. V~případě
dobře instalovaného babelizovaného \LaTeX{}u by záhlaví dokumentu
mohlo vypadat asi takto:

\begtt
\documentclass{article}       % základní styl bude "odborný článek"
\usepackage[cp1250]{inputenc} % je nutno specifikovat kódování dokumentu
\usepackage[T1]{fontenc}      % poľadujeme LaTeXovské fonty s akcenty
\usepackage[czech]{babel}     % voláme styl czech z Babelu
\begin{document}
\endtt

Výsledek po zpracování naąeho dokumentu \LaTeX{}em v~tomto manuálu
pro stručnost neuvádíme. Kdo chce, můľe si sám \LaTeX{}
vyzkouąet. Nelíbí se nám, ľe za čísly v~nadpisech nejsou tečky?
Zavedeme do dokumentu prostřednictvím "\usepackage" daląí doplňkový
styl, který toto výchozí chování základního stylu {\tt article}
upraví. Nelíbí se nám, ľe jsou mezi jednotlivými poloľkami ve výčtu
velké mezery a poloľky jsou aľ přílią odsazeny? Pouľijeme v~dokumentu
daląí doplňkový styl. Nelíbí se nám, ľe je pouľito písmo Computer
Modern? Napiąme třeba "\usepackage{times}".

Otázka ale je, kdo pro nás tyto doplňkové styly (neboli doplňující sady
definic pro \TeX) bude připravovat. Velké mnoľství stylů na vąechno moľné
lze nalézt ve veřejných archivech \TeX{}ovského softwaru. \LaTeX{} nám tedy
při jednoduchých ąablonovitých poľadavcích na vzhled dokumentu umoľňuje
zůstat v~roli autora, který pořizuje text. Nemusíme umět poměrně sloľitý
jazyk definic \TeX{}u.

Pokud nám ľádná z~moľností nabízených stylů nevyhovuje, musíme se pokusit
tyto styly modifikovat podle své potřeby. To ale můľe být uľ hodně
komplikované. Záleľí znovu na nás, zda rádi modifikujeme zdrojové kódy
cizích programů nebo si raději napíąeme programy vlastní. Pokud píąeme
raději programy vlastní, asi nám bude spíąe vyhovovat jednoduąąí výchozí
formát plain (csplain).

Jestliľe jsme se rozhodli pracovat raději v~plainu, pak lze k~daląímu
studiu doporučit následující literaturu:

\begitems
\bib Michael Doob. {\it Jemný úvod do \TeX{}u}. Třetí vydání českého
     překladu, \CS{}TUG 1993. Kníľka je rovněľ volně k~dispozici ve
     zdrojových textech jako {\tt jemny.tex} v~archivu 
     {\tt ftp://math.feld.cvut.cz/pub/cstex/doc/jemny.tar.gz}.
     Anglický originál je volně ąířen jako {\tt gentle.tex}.
\bib Petr Oląák. {\it \TeX{}book naruby}. Konvoj 1997. Celý text knihy je
     volně k~dispozici ve formátu {\tt pdf}
     na \url{http://math.feld.cvut.cz/olsak/tbn.html}.
\enditems

Vyhovuje-li nám více \LaTeX, pak je moľné sáhnout po těchto manuálech:

\begitems
\bib Jiří Rybička. {\it \LaTeX{} pro začátečníky}. Druhé, upravené vydání,
     Konvoj 1999.
\bib Tobias Oetiker. {\it Ne přílią stručný úvod do systému
     \LaTeX{} \twoe}. Text je ąířen volně včetně zdrojových textů a je
     přeloľen do mnoha jazyků. Do čeątiny přeloľil Michal Kočer.
     {\tt ftp://math.feld.cvut.cz/pub/cstex/doc/lshort2e.tar.gz}
\bib Leslie Lamport. {\it\LaTeX---A Document Preparation System---User's
     Guide and Reference Manual}. Ad\-di\-son-Wes\-ley, Reading, MA, 
     USA, 2nd ed. 1994. 
\bib Michel Goossens, Frank Mittelbach, Alexander Samarin.
     {\it The \LaTeX{} Companion}. Druhé vydání, Addisson Wesley 1994.
\bib Michel Goossens, Sebastian Rahtz, Frank Mittelbach.
     {\it The \LaTeX{} Graphics Companion: Illustrating Documents with
     \TeX{} and PostScript}. Addisson Wesley 1997.
\enditems

Pokud budeme pouľívat \LaTeX{} a budeme chtít rozumět pouľitým stylovým
souborům, můľeme pouľít knihu [2]. Popisuje totiľ vnitřní algoritmy
\TeX{}u, coľ jsou informace, které vyuľijeme jak v~plainu tak v~\LaTeX{}u.

Pro úplnost jeątě citujme dva tituly. První z~nich je základní biblí
k~\TeX{}u od samotného autora \TeX{}u (česká alternativa [2] ji poměrně
dobře nahrazuje) a druhý titul obsahuje informace o~\TeX{}ových
souvislostech, tj. popis spolupracujících programů v~běľných distribucích,
implementace fontů, vkládání obrázků apod.

\begitems
\bib Donald E. Knuth. {\it The \TeX{}book}. Mnohonásobné vydání. Addison
     Wesley, 1986--{\tt*}. Díl~A~z~pětidílné monografie k~\TeX{}u a \mf{}u
     \uv{Computers \& Typesetting}.
\bib Petr Oląák. {\it Typografický systém \TeX}. \CS{}TUG 1995.
\enditems

Daląí text v~tomto manuálu se věnuje základům \TeX{}u, které bývají
shodné při pouľití větąiny formátů. Ukázky budeme pro jednoduchost
nadále zkouąet ve formátu csplain, protoľe jinak bychom museli kolem
vlastního textu ukázky přidat zmíněné \uv{obkladové řádky} závislé na
pouľitém \uv{druhu} \LaTeX{}u.


\sekce Technické pozadí formátů
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

V~předchozím textu jsme na mnoha místech hovořili o~formátech \TeX{}u
(plain, \LaTeX{}, csplain), ale zatím jsme pořádně neřekli, co to je.

Formát je binární soubor (v~\TeX{}ové implementaci má příponu {\tt.fmt}),
který zahrnuje:

\begitems
\bod výchozí sadu definic, která roząiřuje vestavěné řídicí sekvence
     o~daląí, pro uľivatele větąinou snadněji pouľitelné,
\bod výchozí nastavení vnitřních parametrů \TeX{}u (například ąířka
     odstavce nebo velikost odstavcové zaráľky),
\bod výchozí fonty, které budou v~dokumentu pouľity, pokud uľivatel
     nespecifikuje jiné,
\bod vzory dělení vybraných jazyků, podle kterých \TeX{} dělí slova při
     zalamování odstavce.
\enditems

Aľ na vzory dělení lze vąe ostatní ve vlastním dokumentu pomocí
\TeX{}ových definic dodatečně měnit. Pro načtení vzorů dělení
jednotlivých jazyků má \TeX{} speciální řídicí sekvenci "\patterns",
která funguje jen při vytváření formátu.  Existuje jeątě jedna řídicí
sekvence, která má smysl pouze při generování formátu: "\dump". Tento
příkaz způsobí uloľení \uv{nabytých vědomostí}
\TeX{}u z~jeho vnitřní paměti do binárního formátového souboru {\tt *.fmt}
a ukončí činnost \TeX{}u. Tento soubor se můľe později při startu
\TeX{}u načíst, a \TeX{} tím začíná se svými znalostmi z~místa, kde
naposledy načítání definic skončil v~době příkazu "\dump".

Příkazy "\patterns" a "\dump" umí speciální varianta \TeX{}u zvaná
ini\TeX{}. V~nových implementacích \TeX{}u není tato varianta
reprezentována samostatným programem, ale vyvolá se prostřednictvím
přepínače {\tt -i} nebo {\tt -ini}. Například k~vygenerování formátu
plain lze postupovat takto:

\begtt
> tex -ini plain
* \dump
\endtt

\TeX{} zde ve variantě ini\TeX{} načetl soubor definic plain.tex a uloľil
nabyté vědomosti do souboru {\tt plain.fmt}. Nyní lze formátový soubor
pouľít:

\begtt
> tex &plain document
\endtt

V~běľných \TeX{}ových distribucích je implementována nějakým způsobem
zkratka, která uľivateli umoľní místo {\tt tex \&plain} psát pouze
{\tt tex} a třeba místo {\tt tex \&latex} psát pouze {\tt latex}.


\sekce Rozměrové jednotky pouľívané v~\TeX u a typografii
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Z~historických důvodů v~typografii stále přeľívají měrné jednoty
rozdílné od soustavy SI. Základní měrnou jednotkou, která se pouľívá
v~anglosaských zemích, je jednotka point ({\tt pt}), která má rozměr
asi třetinu milimetru. Dvanáctinásobek je pica (čteme pajka, {\tt
pc}).  Jednotkou, která se pouľívala v~Evropě, je \uv{Didotův bod}
({\tt dd}), který je větąí neľ point, ale zhruba taky měří třetinu
milimetru.  Dvanáctinásobek tohoto bodu je cicero ({\tt cc}). 
V~počítačových programech pro sazbu se pouľívá počítačový bod
({\tt bp}), který je jen velmi nepatrně větąí. 72 počítačových bodů se
přesně vejde do jednoho palce ({\tt in}, inch pouľívaný předevąím
v~Americe).

Vąechny tyto jednotky je moľné pouľít v~\TeX{}u jako dvoupísmenové zkratky,
jak ukazuje následující tabulka. Navíc lze pouľít jednotky odvozené
z~metru.

\begtable
  "pt"  &  monotypový bod     & $1\,{\tt pt} = 1/72.27\,{\tt in} \doteq %
                                             0.35146\,{\tt mm}$       
  "pc"  &  pica               & $1\,{\tt pc} = 12\,{\tt pt}$            
  "bp"  &  počítačový bod     & $1\,{\tt bp} = 1/72\,{\tt in}$          
  "dd"  &  Didotův bod        & $1\,{\tt dd} = 1238/1157\,{\tt pt}$     
  "cc"  &  cicero             & $1\,{\tt cc} = 12\,{\tt dd}$            
  "in"  &  palec (inch, coul) & $1\,{\tt in} = 25.4\,{\tt mm}$          
  "cm"  &  centimetr          & $1\,{\tt cm} = 10\,{\tt mm}$            
  "mm"  &  milimetr           & $1\,{\tt mm} \doteq 2.84528\,{\tt pt}$  
  "sp"  &  jednotka \TeX{}u   & $1\,{\tt sp} = 1/65536\,{\tt pt}$       
  "em"  &  velikost písma     & závislé na aktuálním písmu               
  "ex"  &  výąka malého x     & závislé na aktuálním písmu               
\endtable

Velikost písma se měří zhruba jako celková výąka řádku, který obsahuje
vąechny znaky písma (mimo akcentované verzálky, tj. neuvaľujeme v~takovém
řádku háčky a čárky nad velkými písmeny). Zhruba to také odpovídá
ąířce velkého písmene M (odtud jednotka {\tt em}). Bohuľel, na jednotlivých
písmech není nic společného, co by se dalo vľdy jednoduąe změřit a přesně
říci, ľe právě to je ona velikost písma.


\sekce Práce s~fonty
%%%%%%%%%%%%%%%%%%%%

Implicitní fonty, které jsou v~kaľdé implementaci \TeX{}u k~dispozici
a které jsou nezávislé na pouľitém operačním systému, jsou fonty
rodiny Computer Modern. Běľná antikva v~této rodině má název {\tt
cmr10}. To je zkratka pro \uv{Computer Modern Roman ve velikosti 10pt}. 
Fonty Computer Modern bývají uľ načteny ve formátu a pro
jednotlivé varianty (antikva, kurzíva, polotučné, strojopis) bývají
připraveny přepínače "\rm", "\it", "\bf", "\tt".

Fonty Computer Modern neobsahují akcentovaná písmena (s~háčky a čárkami).
Proto jsou ve formátu csplain místo nich implicitně načteny tak zvané
\CS{}fonty, které roząiřují Computer Modern fonty o~písmena s~akcenty
z~české a slovenské abecedy. Běľná antikva v~této rodině má název
{\tt csr10}. \LaTeX{} také implicitně pracuje s~rodinou Computer Modern a
\CS\LaTeX{} navíc po zavedení stylu {\tt czech.sty}  (příkazem
"\usepackage{czech}") přepíná na implicitní pouľití \CS{}fontů. Pak je tedy
moľné psát český text.

Kromě toho \LaTeX{} můľe pracovat s~jiným roząířením Computer Modern
fontů, s~tzv. DC nebo EC fonty. Tyto fonty mají specifické kódování
(v~\LaTeX{}u označované jako T1) a obsahují vąechny znaky abeced latinkou
píąících evropských zemí.

Ve vąech formátech ale můľete zavést nový přepínač pro nové písmo
pomocí příkazu "\font". Ten má následující syntaxi:

\begtt
\font\přepínač=název-fontu nepovinné parametry zvětąení
\endtt

Například

\begtt
\font\titulfont=csr10 scaled \magstep2
\endtt

\pp zavede do \TeX{}u font csr10 (tedy běľnou počeątěnou antikvu
odvozenou z~Computer Modern) ve zvětąení $1.44$ krát normální
velikost, která je 10 bodů. Tento font se pak v~textu aktivuje
přepínačem "\titulfont". Proč zrovna koeficient $1.44$? To je
koeficient, pro který byla v~\TeX{}u vytvořena zkratka
"\magstep2". Následující tabulka shrnuje vąechny zkratky typu
"\magstep", které jsou definovány ve vąech běľně pouľívaných
formátech.

\begtable
   sekvence       &   koeficient           & implementováno jako 
   \tabline
   "\magstep0"    &   1:1 (ľádné zvětąení) & 1000               
   "\magstep1"    &   $1.2$                & 1200               
   "\magstep2"    &   $1.2^2 = 1.44$       & 1440               
   "\magstep3"    &   $1.2^3 = 1.728$      & 1728               
   "\magstep4"    &   $1.2^4 = 2.0736$     & 2074               
   "\magstep5"    &   $1.2^5 = 2.48832$    & 2488               
   "\magstephalf" &   $\sqrt{1.2}\doteq1.095445$ & 1095         
\endtable

Odstupňování jednotlivých velikostí písma pomocí mocnin čísla $1.2$ bývá
v~typografii dobrým zvykem.

Ve sloupci \uv{implementováno jako} vidíme, ľe koeficient se za slovem
{\tt magstep} (stejně jako na mnoha daląích místech v~\TeX{}u) zadává jako
celé číslo odpovídající tisícinásobku uvaľované hodnoty. Chceme-li tedy
pouľít font dvojnásobně velký, pouľijeme {\tt scaled~2000} a při poľadavku
na poloviční velikost píąeme {\tt scaled~500}.

Kromě koeficientu zvětąení (slovo {\tt scaled}) můľeme chtít zvětąit
font bez ohledu na jeho původní velikost do námi poľadované velikosti.
K~tomu se pouľívá slovo {\tt at}, například:

\begtt %--------------------------------------------------------------
\font\prvni=csr10 at 20pt
\font\druhy=csr10 scaled 2000
\endtt %--------------------------------------------------------------

Oba řádky této ukázky zavádějí stejný font ve stejném zvětąení.

Rodina písma Computer Modern (a jeho odvozeniny, například \CS{}fonty)
obsahuje různé velikosti stejné varianty písma, přitom tyto
alternativy nejsou jen stejnoměrným násobením vąech rozměrů. 
Doporučuje se, zvláątě v~menąích velikostech písma, pouľívat
implicitní velikost písma a dále ji nezmenąovat ani nezvětąovat. 
Implicitní velikost písma je označena číslem v~názvu
fontu, tj. například {\tt csr10} má implicitní velikost 10\,pt a 
{\tt csr5} má velikost 5\,pt. Srovnáme výsledek tohoto příkladu:

\begtt %--------------------------------------------------------------
\font\zvetseny=csr5 at10pt
\font\normalni=csr10
\normalni Tady je přirozená velikost písma 10 bodů
\zvetseny a tady je písmo navrľené pro pět bodů zvětąeno na 10 bodů.
\endtt %--------------------------------------------------------------

Na výstupu dostaneme:

\beguk %--------------------------------------------------------------
\font\zvetseny=csr5 at10truept
\font\normalni=csr10 at10truept
\baselineskip=12truept
\normalni Tady je přirozená velikost 10 bodů
\zvetseny a tady je písmo navrľené pro pět bodů zvětąeno na 10 bodů.
\enduk %--------------------------------------------------------------

Přepnout písmo dokumentu do jiné rodiny fontů znamená postarat se o~změnu
významu vąech přepínačů jednotlivých variant písma ("\rm", "\bf", "\it" a
"\tt") a nezapomenout na vhodnou změnu fontu téľ v~nadpisech a v~daląích
velikostech písma, které jsou v~dokumentu pouľity. Jednoduché definice
alternativních přepínačů najdeme pro csplain v~následujících souborech:

\begtable
  soubor         &  Rodina fontů
  \tabline
  "cavantga.tex"   &  Avantgarde Book
  "cbookman.tex"   &  Bookman
  "chelvet.tex"    &  Helvetica
  "cncent.tex"     &  New Century
  "cpalatin.tex"   &  Palatino
  "ctimes.tex"     &  Times Roman
\endtable

Tyto rodiny fontů jsou instalovány v~kaľdém výstupním PostScriptovém
zařízení, takľe s~těmito fonty můľeme v~\TeX{}u pracovat, aniľ bychom je
museli mít zakoupené. \TeX{} samotný totiľ pracuje pouze s~metrickými
informacemi k~fontům a do výstupu vkládá pouze odkazy na fonty. Metrické
informace jsou obvykle k~dispozici zdarma. Pokud budeme tisknout na
PostScriptovém zařízení, pak jsme s~cenou PostScriptového modulu tyto fonty
vlastně koupili a můľeme v~nich tisknout \TeX{}ové dokumenty. Pokud budeme
tisknout na zařízení bez PostScriptu, pak je vhodné PostScriptový kód
zpracovat volně dostupným programem Ghostscript, který má v~sobě zahrnuty
volně dostupné alternativy k~uvedeným základním fontům. Rozdíl mezi
alternativou a draze koupeným fontem přitom ani moc nepoznáme.

Chceme-li například přepnout do písma Bookman, stačí napsat do dokumentu
"\input bookman". Takovou věc jsme uľ ilustrovali na naąem příkladě
v~předchozím textu.

Podíváme-li se do souborů {\tt cbookman.tex} a daląích, které najdeme
v~instalaci \TeX{}u někde v~adresáři {\tt csplain}, zjistíme, ľe zde nejsou
předefinovány přímo přepínače "\rm", "\bf", "\it" a "\tt", ale ľe se zde
místo nich pracuje s~přepínači "\tenrm", "\tenbf", "\tenit" a "\tentt".
To jsou totiľ v~plainu (i csplainu) skutečné přepínače \uv{nejniľąí
úrovně}. Pro uľivatele se pak definují značky "\rm", "\bf", "\it" a "\tt"
s~daląím přihlédnutím na chování těchto značek v~matematickém módu.
Například "\bf" je definováno takto:

\begtt %--------------------------------------------------------------
\def\bf{\tenbf \fam\bffam}
\endtt %--------------------------------------------------------------

Je-li tedy předefinován přepínač "\tenbf", bude se od této chvíle chovat
jinak i značka "\bf". Kód "\fam\bffam" zde nebudeme rozebírat, protoľe
překračuje rámec tohoto úvodního textu. Spokojíme se s~tím, ľe v~textovém
módu nemá tento kód ľádný vliv a v~matematickém módu cosi udělá.

Příkaz "\fontname\přepínač\space" se promění zpět v~původní název
fontu ukončený mezerou. Tato vlastnost byla pouľita v~naąem příkladu,
kde jsme zaváděli větąí font pomocí této konstrukce:

\begtt %---------------------------------------------------------------
\font\titulfont=\fontname\tenbf\space scaled \magstep2  % větąí font
\endtt %---------------------------------------------------------------

Výhodou tohoto zápisu je fakt, ľe nemusíme znát název fontu, stačí si
zapamatovat základní přepínače "\tenrm", "\tenbf", "\tenit" a "\tentt".
Názvy fontů se nejenom těľko pamatují, ale také se mohou změnit,
pokud před takovou konstrukcí pouľijeme "\input cbookman" nebo něco
podobného.

V~\LaTeX{}u asi takové obraty nebudeme potřebovat, protoľe o~zavedení
potřebných fontů pro různé velikosti se \LaTeX{} stará sám. Pro
přepínání mezi rodinami fontů pouľíváme v~\LaTeX{}u příkaz
"\usepackage" a následuje ve sloľených závorkách jedno ze slov
{\tt avantgar}, {\tt bookman}, {\tt helvet}, {\tt newcent}, 
{\tt palatino}, {\tt times}. Písmeno {\tt c} na začátku názvu rodiny 
fontů (na rozdíl od csplainu) nepíąeme.

Moľná nás začne zajímat, jaké fonty máme v~\TeX{}ové instalaci
připraveny k~pouľití. Stačí udělat menąí průzkum v~adresáři {\tt tfm}
(odvozeno od zkratky \TeX{} font metrics) a podívat se do jednotlivých
podadresářů na názvy přítomných souborů. To jsou současně názvy fontů,
které jsou pouľitelné v~příkaze "\font". Chceme rychle vědět, jak který
font vypadá? Napiąme na příkazový řádek 

\begtt %-----------------------------------------------------------------
tex testfont
\endtt %-----------------------------------------------------------------

\TeX{} se nás vyptá na název fontu, který zadáme bez přípony
{\tt.tfm}. Pak nás poľádá o~instrukci, co s~načteným fontem má dělat.
Nejlépe je odpovědět "\table\end" a podívat se na tabulku znaků
testovaného fontu třeba pomocí "xdvi testfont".


\sekce Speciální znaky
%%%%%%%%%%%%%%%%%%%%%%

V~této sekci popíąeme chování speciálních vstupních znaků, které
nejsou \TeX{}em větąinou slepě přepisovány do výstupu, ale \TeX{} na
ně určitým způsobem zareaguje.

Jedním takovým speciálním znakem je "\" (zpětné lomítko). Pokud za ním
následuje písmeno, \TeX{} přečte řídicí sekvenci typu "\slovo"
ukončenou prvním znakem, který není písmeno (separátorem). Je-li 
tímto separátorem mezera, pak se na výstupu neobjeví. Ostatní
separátory nejsou na rozdíl od mezery ignorovány.
Vyzkouąejte si:

\begtt %----------------------------------------------------------
Zkouąím \TeX.  % Tečka je separátor sekvence \TeX, který se vytiskne
Píąu v \TeX u  % Separátorem je mezera před u, která se netiskne
\TeX   je formátor.  
\endtt %----------------------------------------------------------

Z~posledního řádku ukázky dostáváme nesprávný výsledek: \TeX je formátor.
Projevila se totiľ daląí vlastnost \TeX{}u: jednu mezeru i více mezer
za sebou povaľuje za mezeru jedinou a ta v~naąem příkladě funguje jako
separátor, který mizí. Proto se často pouľívají \uv{zbytečné skupiny},
jejichľ závorky mají funkci separátoru řídicí sekvence:

\begtt %-----------------------------------------------------------
Píąu v \TeX{}u. \TeX{} je formátor.
Nebo raději píąu v {\TeX}u a pouľívám {\TeX} jako formátor.
\endtt %-----------------------------------------------------------

Pokud za zpětným lomítkem následuje něco jiného, neľ písmeno
(například "\$"), je řídicí sekvence tvořena jen tímto znakem.
Mezery za takovými jednoznakovými sekvencemi zůstávají
zachovány: 

\begtt %-----------------------------------------------------------
Pracuji se 100\% nasazením.
\endtt %-----------------------------------------------------------

Vidíme, ľe daląím speciálním znakem v~\TeX{}u je mezera. Jak jsme před
chvílí uvedli, více mezer za sebou se chová jako mezera jediná.

Vąechny mezery na začátku řádku jsou ignorovány aľ po první znak, který
není mezera. Toho můľeme vyuľít pro zlepąení přehlednosti naąich
vstupních textů (viz naąe ukázka s~výčtem prvků).

Konec řádku je v~\TeX{}u interpretován jako mezera, která se vytiskne,
pokud není separátorem řídicí sekvence. Pokud si mezeru z~konce
řádku nepřejeme, můľeme ji \uv{zamaskovat} komentářovým znakem:

\begtt %-----------------------------------------------------------
Toto            je
      zvrácený
pří%
klad v~\TeX
u.
\endtt %-----------------------------------------------------------

Prázdný řádek vytvoří interní příkaz "\par", který ukončuje
odstavec. Není-li co ukončovat, "\par" nedělá nic. Proto více
prázdných řádků pod sebou se chovají stejně jako jeden prázdný
řádek. I~toho lze vyuľít pro zvýąení přehlednosti zdrojových textů.

V~následující tabulce je přehled vąech znaků, které bývají 
nastaveny jako speciální:

\begtable
  "\"          & uvozuje řídicí sekvenci
  mezera       & speciální vlastnosti popsány výąe
  konec řádku  & speciální vlastnosti popsány výąe
  "{"          & zahájení skupiny, parametru nebo definice
  "}"          & konec skupiny, parametru nebo definice
  "$"          & přepínač matematického módu
  "&"          & separátor pouľívaný v tabulkách
  "#"          & označení parametru v definicích
  "^"          & konstruktor mocniny v matematickém módu
  "_"          & konstruktor indexu v matematickém módu
  "~"          & nedělitelná mezera
  "%"          & zahajuje na řádku komentář
\endtable

Speciální význam kaľdého znaku lze v~\TeX{}u nastavit pomocí určitých
definic. Výąe uvedená tabulka tedy není v~ničem definitivní.
Uvedený seznam speciálních znaků bývá takto nastaven ve
formátech plain, csplain i \LaTeX. 

Pokud chceme vytisknout souvislejąí část textu bez speciální
interpretace, musíme těmto znakům jejich speciální funkce odebrat. 
V~\LaTeX{}u se pro tyto účely pouľívá \LaTeX{}ové prostředí vymezené 
příkazy "\begin{verbatim}" a "\end{verbatim}". Vąe mezi těmito příkazy%
  \footnote{s výjimkou sekvence čtrnácti znaků 
           \uv{{\tt \char`\\end\char`\{verbatim\char`\}}}}
se vytiskne tak, jak je napsáno ve vstupním textu. Uvedené prostředí
vľdy ukončí odstavec a zahájí tisk textu bez speciální interpretace.
Pokud chceme mít bez speciální interpretace jen část textu uvnitř
odstavce, pouľijeme v~\LaTeX{}u příkaz "\verb|text bez svislé čáry|"
nebo třeba "\verb+text bez znaku plus+".

V~plainu ani v~csplainu hotové řeąení na vypnutí speciální
interpretace znaků nenajdeme. Můľeme se inspirovat dvojicí "\begtt"
a "\endtt" ve zdrojovém textu tohoto manuálu.

Pokud chceme vytisknout jen jednotlivé speciální znaky, měli bychom
vědět, jakou sekvencí to zařídit. Pro znaky pouľívané v~běľném textu
("$", "&", "#" a "_") jsou ve vąech formátech připraveny řídicí
sekvence "\$", "\&", "\#" a "\_". Tím poľadovaný znak vytiskneme 
v~libovolném fontu.  Výjimkou je znak \$, který se v~kurzívě 
Computer Modern fontu mění v~libru: {\cmit\$}. Je to taková malá 
kuriozita \TeX{}u.

S~ostatními speciálními znaky to tak jednoduché není. V~implicitně
nastaveném fontu Computer Modern totiľ tyto znaky vesměs nemají ve
fontu svůj odpovídající obraz. Například na pozici 92 bychom měli
najít podle normy ASCII znak~"\" (zpětné lomítko), ale místo něj tam
najdeme znak~`` (obrácené uvozovky).  Nemile nás překvapí i jinak
obyčejný znak "<" (symbol pro relaci je menąí), který nemá ve fontu
svůj obraz a místo něho dostaneme do výstupu < (obrácený
vykřičník). Pokud chceme, aby se do výstupu věrně dostal znak, který
známe z~tabulky ASCII, musíme pouľít variantu fontu "\tt" (strojopis),
nebo jinou rodinu fontu, která má fonty v~kódování přesně podle
ASCII. Následující tabulka ukazuje vąechny běľné ASCII znaky, které
mají v~Computer Modern jiný obraz:

\begtable
  kód znaku & "\tt" (strojopis)  & Computer Modern 
  \tabline
  \.60             &  "<"        & \tencsr <       
  \.62             &  ">"        & \tencsr >       
  \.92             &  "\"        & \tencsr \char92 
   123             &  "{"        & \tencsr --      
   124             &  "|"        & \tencsr ---     
   125             &  "}"        & \tencsr \char125
\endtable

Znak z~dané pozice ve fontu vytiskneme pomocí příkazu "\char kód".
Například "\char92" nám vytiskne ve strojopisu "\" a v~antikvě
Computer Modern {\tencsr\char92}. Pokud si nepamatujeme číselnou
hodnotu ASCII kódu nějakého znaku, můľeme místo ní pouľít konstrukci
"`\znak", takľe například "`\\" vrátí číslo 92. Proto při tisku
zpětného lomítka píąeme "{\tt\char`\\}".

Budeme-li chtít vytisknout některý ze znaků "< > \ { | }", musíme si
uvědomit, jaký význam daný znak reprezentuje. Větąinou se jedná
o~matematické symboly, takľe pro ně pouľijeme odpovídající řídicí
sekvence v~matematickém módu (mezi dvěma dolary). Relace \uv{je menąí},
\uv{je větąí} a symbol pro absolutní hodnotu lze dokonce
v~matematickém módu napsat přímo, zatímco v~textovém módu mimo
strojopis se promění ve ąpanělskou interpunkci nebo pomlčku. 
Následující tabulka udává doporučený způsob zápisu přísluąných 
znaků podle jejich významu:

$$\vbox{\let\par=\cr \obeylines \halign{&#\hfil\quad
   význam znaku          & jak jej zapsat         & jak se vytiskne 
   \tabline
   relace \uv{je menąí}  & "$a < b$"              & $a < b$ 
   relace \uv{je větąí}  & "$a > b$"              & $a > b$ 
   uzavřený interval     & "$\langle a,b\rangle$" & $\langle a,b\rangle$
   ASCII znaky "< >"     & "{\tt < >}"            & "< >"
   rozdíl mnoľin         & "$A\setminus B$"      & $A\setminus B$
   ASCII znak "\"        & "{\tt\char`\\}"        & "\"
   Mnoľinové závorky     & "$M = \{a,b,c\}$"      & $M = \{a,b,c\}$
   ASCII znaky "{ }"     & "{\tt\char`\{ \char`\}}" & "{ }"
   absolutní hodnota     & "$|x|$"                & $|x|$
   ASCII znak "|"        & "{\tt |}"              & {\tt|}
   vlnka jako akcent     & "\~a"                  & \~a
   samostatný akcent     & "\~{}"                 & \~{}
   ASCII znak "~"        & "{\tt\char`\~}"        & "~"
   stříąka jako akcent   & "\^a"                  & \^a
   ASCII znak "^"        & "{\tt\char`\^}"        & "^"      
}}$$

V~\LaTeX{}u lze místo konstrukcí "{\tt\char`\znak}" pouľít
jednoduąąího "\verb|znak|". Ovąem příkaz "\verb", který odebírá znaku
jeho speciální funkci a zapíná tisk ve strojopisu, nemusí fungovat
vąude. Například jej nelze pouľít jako argument jiného příkazu
("\section", "\uv", apod.).


\sekce Umístění sazby na papíře
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Při poznávání \TeX{}u si jistě velmi brzo poloľíme otázku, jak je
moľné změnit velikost okrajů, neboli jak umístit sazbu na papíře.

V~plainu jsou implicitně nastaveny velikosti okrajů jeden palec 
z~kaľdé strany papíru amerického formátu Letter. Takové formáty papíru
u~nás větąinou nerostou, takľe plain nám na papíru A4 udělá jen levý a
horní okraj velikosti jeden palec a pravý okraj bude menąí a spodní
větąí.

V~csplainu jsou implicitně nastaveny velikosti okrajů jeden palec 
z~kaľdé strany pro formát A4. Sazba je tedy v~csplainu mírně uľąí a
vyąąí, neľ v~plainu. Sazbu přitom měříme bez případného záhlaví a bez
stránkových číslic.

Umístění sazby měříme vzhledem k~počátku, který se nalézá na papíře
1~palec od levého okraje a 1~palec od horního okraje. Levý horní roh
sazby se kryje s~tímto počátkem, pokud jsou nastaveny registry
"\hoffset=0pt" a "\voffset=0pt". Levý horní roh sazby se posune
doprava o~hodnotu "\hoffset" a dolů o~hodnotu "\voffset".  Při
záporných hodnotách těchto registrů se sazba posunuje samozřejmě doleva
respektive nahoru.

©ířka sazby (přesněji ąířka zpracovávaného odstavce) se nastaví pomocí
registru "\hsize". Výąka sazby na stránce se nastaví pomocí "\vsize".
V~následující ukázce jsou uvedeny hodnoty, které nastavuje plain.

\begtt
\voffset=0in       % velikost horního okraje = \voffset + 1 palec
\hoffset=0in       % velikost levého okraje  = \hoffset + 1 palec
\hsize=6.5in       % ąířka řádku, 165.1mm
\vsize=8.9in       % výąka sazby, 266mm
\endtt

Formát csplain má registry "\hoffset" a "\voffset" také nulové, ale
ąířku a výąku sazby nastavuje odliąně:

\begtt
\hsize= 159.2 mm   % ąířka řádku v csplainu (ąířka A4 - 2in)
\vsize= 239.2 mm   % výąka sazby (výąka A4 - 2in)
\endtt

Pokud chceme nastavit vlastní velikosti, doporučujeme nejprve registry
"\hoffset" a "\voffset" nastavit na hodnotu $-1$\,in a pak k~nim přičíst
hodnoty poľadovaných okrajů pomocí příkazu "\advance". Dále
doporučujeme výąku sazby přesně rozměřit na počet řádků. K~tomu
potřebujeme vědět, ľe vzdálenost dvou řádků se určí pomocí registru
"\baselineskip" (pozor: při větąím písmu se toto řádkování můľe
rozhodit). Plain i csplain nastavují "\baselineskip" na 12\,pt.
Kromě toho je účaří prvního řádku od pomyslného horního okraje sazby
vzdáleno o~"\topskip", který má v~plainu i v~csplainu hodnotu 10\,pt.
Protoľe se výąka sazby "\vsize" měří od horního pomyslného okraje po
účaří posledního řádku na stránce, vychází "\vsize" jako
\hbox{$"\topskip" + (n-1)\times "\baselineskip"$}, kde $n$ je počet řádků na
stránce. Nastavení velikosti sazby tedy můľeme udělat například takto:

\begtt
\voffset=-1in
\advance\voffset by 2cm   % velikost horního okraje bude 2cm
\hoffset=-1in
\advance\hoffset by 1.5cm % velikost pravého okraje bude 1.5cm
\hsize=10cm               % ąířka řádku bude 10cm
\vsize=\topskip
\advance\vsize by 15\baselineskip % sazba bude mít 16 řádků na stránce
\endtt 

V~\LaTeX{}u se při nastavování rozměrů sazby pouľívají registry
speciálně deklarované v~tomto formátu. Jedná se o~"\textheight" (výąka
sazby), "\textwidth" (ąířka sazby), "\oddsidemargin" (levý okraj na
lichých stránkách), "\evensidemargin" (levý okraj na sudých stránkách)
a "\topmargin" (horní okraj).  \LaTeX{} pak sám podle hodnot těchto
registrů nastaví vnitřní registry \TeX{}u "\hoffset", "\voffset",
"\hsize" a "\vsize".  Uľivatel \LaTeX{}u by k~nim neměl přistupovat
přímo a navíc by měl s~registry zacházet \uv{\LaTeX{}ovsky}, coľ 
prakticky znamená, ľe místo jednoduchého přiřazení nebo příkazu 
"\advance" by měl zapisovat své poľadavky zhruba takto:

\begtt
\setlength\topmargin{-1in}
\addtolength\topmargin{2cm}       % velikost horního okraje bude 2cm
\setlength\oddsidemargin{-1in}
\addtolength\oddsidemargin{1.5cm} % velikost pravého okraje bude 1.5cm 
\setlength\evensidemargin{\oddsidemargin}
\setlength\textwidth{10cm}        % ąířka sazby bude 10cm
\setlength\textheight{\topskip}
\addtolength\textheight{15\baselineskip} % 16 řádků
\endtt

\TeX{}em větąinou nenastavujeme parametry pro archovou montáľ sazby,
takľe nám výąe uvedené příklady pro nastavení velikosti sazby bohatě
stačí. Pokud bychom chtěli se sazbou dále manipulovat a umis»ovat ji
na jednotlivé archy podle určitých poľadavků, pouľijeme větąinou
pomocné programy, které manipulují s~PostScriptovým výstupem.
Představme si, ľe chceme stránky tohoto manuálu zmenąit tak, aby se
veąly dvě vedle sebe na stranu A4. Dále chceme tyto stránky uspořádat
tak, abychom po oboustranném vytiątění manuálu na ąest archů A4
dostali svazeček, který přeloľíme v~půli a máme kníľečku 
s~24 na sebe navazujícími stránkami. Pro takový úkol se asi nejlépe hodí
programy z~volně ąířeného balíčku psutils. Na příkazový řádek můľeme
postupně napsat tyto instrukce:

\begtt
> csplain prvni
> dvips prvni
> psbook prvni.ps p0.ps
> pstops "4:0L@.7(21cm,.5cm)+1L@.7(21cm,14.4cm)" p0.ps p1.ps
> pstops "4:2L@.7(21cm,.5cm)+3L@.7(21cm,14.4cm)" p0.ps p2.ps
> lpr -Ptiskarna p1.ps
> lpr -Ptiskarna p2.ps
> rm prvni.ps p0.ps p1.ps p2.ps
\endtt

Příkaz {\tt dvips} převede dokument do PostScriptu a {\tt psbook}
uspořádá stránky pro pouľití do \uv{svazečku}. První volání příkazu 
{\tt pstops} vybere vľdy dvě ze čtyř stránek, zmenąí je na
$0.7$\,násobek původní velikosti ({\tt @.7}) a umístí je do archu
podle uvedených parametrů. Tím vzniká podklad pro tisk lícových stran
archů A4 ({\tt p1.ps}). Podobně druhé volání příkazu {\tt pstops}
vytvoří podklad pro rubovou stranu archů. Vlastní tisk ({\tt lpr})
pak můľeme provést na tiskárně, která neumí oboustranný tisk, ve dvou
průchodech. Před druhým průchodem obrátíme vytiątěné papíry a vloľíme
je do zásobníku tiskárny znovu.


\sekce Overfull/Underfull box
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Při práci s~\TeX{}em narazíme postupně na celou řadu chybových
hláąení, při kterých se program větąinou zastaví a vyzve nás k~nějaké
akci. Ačkoli třeba jen stiskneme klávesu Enter, uvědomíme si, ľe je
něco ąpatně a pokusíme se chybu řeąit.

Kromě toho \TeX{} vypisuje varování o~přetečených (overfull) a
nedoplněných (underfull) boxech. Protoľe se při těchto výpisech
nezastavuje, povaľují to mnozí začátečníci za menąí zlo, kterého si
není nutné vąímat. Není to tak docela pravda.

Přetečené boxy (overfull) bychom měli rovněľ zařadit do kategorie
chyb. \TeX{}u se totiľ nepodařilo vměstnat sazbu do předepsané ąířky
"\hsize". Prakticky to znamená, ľe sazba v~daném místě \uv{vyčnívá}
na pravé straně ven směrem do okraje. Hláąení obsahuje údaj, o~kolik
bodů sazba vyčnívá, číslo řádku ve zdrojovém kódu a kus textu, který určuje
problémové místo. Plain a csplain dále nastavuje registr
"\overfullrule" na 5\,pt, takľe se v~sazbě na problémovém místě objeví
těľko přehlédnutelný černý obdélník. \LaTeX{} tento registr nuluje,
takľe černé obdélníky nejsou vidět, coľ dává uľivateli pocit, ľe je
vąechno v~pořádku. 

Objeví-li se přetečený box v~odstavci, větąinou stačí \uv{rozvolnit}
mezery. Mezery mezi slovy mají totiľ pruľnost (mohou se smrą»ovat nebo
natahovat). Tato pruľnost není neomezená, ale je daná jistými
parametry podle pouľitého fontu. Chceme-li dát mezerám větąí volnost 
v~roztahování, neľ si přál autor fontu, piąme například
"\emergencystretch=2cm". \TeX{} má plno daląích vnitřních registrů,
jejichľ nastavením ovlivníme algoritmy na sestavování
odstavce. Jejich popis ovąem překračuje rámec tohoto úvodního textu.

Nedoplněné boxy (underfull) můľeme na rozdíl od přetečených boxů
povaľovat pouze za varování. \TeX{} nás informuje, ľe byl nucen
v~některém místě natáhnout mezery víc, neľ je esteticky zdrávo. Hodnota
{\tt badness}, která hláąení doprovází, udává zhruba stupeň estetické
vady v~takovém místě (nebo také velikost násilí provedené na
mezerách). Čím vyąąí badness, tím horąí výsledek.  Maximální hodnota
badness je 1000, coľ značí, ľe některý řádek je úplně ąpatně. Stojí
zato se podívat do sazby na takto označená místa a zamyslet se, co by
se dalo změnit, aby se zlepąila estetická úroveň výsledku.

\LaTeX{}oví uľivatelé dosti často neopatrně pracují s~příkazem "\\",
který se v~různých \LaTeX{}ových prostředích chová jako ukončení
řádku. Někdy se dostane takový příkaz i na konec odstavce, coľ samo
o~sobě nemá logiku, protoľe na konci odstavce se samo sebou ukončí
řádek. Pokud se tak stane, \TeX{} na konci odstavce vytvoří jeątě daląí
prázdný řádek, ve kterém nemá ľádnou mezeru k~nataľení na ąířku
"\hsize" a oprávněně se rozčílí: {\tt Underfull hbox badness 1000}. 
V~tomto případě vlastně \TeX{} křičí na uľivatele, který nebyl schopen
opustit principy starodávného psacího stroje a potřebuje mít k~ruce tu
velikou páku, do které je občas potřeba praątit, aby se přeąlo na nový
řádek.



\end




