summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/cstex/opmac-u.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/cstex/opmac-u.tex')
-rw-r--r--Master/texmf-dist/doc/cstex/opmac-u.tex1511
1 files changed, 1511 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/cstex/opmac-u.tex b/Master/texmf-dist/doc/cstex/opmac-u.tex
new file mode 100644
index 00000000000..bd679271be8
--- /dev/null
+++ b/Master/texmf-dist/doc/cstex/opmac-u.tex
@@ -0,0 +1,1511 @@
+%% OPmac -- Olsak's PlainTeX macros
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% User documetation
+% This file is encoded in UTF-8
+
+\chyph % use (pdf)csplain
+\input opmac
+
+\typosize[11/13]
+
+\catcode`<=13
+\def<#1>{\hbox{$\langle$\it#1\/$\rangle$}}
+
+\activettchar"
+
+\insertoutline{OBSAH} \outlines{0} \hyperlinks{\Blue}{\Green}
+
+
+\tit OPmac -- rozšiřující makra plain\TeX{}u
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\centerline{\it Petr Olšák, listopad, prosinec 2012}
+
+\bigskip
+\centerline{\url{http://petr.olsak.net/opmac.html}}
+
+\def\thesecnum{}\printsec{\unskip Obsah} \maketoc
+
+
+\sec Úvod
+%%%%%%%%%
+
+OPmac je balík jednoduchých doplňujících maker k plain\TeX{}u umožňující
+uživatelům základní \LaTeX{}ovou funkcionalitu: změny velikosti písma,
+automatickou tvorbu obsahu a rejstříku, práci s {\tt bib} databázemi,
+referencemi, možnost proložení referencí hyperlinkovými odkazy atd.
+
+Hlavní zásady balíku OPmac jsou:
+
+\begitems
+* V jednoduchosti je síla.
+* Makra nejsou univerzální, ale jsou čitelná a srozumitelná.
+* Uživatel si makra může snadno předefinovat k obrazu svému.
+\enditems
+
+Každé makro je napsáno s cílem co největší srozumitelnosti pro lidi, kteří
+to budou chtít číst a měnit. Troufám si říci, že balík nabízí čtenáři
+inspiraci, jak se programují \TeX{}ová makra. Z~kódu maker je cítit jistá
+elegance. Technická část dokumentace k OPmac by tedy mohla sloužit jako učebnice
+programování \TeX{}ových maker.
+To je zásadní rozdíl od koncepce \LaTeX{}u. Když se člověk podívá
+do \LaTeX{}ového souboru "latex.ltx", vystřeví se na něj množství zavináčů a
+makra, ze kterých je často cítit topornost a mnohdy nepochopení vnitřní
+koncepce \TeX{}u. Skoro nikdo se v~tom nevyzná. Soubor "latex.ltx" obsahuje
+8000 řádků a schopnosti \LaTeX{}u jsou navíc ukryty v~desítkách různých
+dalších makro souborech, zatímco v~OPmac vidíte vše pohromadě a názorně.
+Navíc v některých věcech OPmac výrazně překračuje možnosti \LaTeX{}u:
+generování rejstříků bez externího programu, práce s~předgenerovanou
+databází bibliografických záznamů, listingy externích souborů.
+
+Balík OPmac nabízí podobně jako \LaTeX{} autorům textů {\it rozhraní}, tj.
+smluvenou sadu značek na vymezení struktury dokumentu. Je jiná, než v
+\LaTeX{}u, možná nabídne napsat zdrojový text článku poněkud přehledněji a
+oku více lahodícím způsobem. Balík OPmac ovšem neřeší typografický vzhled
+dokumentu. Bez doplňujících maker vyleze jednoduchý střízlivý dokument.
+Předpokládá se, že autor dodatečných plain\TeX{}ových maker ušije vzhled
+dokumentu na míru konkrétnímu požadavku.
+
+Makro OPmac ponechává implicitní fonty \csplain{}u a načítá
+soubor {\tt ams-math.tex}, takže funguje kompletní matematická sazba
+v~libovolné velikosti. Jsou k dispozici rozšiřující matematické
+abecedy a dále stovky nových kontrolních sekvencí umožňujících uživateli
+přístup ke speciálním matematickým symbolům.
+Není ovšem vyloučeno, že uživatel
+po načtení {\tt opmac.tex} zavede jiné fonty a použije jiný balíček typu
+{\tt *-math.tex}, například {\tt tx-math.tex}. Příklad začátku dokumentu:
+
+\begtt
+\input opmac % zavedení makra OPmac
+\chyph % zapnutí češtiny
+\input lmfonts % použití Latin Modern fontů
+\typosize[12/14] % nastavení základní velikosti sazby
+\endtt
+
+Makro OPmac potřebuje ke své činnosti \csplain{} optimálně ve verzi aspoň
+"Nov.2012". Po vynaložení menšího úsilí funguje OPmac i v plain\TeX{}u
+samotném.
+
+Uživatelům OPmac nabízím konzultace po emailu a uvítám hlášení o chybách.
+Pojďme společnými silami tomu odstranit případné mouchy a mušky.
+
+
+\sec Velikosti fontů a řádkování
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+Všechna makra popsaná v této sekci nastavují změny ve fontech a dalších
+parametrech jen lokálně, takže po ukončení skupiny se nastavení vrací k původním
+hodnotám.
+
+Makro "\typosize[<velikost fontu>/<řádkování>]" nastaví velikost textových i
+matematických fontů a řádkování. Je-li některý z parametrů prázdný, makro
+nastaví jen údaje plynoucí z neprázdného parametru.
+Parametry neobsahují jednotku, jednotka pt se doplní v~makru. Příklady
+
+\begtt
+\typosize[10/12] % to je implicitní nastavení
+\typosize[11/12.5] % font velikosti 11pt, řádkování 12.5pt
+\typosize[8/] % font velikosti 8pt, řádkování nezměněno.
+\endtt
+
+Začátek dokumentu tedy může vypadat takto:
+
+\begtt
+\input opmac \typosize[11.5/13] % sazba v písmu 11.5pt s řádkováním 13pt
+\endtt
+
+Makro "\typoscale[<faktor-font>/<faktor-řádkování>]" zvětší nebo zmenší velikost
+textových i matematických fontů resp. řádkování <faktor> krát aktuální
+velikost fontů resp. řádkování.
+Faktor je celé číslo, přitom 1000 znamená
+jedničku (jako za slovem "scaled" v~příkazu "\font"). Je-li parametr
+prázdný, je to stejné, jako by byl roven 1000.
+
+\begtt
+\typoscale[800/800] % fonty i řádkování se zmenší na 80 %
+\typoscale[\magstep2/] % \magstep2 je 1440, tj. fonty se zvětší 1,44krát
+\endtt
+
+Tato makra můžeme použít pro nadpisy nebo poznámky s tím, že velikost bude
+relativní vzhledem k základnímu písmu celého dokumentu.
+
+Pokud zavedete font příkazem "\font\prepinac=<metrika> <nic-nebo-at-nebo-scaled>",
+pak "\prepinac" přepíná do pevně stanoveného fontu, který není ovlivněn
+makry na nastavování velikosti. Ale co není, může být. Stačí font
+registrovat pomocí "\regfont\prepinac" a nyní i "\prepinac" přepíná do fontu
+podle velikosti nastavené pomocí "\typosize" nebo "\typoscale". Příklad:
+\par\nobreak
+
+\begtt
+\font\zapfchan=pzcmi8z \regfont\zapfchan
+\typosize[20/] Taky \zapfchan přepne do Zapf-Chancery ve velikosti 20pt.
+\endtt
+
+Při inicializaci \csplain{}u je registrováno pět fontových přepínačů
+ukrytých v makrech "\rm", "\it", "\bf", "\bi", "\tt". Takže tato makra
+implicitně nastavují font do stanovené velikosti.
+
+Na místo "\typosize" a "\typoscale" je možno použít
+makra na změnu velikosti jen textových fontů
+"\textfontsize[<velikost-fontu>]" a "\textfontscale[<faktor>]".
+Tato makra nemění matematické fonty ani řádkování.
+
+Makra "\thefontsize[<velikost-fontu>]" nebo "\thefontscale[<faktor>]"
+změní velikost jen aktuálního fontu, nemění
+žádné jiné fonty a nemění řádkování.
+Tato makra používají interní fontový přepínač "\thefont". Je možné si jej
+\uv{vypůjčit} příkazem "\let" pro pozdější použití:
+
+\begtt
+\tenrm \thefontscale[700]\let\sevenrm=\thefont \tenrm
+\endtt
+%
+Díky přepínači "\tenrm" na konci ukázky sazba dále pokračuje neškálovaným
+fontem, ovšem škálovaný font máme uložen v přepínači "\sevenrm".
+
+Všechna zde uvedená makra na změnu velikosti fontů jsou vybavena
+inteligencí: hledají metriku, která má svou designovanou velikost nejblíže
+požadované velikosti. Takže při požadavku na velikost 13pt se použije metrika
+"csr12 at13pt", zatímco při velikosti 7.5pt se použije metrika
+"csr8 at7.5pt". Data pro tuto inteligenci jsou přečtena ze souboru
+"ams-math.tex", kde je najdete u příkazů "\regtfm".
+
+Poslední poznámka se týká makra "\em", které sice nepřepíná velikost fontů,
+ale přepíná jejich variantu. Je to kontextové makro, které pracuje v
+závislosti na aktuálně zvoleném fontu. Implicitně přepíná na "\it". Pokud
+ale je aktuálním fontem "\it", přepne na "\rm". Je-li aktuálním fontem "\bf"
+přepne na "\bi" a obráceně. Makro navíc správně doplní italické korekce ke
+slovu před jeho použitím a za jeho použitím. Takže se o italické korekce
+není nutno starat. Příklad:
+
+\begtt
+To je {\em zdůrazněný} text. % jako: To je {\it zdůrazněný\/} text.
+\it To je {\em zdůrazněný} text. % jako: To je\/ {\rm zdůrazněný} text.
+\bf To je {\em zdůrazněný} text. % jako: To je {\bi zdůrazněný\/} text.
+\bi To je {\em zdůrazněný} text. % jako: To je\/ {\bf zdůrazněný} text.
+\endtt
+
+
+\label[cleneni]
+\sec Členění dokumentu
+%%%%%%%%%%%%%%%%%%%%%%
+
+Dokument se může skládat z kapitol, kapitola ze sekcí a sekce z podsekcí.
+Titul dokumentu vyznačte pomocí "\tit <titul><prázdný řádek>", kapitolu
+zahajte "\chap<titul><prázdný-řádek>" a podobně novou sekci zahajte
+"\sec<titul><prázdný-řádek>" a podsekci
+"\secc<titul><prázdný-řádek>".
+Takže třeba:
+
+\begtt
+\chap Brouci
+
+\sec Chrousti
+
+\secc O nesmrtelnosti chroustů
+
+Bla bla bla bla ...
+Bla bla bla a ještě bla.
+\endtt
+
+Kapitoly se automaticky číslují jedním číslem, sekce dvěma čísly (číslo
+kapitoly.sekce) a podsekce třemi čísly. Pokud dokument neobsahuje kapitoly,
+číslo kapitoly chybí, tj. sekce má jedno číslo a podsekce dvě.
+
+Implicitní vzhled nadpisů kapitol, sekcí a podsekcí je definován v
+makrech "\printchap", "\printsec" a "\printsecc". Můžete se na obsah těchto
+maker podívat do technické dokumentace nebo do "opmac.tex". Můžete se těmi
+makry inspirovat a třeba je předefinovat podle vlastního typografického návrhu.
+
+První odstavec za titulem kapitoly, sekce a podsekce není odsazen. Pokud jej
+chcete mít odsazen jako ostatní odstavce, napište "\let\firstnoindent=\relax".
+
+Jestliže je název kapitoly, sekce nebo podsekce příliš dlouhý, rozlomí se do
+řádků. V takovém případě je někdy lepší rozdělit název do řádků manuálně.
+K tomu slouží makro "\nl", které odřádkuje v místě použití (newline).
+Toto makro se navíc v obsahu chová jako mezera.
+
+
+\label[cislovani]
+\sec Další číslované objekty a odkazy na ně
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+Kromě kapitol, sekcí a podsekcí se automaticky číslují ještě rovnice a
+popisky pod obrázky a pod tabulkami.
+
+Pokud na konci display módu je uvedeno
+"\eqmark", tato rovnice bude číslovaná. Formát číslování je implicitně jediné
+číslo uzavřené v kulaté závorce resetované při každém zahájení nové sekce.
+Příklad: "$$ a^2 + b^2 = c^2 \eqmark $$" vytiskne
+$$
+ a^2 + b^2 = c^2 \eqmark
+$$
+
+Je-li potřeba očíslovat jedním číslem více rovnic sestavených pomocí
+"\eqalignno", pak použijte "\eqmark" v posledním sloupci, například takto:
+
+\begtt
+$$
+ \eqalignno{a^2+b^2 &= c^2 \cr
+ c &= \sqrt{a^2+b^2} & \eqmark \cr}
+$$
+\endtt
+Ukázka dává tento výsledek:
+
+\label[vypocet]
+$$
+ \eqalignno{a^2+b^2 &= c^2 \cr
+ c &= \sqrt{a^2+b^2} & \eqmark \cr}
+$$
+
+Dalšími číslovanými objekty jsou popisky.
+Popisek pod obrázky je potřeba uvést slovem "\caption/f" a popisek pod
+tabulkami slovem "\caption/t". Pak následuje text popisku ukončený
+prázdným řádkem. Příklad:
+
+\begtt
+\hfil\table{rl}{věk & hodnota \crl\noalign{\smallskip}
+ 0--1 & neměřitelná \cr
+ 1--6 & projevující se \cr
+ 6--12 & výrazná \cr
+ 12--20 & extrémní \cr
+ 20--40 & mírnější \cr
+ 40--60 & různá \cr
+ 60--$\infty$ & umírněná} % vytvoření tabulky
+\par\nobreak\medskip
+\caption/t Závislost závislosti na počítačích na věku.
+\endtt
+%
+Tato ukázka vytvoří:
+
+\label[zkouším]
+\medskip
+\hfil\table{rl}{věk & hodnota \crl\noalign{\smallskip}
+ 0--1 & neměřitelná \cr
+ 1--6 & projevující se \cr
+ 6--12 & výrazná \cr
+ 12--20 & extrémní \cr
+ 20--40 & mírnější \cr
+ 40--60 & různá \cr
+ 60--$\infty$ & umírněná}
+\par\nobreak\medskip
+\caption/t Závislost závislosti na počítačích na věku.
+\medskip
+
+Vidíme, že makro "\caption/t" doplnilo slovo \uv{Tabulka} následované číslem.
+Toto číslo přebírá číslo sekce a za tečku doplňuje ještě číslo
+tabulky. Podobně se chová "\caption/f", jen místo slova \uv{Tabulka} se v textu
+zjeví slovo \uv{Obrázek}. Obrázky a tabulky jsou číslovány nezávisle.
+Popisek je centrován. Je-li popisek delší na více řádcích, je centrován
+poslední řádek.
+
+Způsob číslování lze změnit jinou definicí makra "\thednum" (pro
+rovnici), "\thetnum" (pro tabulky) a "\thefnum" (pro obrázky). Makro OPmac
+je definuje implicitně takto:
+
+\begtt
+\def\thednum{(\the\dnum)}
+\def\thetnum{\thesecnum.\the\tnum}
+\def\thefnum{\thesecnum.\the\fnum}
+\endtt
+
+Makro OPmac vloží slovo \uv{Tabulka} v závislosti na nastaveném jazyce
+příkazem "\chyph", "\shyph", "\ehyph". Při "\shyph" dostaneme \uv{Tabuľka} a
+při "\ehyph" máme \uv{Table}. Podobně se chovají slova
+\uv{Obrázek/Obrázok/Figure} a \uv{Kapitola/Kapitola/Chapter}.
+Jiná automaticky generovaná slova OPmac nepoužívá.
+
+Předefinovat tato slova lze pomocí "\sdef", jak ukazuje následující příklad,
+který zamění celá slova za zkratky.
+
+\begtt
+\sdef{mt:t:cz}{Tab.} \sdef{mt:t:sk}{Tab.} \sdef{mt:t:en}{Tab.}
+\sdef{mt:f:cz}{Obr.} \sdef{mt:f:sk}{Obr.} \sdef{mt:f:en}{Fig.}
+\endtt
+
+\LaTeX{}oví uživatelé jsou zvyklí, že jim tabulky a obrázky plavou v
+dokumentu, přičemž inklinují k horní části stránky. To se při použití OPmac
+implicitně neděje, ale je možno plavání zařídit
+pomocí plain\TeX{}ového makra "\topinsert" resp. "\midinsert". Například:
+
+\begtt
+\topinsert
+ \hfil\table{rl}{...} % vytvoření tabulky
+ \medskip
+ \caption/t Závislost závislosti na počítačích na věku.
+ \par
+\endinsert
+\endtt
+
+Na automaticky číslované objekty je nutno se občas v textu odkazovat.
+Protože dopředu nevíme, pod jakým číslem se rovnice, sekce, tabulka atd.
+vytiskne, je potřeba použít interní lejblíky k označkování odkazovaných
+objektů. K tomu slouží makro "\label[<lejblík>]", které musí předcházet
+makru, jež generuje číslo. Není nutné, aby "\label" předcházel těsně danému
+makru. Tedy například:
+
+\begtt
+\label[chroust] \sec O nesmrtelnosti chroustů
+
+\label[zavislaci]
+\hfil\table{rl}{...} % vytvoření tabulky
+\caption/t Závislost závislosti na počítačích na věku.
+
+\label[pythagoras]
+$$ a^2 + b^2 = c^2 \eqmark $$
+
+Nyní můžeme hovořit o~sekci~\ref[chroust] na straně~\pgref[chroust] nebo
+taky o~rovnici~\ref[pythagoras] na straně~\pgref[pythagoras]. Dále bude
+potřeba upozornit na tabulku~\ref[zavislaci] na straně~\pgref[zavislaci],
+která shrnuje jistý druh závislosti.
+\endtt
+
+Text z ukázky vytvoří zhruba toto: \uv{Nyní můžeme hovořit o sekci 2.1
+na straně 13 nebo taky o rovnici (1) na straně 15. Dále bude
+potřeba upozornit na tabulku 1.3.1 na straně 42,
+která shrnuje jistý druh závislosti.}
+
+Jestliže se v textu vyskytují dopředné reference (tj. odkazujeme na objekt,
+který ještě není vytištěn) nebo text odkazuje na stránky ("\pgref"), je nutné
+\TeX{}ovat dokument dvakrát.
+
+
+\sec Odrážky
+%%%%%%%%%%%%
+
+Jednotlivé myšlenky je občas potřeba vypíchnout odrážkami. Prostředí s
+odrážkami se vymezuje sekvencemi "\begitems" a "\enditems". Uvnitř tohoto
+prostředí je hvězdička aktivním znakem, který zahajuje odrážky. Prostředí s
+odrážkami je možné vnořit do sebe. Pomocí "\style <znak>" hned za slovem
+"\begitems" je možné vymezit některé z předdefinovaných vzhledů odrážek:
+
+\begtt
+\style o % malý puntík
+\style O % velký puntík $\bullet$ (implicitní volba)
+\style - % spojovník
+\style n % odrážky číslované 1., 2., 3., ...
+\style N % odrážky číslované 1), 2), 3), ...
+\style i % odrážky číslované (i), (ii), (iii), (iv), ...
+\style I % odrážky číslované I, II, III, IV, ...
+\style a % odrážky s písmeny a), b), c), ...
+\style A % odrážky s písmeny A), B), C), ...
+\style x % malý čtvereček
+\style X % velký čtvereček
+\endtt
+
+Příklad:
+
+\begtt
+\begitems \style n
+* Tady je první myšlenka.
+* A tady druhá, která je rozdělena na
+ \begitems \style a
+ * podmyšlenku
+ * a hned následuje další podmyšlenka,
+ * poslední podmyšlenka.
+ \enditems
+* Tady je třetí myšlenka.
+\enditems
+\endtt
+%
+vytvoří následující výstup:
+
+\begitems \style n
+* Tady je první myšlenka.
+* A tady druhá, která je rozdělena na
+ \begitems \style a
+ * podmyšlenku
+ * a hned následuje další podmyšlenka,
+ * poslední podmyšlenka.
+ \enditems
+* Tady je třetí myšlenka.
+\enditems
+
+Chcete-li uvnitř prostředí s odrážkami vytisknout hvězdičku, pište~"\char`\*".
+
+Pomocí "\sdef{item:<písmeno>}{<text>}" si můžete dodefinovat vzhled odrážek
+podle svých představ. Implicitní odrážku můžete předefinovat pomocí
+"\def\normalitem{<text>}".
+
+Jednotlivá prostředí s odrážkami se odsazují podle
+velikosti registru "\iindent", který je nastaven na hodnotu "\parindent" v
+době čtení souboru "opmac.tex". Pokud později změníte "\parindent",
+doporučuji na stejnou hodnotu nastavit "\iindent".
+Vertikální mezera nad a pod prostředím s odrážkami je řízena makrem
+"\iiskip".
+
+
+\sec Tvorba obsahu
+%%%%%%%%%%%%%%%%%%
+
+Makro "\maketoc" vytiskne v místě svého použití obsah dokumentu bez nadpisu,
+jen jednotlivé řádky obsahu. Odsazení jednotlivých řádků je nastaveno na
+násobky registru "\iindent". Často je potřeba dokument \TeX{}ovat vícekrát,
+než se obsah zjeví a než se stránkové číslice srovnají správně, protože po
+prvním zjevení obsahu se mohou stránky posunout jinam.
+
+Nadpis pro obsah většinou nebudeme psát pomocí "\chap" nebo "\sec", protože
+by se údaj o~obsahu dostal do obsahu, což obvykle není žádoucí. Je proto
+potřeba použít vnitřního makra "\printsec" a před jeho použitím vyprázdnit
+obsah "\thesecnum", abychom neměli tuto sekci číslovanou. Takže obsah
+vyrobíme třeba takto:
+
+\begtt
+\def\thesecnum{}\printsec{\unskip Obsah}\maketoc
+\endtt
+
+Tituly kapitol, sekcí a podsekcí zapisuje OPmac pro účely sestavení obsahu do
+externího souboru "*.ref". Může se stát, že uživatel v těchto textech
+použije nějaké komplikované makro, které se pak v souboru \uv{rozsype} do
+takového stavu, že nejde vzápětí přečíst. V takovém případě je potřeba
+makro zabezpečit proti expanzi při zápisu do souboru pomocí
+deklarace "\addprotect\makro". Takto deklarované makro je pak zabezpečené
+proti expanzi do "*.ref" souboru. Například OPmac deklaruje:
+
+\begtt
+\addprotect~ \addprotect\TeX \addprotect\thefontsize \addprotect\em
+\endtt
+%
+a mnoho dalších. Není možné ale předvídat všechno, co může uživatel
+nacpat do titulu sekce nebo kapitoly. Pokud se tedy \uv{rozsype}
+REF soubor, je potřeba si tímto způsobem zabezpečit používané makro.
+
+
+\sec Sestavení rejstříku
+%%%%%%%%%%%%%%%%%%%%%%%%
+
+Makro pro zanášení slov do rejstříku je navrženo s ohledem na optimalizaci
+počtu úhozů na klávesnici. Autor už napsal své dílo, má daný termín
+odevzdání a nyní ho čeká úmorná práce vyhledávání slov v textu, které by
+měly přijít do rejstříku, a jejich vyznačování. Je třeba mu tuto práci co
+nejvíce usnadnit.
+
+Pro zanesení slova do rejstříku slouží makro "\ii". Je to zkratka za
+\uv{insert to index}.
+Jeho parametr je <slovo> bez mezery ukončené mezerou (obecnější tvar parametru
+uvedeme později). Toto slovo se přepíše do rejstříku, ve kterém jsou všechna
+takto deklarovaná slova seřazena podle abecedy a jsou k nim připojena čísla
+stránek, na kterých bylo použito odpovídající makro "\ii <slovo>".
+Příklad:
+
+\begtt
+Tady mluvím o jistém
+\ii bazmek
+bazmeku, který provokoval moji zvědavost.
+\endtt
+
+Makro "\ii" viditelně neudělá v sazbě nic. Přilepí se na následující slovo (v
+našem příkladě slovo \uv{bazmeku}) jako skrytá značka. Číslo strany,
+kde se ta značka objeví, bude v rejstříku vedle slova \uv{bazmek}.
+
+Je-li "\ii" zapsáno ve vertikálním módu, zahájí se v daném místě odstavec,
+aby se mohla neviditelná značka z "\ii" nalepit na následující slovo. Pokud
+si to z nějakých důvodů nepřejete, použijte interní variantu makra
+"\iindex{<slovo>}", která nezahajuje odstavec.
+
+Pokud se v rejstříku má objevit stejné slovo jako v textu, není nutno je psát
+dvakrát. Stačí použít makro "\iid" (zkratka za "\ii" double):
+
+\begtt
+Hlavní zásady jsou \iid nestrannost , \iid pravdomluvnost a \iid odvaha .
+\endtt
+%
+To povede ke stejnému výsledku jako
+
+\begtt
+Hlavní zásady jsou \ii nestrannost nestrannost,
+\ii pravdomluvnost pravdomluvnost a \ii odvaha odvaha.
+\endtt
+%
+Povšimněte si, že čárky a tečky jsou odstrčeny od dublovaného slova, protože
+mezera je ukončovací znak parametru "\iid". Do textu se mezera vrátí právě
+tehdy, když nenásleduje tečka nebo čárka. V našem příkladě před spojkou \uv{a}
+mezera ve výsledku je, ale před tečkou nebo čárkou mezera není.
+
+Vlastnosti makra "\iid" jsou tímto popsány zcela. Vraťme se k makru "\ii",
+které poskytuje další možnosti.
+
+Parametr "\ii" je vždy ukončen mezerou. Může obsahovat čárky (bez mezer),
+které naznačují, že se do rejstříku dává více slov:
+
+\begtt
+{\bf Definice.}
+\ii lineární~prostor,vektorový~prostor
+{\em Lineárním prostorem} (nebo též vektorovým prostorem) rozumíme ...
+\endtt
+%
+Dostaneme totéž jako při "\ii lineární~prostor \ii vektorový~prostor "
+a tato ukázka demonstruje ještě jednu věc: je-li potřeba do parametru "\ii"
+dostat mezeru, pište vlnku.
+
+Pokud se v rejstříku objeví hesla skládající se z více slov, obvykle chceme,
+aby u~hesla, které opakuje první slovo, se toto slovo
+v rejstříku nevypisovalo opakovaně, ale
+aby bylo nahrazeno pomlčkou. Například:
+\par\nobreak
+\medskip
+\hbox{\indent lineární podprostor 12, 16, 18, 29}\nobreak
+\hbox{\indent \space --- prostor 12, 16--32, 51}\nobreak
+\hbox{\indent \space --- závislost 18--20, 34}
+\medskip
+
+\noindent Při takovém požadavku pište místo vlnky mezi slovy lomítko. Příklad:
+
+\begtt
+\ii lineární/prostor,vektorový/prostor
+\endtt
+
+Někdy je vhodné kromě hesla lineární/prostor zařadit i heslo
+prostor/lineární. Aby se to nemuselo psát dvakrát, je k dispozici zkratka
+"@" napsaná za čárku na konci parametru:
+
+\begtt
+\ii lineární/prostor,vektorový/prostor,@
+% je totéž jako \ii lineární/prostor,vektorový/prostor
+% \ii prostor/lineární,prostor/vektorový
+\endtt
+
+Počet lomítek v hesle pro rejstřík není omezen. Můžete tedy vytvořit
+víceúrovňový rejstřík. Nicméně je třeba vědět, že zkratka "@" nevytváří
+všechny permutace, ale jen prohazuje první údaj před lomítkem se všemi
+ostatními. Takže "\ii a/b/c,@" je totéž jako "\ii a/b/c" "\ii b/c/a".
+
+Samotný rejstřík vznikne v místě příkazu "\makeindex". Rejstřík obsahuje
+data z předchozího zpracování dokumentu \TeX{}em, takže je potřeba
+\TeX{}ovat aspoň dvakrát. Makro "\makeindex" abecedně seřadí data v rejstříku
+podle českých a slovenských pravidel řazení a upraví odkazy na stránky
+(aby se stránky neopakovaly a inklinovaly k zápisu ve tvaru 26--28). Makro
+"\makeindex" se nestará o prostředí, do kterého sazbu vyvrhne, ani o nadpis.
+To musíme udělat sami. OPmac nabízí pro sazbu do více sloupců makra
+"\begmulti <počet-sloupců> ... \endmulti". Příklad:
+
+\begtt
+\sec Rejstřík\par
+\begmulti 3 \makeindex \endmulti
+\endtt
+
+Do rejstříku musejí být zařazena jen \uv{čistá} slova, která neobsahují makra
+expandující na primitivní příkazy \TeX{}u. Pokud chcete vytisknout v rejstříku
+něco komplikovanějšího, můžete sestavit slovník výjimek pomocí
+maker "\iis <heslo><mezera>{<tisk>}"
+(název makra můžeme číst jako "\ii" speciální).
+Funkci si vysvětlíme na příkladu:
+
+\begtt
+\iis chikvadrat {$\chi$-kvadrát}
+\iis relax {{\tt \char`\\relax}}
+\iis Geodelova/věta/o~neúplnosti {G\"odelova/věta/o~neúplnosti}
+\iis věta/o~neúplnosti/Geodelova {věta/o~neúplnosti/G\"odelova}
+\endtt
+%
+Lze pak psát "\ii relax" nebo "\ii chikvadrat" nebo
+"\ii Geodelova/věta/o~neúplnosti,@".
+OPmac abecedně řadí podle těchto hesel, ale když dojde
+na potřebu heslo vytisknout do rejstříku, vytiskne místo těchto hesel
+materiál,
+který je uveden na pravé straně slovníku.
+Příklad ukazuje, že tím lze
+řešit nejen tisk hesel, která je potřeba ošetřit
+speciálními makry (v příkladu slovo relax), ale také
+výjimky abecedního řazení (písmeno "\"{\tt\char`\"o}
+nemáme v české abecedě, kdoví, kam by se to zařadilo).
+%
+Slovník výjimek je možný zapsat kamkoli před "\makeindex",
+typicky se píše na začátek dokumentu.
+
+Výjimku z řazení dvojhlásky ch (například ve slově mochnátý, tj. mnohonohý)
+je možné zařídit pomocí tečky, která má stejně jako ostatní interpunční
+znaky, nulovou řadicí platnost (OPmac hesla řadí, jakoby tam interpunkce
+nebyla). Takže třeba takto:
+\begtt
+... \ii moc.hnátý ...
+\iis moc.hnátý {mochnátý}
+\endtt
+%
+Je-li při zpracování "\makeindex" zapnutý anglický jazyk (implicitní
+nastavení nebo po přepínači
+"\ehyph"), pak se ch neinterpretuje jako dvojhláska. Ostatní pravidla řazení
+zůstávají nezměněna.
+
+Pro různé speciální znaky můžete využít znak "@", který se řadí před celou
+abecedou. Speciální znak pak nahradíte až ve slovníku výjimek.
+Takže třeba "\ii Ernst~@~Young" pro řazení a
+"\iis Ernst~@~Young {Ernst \& Young}" pro tisk.
+
+
+\sec Barvy, vodoznaky
+%%%%%%%%%%%%%%%%%%%%%
+
+Makra uvedená v této sekci nastavují barvy jen při použití pdf\TeX{}u a při
+výstupu do PDF. Jinak tato makra neudělají nic.
+
+Barvu textu můžete nastavit pomocí přepínačů "\Blue", "\Red", "\Brown",
+"\Green", "\Yellow", "\White", "\Grey" a "\Black". Je potřeba si uvědomit, že tyto
+přepínače pracují globálně nezávisle na skupině uvnitř boxu i mimo, prostě
+kdekoli. Barvu jinou než černou je potřeba nakonec vypnout přepínačem
+"\Black". Pokud barvu jinou než černou zapnete na některé stránce a text v
+této barvě přeteče do stránek dalších, při opakovaném \TeX{}ování se objeví
+správná barva i na následujících stránkách. Tuto skutečnost si totiž
+\TeX{} musí ujasnit prostřednictvím pomocného souboru s odkazy.
+
+Společně s barvou textu tyto přepínače zapínají i barvu větších ploch
+vytvořených pomocí "\hrule" a "\vrule". Ve specifikaci formátu PDF je
+nicméně ještě jeden přepínač barev nezávislý na barvě textu a větších ploch.
+Jsou to barvy linek, které mají tloušťku menší než 1pt. Tento \uv{druh
+barvy} se přepíná stejnými přepínači "\Blue", ..., "\Black" ovšem
+před tímto přepínačem musí bezprostředně předcházet slovo "\linecolor".
+Takže "\linecolor\Red" zapne barvu linek na červenou, ale barva textu
+zůstane původní. Nebo "\Black" vrátí do normálu barvu textu, zatímco
+"\linecolor\Black" způsobí, že také linky budou dále černé.
+
+\def\podbarvi#1#2#3{\setbox0=\hbox{#3}\leavevmode
+ \rlap{#1\strut\vrule width\wd0}#2\box0\Black}
+
+Kromě uvedených barevných přepínačů si můžete \uv{namíchat} v režimu CMYK
+i barvy vlastní. Stačí se inspirovat, jak jsou uvedené přepínače
+definovány:\par\nobreak
+
+\begtt
+\def\Red{\setcmykcolor{0.0 1.0 1.0 0}}
+\def\Brown{\setcmykcolor{0 0.67 0.67 0.5}}
+...
+\endtt
+%
+Následuje příklad, kterým vytvoříme \podbarvi\Yellow\Brown{podbarvený text:}
+
+\begtt
+\def\podbarvi#1#2#3{\setbox0=\hbox{#3}\leavevmode
+ \rlap{#1\strut\vrule width\wd0}#2\box0\Black}
+ \podbarvi\Yellow\Brown{Tady je hnědý text na žlutém pozadí.}
+\endtt
+
+{\bf Vodoznakem} je míněn šedý text opakující se na každé stránce,
+který je vytištěn pod obvyklým textem. Například OPmac nabízí makro
+"\draft", které způsobí, že každá stránka obsahuje šikmo napsaný veliký šedý
+nápis DRAFT. Můžete se inspirovat v technické dokumentaci, jak je to
+uděláno.
+
+
+\label[klikani]
+
+\sec Klikací odkazy
+%%%%%%%%%%%%%%%%%%%
+
+Pokud napíšete na začátek dokumentu "\hyperlinks{<color-in>}{<color-out>}", pak
+se v dokumentu při výstupu do PDF stanou klikacími:
+
+\begitems
+* čísla generovaná pomocí "\ref" a "\pgref",
+* čísla kapitol, sekcí, podsekcí a stránek v obsahu,
+* čísla nebo značky generované pomocí "\cite" (odkazy na literaturu),
+* texty tištěné pomocí makra "\url".
+\enditems
+
+Poslední z uvedených odkazů je externí a bude mít barvu <color-out>, zatímco
+ostatní čísla jsou interními odkazy a budou mít barvu <color-in>. Příklad:
+
+\begtt
+\hyperlinks{\Blue}{\Green} % vnitřní odkazy modré, URL zelené
+\endtt
+
+Je možné zobrazit rámečky ohraničující aktivní plochu pro klikání. Tyto
+rámečky jsou viditelné jen v PDF prohlížeči, při tisku na tiskárně se
+nezobrazují. Stačí těmto rámečkům \uv{namíchat} barvu (tentokrát RGB) a
+definovat některé ze sekvencí "\pgborder", "\tocborder", "\citeborder",
+"\refborder" a "\urlborder". První část jména kontrolní sekvence
+určuje, jakých odkazů se to týká. Příklad:
+
+\begtt
+\def\tocborder{1 0 0} % odkazy v obsahu vlevo budou mít červený rámeček
+\def\pgborder{0 1 0} % odkazy na stránky budou mít zelený rámeček
+\def\citeborder{0 0 1} % odkazy na publikace budou mít modrý rámeček
+\endtt
+%
+Implicitně tato makra nejsou definována, což znamená, že se rámečky netvoří.
+
+Manuálně je možno vytvořit cíl odkazu makrem
+"\dest[<typ>:<lejblík>]{<výška>}"
+a klikací text makrem "\link[<typ>:<lejblík>]{<color>}{<text>}".
+Parametr <typ> je typ odkazu (toc, pg, cite, ref nebo další). Parametr
+<výška> určuje vzdálenost cíle nad účařím. Protože PDF prohlížeče většinou
+lícují horní hranu okna přesně s místem cíle, je potřeba cíl umístit poněkud výše,
+abychom viděli i odkazovaný text.
+
+Makro "\url" vytiskne odkaz do internetu. Příklad: "\url{http://petr.olsak.net}"
+vytvoří \url{http://petr.olsak.net}. Text je psán strojopisem a může se
+lámat do řádků za lomítky. Je-li nastaveno "\hyperlinks", stává se tento
+text aktivním vnějším odkazem.
+
+Obsah dokumentu se dá přesunout do levé záložky PDF prohlížeče tak, že klikáním na
+něj se přechází v~dokumentu na požadované místo. Ve specifikaci PDF se tomu
+říká \uv{outlines}. Makro, které uvedenou věc zařídí, se jmenuje
+"\outlines{<úroveň>}". Záložky budou implicitně rozevřeny do <úrovně>
+včetně. Takže při <úroveň>=0 jsou
+vidět jen úrovně kapitol, při <úroveň>=1 vidíme i sekce a při
+<úroveň>$\geq$2 vidíme rozevřeno všechno. Bohužel písmo v záložkách typicky
+nezvládá správně česká a slovenská písmena. Proto OPmac konvertuje texty do
+záložek tak, že tam jsou bez hacku a carek. Chcete-li vypnout tuto konverzi,
+napište "\def\toasciidata{}".
+
+Samotný řádek do záložek vložíte makrem
+"\insertoutline{<text>}". Text v~tomto případě nepodléhá konverzi.
+V sazbě se neobjeví nic, jen se stane cílem, když uživatel na záložku
+s~<textem> klikne. Obsah se do záložek vloží celý během činnosti makra
+"\outlines", takže další řádky vložené pomocí "\insertoutline" tomuto
+obsahu předcházejí nebo následují podle toho, zda předcházejí nebo následují
+místu, kde je použito "\outlines".
+
+
+\sec Verbatim texty
+%%%%%%%%%%%%%%%%%%%
+
+Vytisknout část textu verbatim \uv{tak jak je} bez interpretace
+speciálních znaků lze
+v prostředí vymezeném makry "\begtt" a "\endtt". Příklad:
+
+{\def\tthook{\adef/{\string\endtt}}
+\begtt
+\begtt
+Tady je vše
+ napsáno bez interpretace speciálních znaků, jakými
+ jsou mezera, %, $, \, ~, ^, _, {, }, #, &.
+/
+\endtt
+}
+Ve výstupu se objeví:
+
+\begtt
+Tady je vše
+ napsáno bez interpretace speciálních znaků, jakými
+ jsou mezera, %, $, \, ~, ^, _, {, }, #, &.
+\endtt
+%
+Není-li za "\endtt" prázdný řádek, nemá následující odstavec výchozí
+odsazení.
+
+Je-li před zahájením "\begtt" nastaven registr "\ttline" na nezápornou
+hodnotu, bude makro číslovat řádky. První řádek má číslo "\ttline+1"
+a po práci makra se registr "\ttbline" posune na číslo posledního
+vytištěného řádku. Takže v~dalším prostředí "\begtt" ... "\endtt"
+číslování pokračuje tam, kde přestalo. Implicitně je "\ttline=-1",
+takže číslování neprobíhá.
+
+Levé odsazení každého řádku v "\begtt...\endtt" je nastaveno na "\ttindent".
+Tento registr má výchozí hodnotu rovnu "\parindent" (v době čtení souboru
+"opmac.tex"). Vertikální mezera nad a pod verbatim výpisem je vložena
+makrem "\ttskip".
+
+Makro "\begtt" zahájí skupinu a v ní nastaví všem speciálním znakům plain\TeX{}u
+kategorii 12. Pak spustí makro "\tthook", které
+je implicitně prázdné. V něm je možno nastavit další kategorie znaků podle
+potřeby. Definici aktivních znaků je potřeba udělat
+pomocí "\adef<znak>{<text>}". Normální "\def" nefunguje, důvod je
+vysvětlen v~TBN, str.~26. Příklad:
+
+{\def\tthook{\adef/{\string\endtt}}
+\begtt
+\def\tthook{\adef!{?}}
+\begtt
+Nyní se každý vykřičník promění v otazník. Že nevěříte? Vyzkoušejte!
+/
+\endtt
+}
+Jednou definovaný "\tthook" funguje ve všech verbatim výpisech, dokud jej
+nepředefinujete jinak. Tipy:
+\par\nobreak
+\begtt
+\def\tthook{\typosize[9/11]} % jiná velikost verbatim výpisů
+\def\tthook{\ttline=0} % všechny výpisy číslovány od jedničky
+\def\tthook{\adef{ }{\char`\ }} % místo mezer budou vaničky
+\endtt
+
+Verbatim lze tisknout i v řádku uvnitř odstavce. Pomocí "\activettchar<znak>" si
+uživatel zvolí znak, který bude aktivní a bude zahajovat i končit verbatim
+výpisy uvnitř odstavce. Verbatim výpis se v odstavci nikdy nerozlomí (je v
+boxu). Autor makra OPmac obvykle nastavuje
+"\activettchar"{\tt\char`\"}, takže pak může psát třeba toto:
+
+\begtt
+Je-li před zahájením "\begtt" nastaven registr "\ttline" na nezápornou...
+\endtt
+%
+Znak nastavený pomocí "\activettchar" má lokální platnost a ruší se také
+pozdějším nastavením "\activettchar" na jinou hodnotu. Při zahájení každého
+řádkového verbatim výpisu se spustí makro "\intthook", které je implicitně
+prázdné. {\bf Upozornění:} deklaraci "\activettchar<znak>" proveďte až po přečtení všech
+makrosouborů. Důvod: "\activettchar" nastavuje <znak> jako aktivní, což může při
+čtení souborů maker vadit.
+
+Verbatim listingy je možné tisknout z externího souboru. Například
+
+\begtt
+\verbinput (12-42) program.c
+\endtt
+%
+vytiskne ve stejné úpravě, jako při použití "\begtt", ... "\endtt",
+řádky 12 až 42 ze souboru "program.c".
+Parametry v kulaté závorce mohou vypadat také takto:
+
+\begtt
+\verbinput (-60) program.c % výpis od začátku souboru do řádku 60
+\verbinput (61-) program.c % výpis od řádku 61 do konce souboru
+\verbinput (-) program.c % výpis celého souboru
+\verbinput (70+10) program.c % čtení od řádku 70, přečteno bude 10 řádků
+\endtt
+
+V dalších ukázkách OPmac čte od řádku, který následuje za naposledy
+přečteným řádkem souboru z předchozího volání "\verbinput". Je-li soubor
+čten poprvé, začíná číst prvním řádkem. Tento prvně čtený
+řádek je označen v komentářích jako "n".
+
+\begtt
+\verbinput (+10) program.c % čtení deseti řádků od řádku n
+\verbinput (+) program.c % čtení od řádku n do konce souboru
+\vebrinput (-5+7) program.c % vynechá 5 řádků, od n+5 tiskne dalších 7
+\verbinput (-3+) program.c % vynechá 3 řádky, tiskne do konce souboru
+\endtt
+%
+Narazí-li čtení na konec souboru dřív, než je vytištěno vše, co si žádá
+uživatel, přepis souboru je ukončen a žádná chyba se nezjeví.
+
+Výpisy provedené makrem "\verbinput" jsou ovlivněny registrem
+"\ttindent" a makrem "\tthook" stejně, jako prostředí "\begtt"\dots"\endtt".
+Při "\ttline"{\tt\char`\<-1} se netisknou čísla řádků. Je-li "\ttline=-1", čísluje se podle
+řádků souboru. Je-li "\ttline" nezáporné, čísluje se od "\ttline+1".
+
+
+\sec Jednoduché tabulky
+%%%%%%%%%%%%%%%%%%%%%%%
+
+\LaTeX{}oví uživatelé jsou zvyklí při vymezení pravidel zarovnávání v
+tabulce používat deklarace typu "{cclr}". Každé písmeno vymezí jeden sloupec
+v tabulce, přitom písmeno "c" znamená centrovaný sloupec, "l" je sloupec
+zarovnaný doleva a "r" sloupec zarovnaný doprava.
+Podobnou možnost deklarace jednoduchých tabulek nabízí
+OPmac v makru "\table{<deklarace>}{<data>}". Příklad:
+
+\begtt
+\table{||lc|r||}{\crl
+ Měsíc & zboží & cena\hfil \crli \tskip.2em
+ leden & noťas & 14 kKč \cr
+ únor & skejt & 2 kKč \cr
+ červenec & jachtička & 3,4 MKč \crl}
+\endtt
+
+Uvedený příklad povede na následující výsledek:
+
+\medskip
+\hfil\table{||lc|r||}{\crl
+ Měsíc & zboží & cena\hfil \crli \tskip.2em
+ leden & noťas & 14 kKč \cr
+ únor & skejt & 2 kKč \cr
+ červenec & jachtička & 3,4 MKč \crl}
+\medskip
+
+Ve skutečnosti výsledek nebude uprostřed řádku, ale tam, kam "\table"
+napíšete. Kromě písmen "c", "l", "r" se v <deklaraci> mohou objevit znaky
+\uv{svislítko}, které vymezují svislou čáru mezi sloupci.
+
+V datové části musí být tolik sloupců, kolik jich bylo deklarováno.
+Jsou odděleny znakem "&" nebo symbolem pro konec řádku "\cr". Z toho vyplývá,
+že na každém řádku musí být v datové části o jeden znak "&" méně, než je počet sloupců.
+Nedodržíte-li toto pravidlo, \TeX{} se pomstí chybovou hláškou
+
+\begtt
+! Extra alignment tab has been changed to \cr
+\endtt
+%
+nebo vytvoří nedomrlou tabulku. Místo symbolu pro konec řádku "\cr" je možno
+použít "\crl" (přidá jednoduchou vodorovnou čáru) nebo "\crll" (přidá dvojitou
+čáru), "\crli" (přidá čáru přerušenou svislými dvojitými linkami,
+tj.~{\bf i}nterrupted) a
+"\crlli" (přidá dvojitou čáru přerušenou svislými dvojitými linkami).
+Těsně za "\cr", "\crl" atd. může následovat "\tskip<dimen>",
+což vytvoří vertikální mezeru velikosti <dimen>, přitom se nepřeruší svislé
+čáry v tabulce.
+
+Za povšimnutí stojí, že v ukázce u slova \uv{cena} je připojeno
+"\hfil", což vloží pružnou mezeru vpravo od položky. Protože sloupec "r"
+obsahuje implicitní stejnou pružnou mezeru vlevo, je slovo \uv{cena} centrováno,
+zatímco ostatní údaje ve sloupci jsou zarovnány
+napravo.
+
+Makro "\table" pracuje s předdefinovanými hodnotami, které můžete změnit,
+pokud chcete dosáhnout jiný vzhled tabulky:
+
+\begtt
+\def\tabiteml{\enspace} % co vkládá vlevo každé datové položky
+\def\tabitemr{\enspace} % co vkládá vpravo každé datové položky
+\def\tabstrut{\strut} % podpěra vymezující výšku řádků
+\def\vvkern{1pt} % velikost mezery mezi dvojitou svislou linkou
+\def\hhkern{1pt} % velikost mezery mezi dvojitou vodorovnou linkou
+\endtt
+
+Vyzkoušejte si tabulku po "\def\tabiteml{}\def\tabitemr{}". Sloupce budete
+mít na sebe nalepeny bez mezer. Příklad definice "\tabstrut":
+
+\begtt
+\def\tabstrut{\vrule height11pt depth3pt width0pt}
+\endtt
+%
+Tento příklad vymezuje v tabulce vzdálenost mezi účařím 14pt, z toho
+11pt je rezervováno pro přetahy nad účařím a 3pt pro přetahy pod
+účařím. Vyskytne-li se větší písmeno, zvětší to v~daném místě řádkování.
+
+OPmac definuje "\strut" závislý na zvoleném řádkování (při použití příkazu
+"\typosize") zhruba takto:
+
+\begtt
+\def\strut{\vrule height.709<baselineskip> depth.291<baselineskip> width0pt}
+\endtt
+
+Tip: vyzkoušejte si
+"\def\tabiteml{$\enspace} \def\tabitemr{\enspace$}". Ty dolary způsobí, že
+každá datová položka bude zpracována v matematickém módu. Makro "\table" se
+nyní podobá \LaTeX{}ovému prostředí "array".
+
+Makro "\frame{<text>}" vytvoří rámeček kolem <textu> s vnitřními okraji
+o~velikostech "\vvkern" a "\hhkern". Například "\frame{ahoj}" vytvoří \frame{ahoj}.
+Povšimněte si, že účaří rámovaného textu zůstalo nezměněno. Pokud chcete mít
+tabulku s dvojitými čarami, je výhodné ji vytvořit po stranách
+a nahoře a dole s~jednoduchými čarami a celou ji zabalit do "\frame":
+
+\vbox{
+\begtt
+\frame{\table{|c||l||r||c|}{\crl
+ \multispan4\vrule\hss\bf Nadpis\hss \vrule\tabstrut \crl
+ \noalign{\kern\hhkern}\crli
+ první & druhý & třetí & čtvrtý \crlli
+ sedmý & osmý & devátý & desátý \crli}}
+\endtt
+\par\removelastskip\vskip-8.3ex
+\hfill\frame{\table{|c||l||r||c|}{\crl
+ \multispan4\vrule\hss\bf Nadpis\hss \vrule\tabstrut \crl
+ \noalign{\kern\hhkern}\crli
+ první & druhý & třetí & čtvrtý \crlli
+ sedmý & osmý & devátý & desátý \crli}}
+}
+\medskip
+
+Kromě předdefinovaných znaků "c,l,r,|" se může v "<deklaraci>" objevit
+libovolný další symbol, stačí připravit
+"\def\tabdeclare<symbol>{<vlevo>##<vpravo>}". V technické dokumentaci je
+příklad deklarace položky "P", která se při delším textu láme do více řádků.
+
+Tloušťka všech čar je v \TeX{}u implicitně 0,4pt. OPmac umožňuje tuto
+implicitní tloušťku nastavit jinak pomocí "\rulewidth=<šířka>", například
+"\rulewidth=1.5pt".
+
+Další příklad použití makra "\table" najdete v sekci~\ref[cislovani].
+Pokud potřebujete vytvořit komplikovanější tabulky, nezbude než prostudovat
+TBN, kapitolu čtvrtou.
+
+
+\sec Vkládání obrázků
+%%%%%%%%%%%%%%%%%%%%%
+
+Nejprve je potřeba nastavit šířku obrázku do registru "\picw" a pak je možné
+použít makro "\inspic <jméno>.<přípona>". Obrázek se vloží jako "\hbox" dané
+šířky "\picw". Registr "\picw" si ponechá svou hodnotu, takže další obrázek
+bude mít stejnou šířku, pokud ji nezměníte.
+Přípony souboru s obrázkem mohou být: "png", "jpg", "jbig2", "pdf".
+
+Obrázek je vyhledán v adresáři "\picdir". Toto makro je implicitně prázdné,
+tj. obrázek je vyhledán v aktuálním adresáři.
+
+O umístění obrázku v sazbě se musíte postarat vlastními prostředky.
+Například:
+
+\begtt
+\picw=.5\hsize \centerline{\inspic hodiny.jpg }\nobreak\medskip
+\caption/f Hodiny na brněnském náměstí Svobody.
+\endtt
+
+Makro není vhodné použít při opakovaném použití stejného obrázku v dokumentu
+(opakující se grafika na každé straně nebo obrázek jako
+odrážka ve výčtu položek). V takovém případě je vhodnější natáhnout obrázek
+do PDF dokumentu jen jednou pdf\TeX{}ovým příkazem "\pdfximage" a dále
+opakovat jeho zobrazení na různých místech dokumentu pomocí "\pdfrefximage".
+Dokumentace k pdf\TeX{}u řekne víc.
+
+Makro "\inspic" pracuje jen v pdf\TeX{}u při výstupu do PDF. Pokud máte
+nastaven výstup do DVI,
+můžete použít makro "epsf.tex". Vzhledem k omezeným možnostem (obrázek jen
+ve formátu EPS) není tento způsob práce s obrázky v makru OPmac podporován.
+
+Chcete-li \uv{programovat} obrázky přímo ve zdrojovém textu \TeX{}u, lze
+použít plain\TeX{}ové rozhraní vynikajícího makra Ti{\em k}Z, se kterým je OPmac
+kompatibilní.
+
+\sec PDF transformace
+%%%%%%%%%%%%%%%%%%%%%
+
+Veškerá sazba v pdf\TeX{}u může podléhat lineární transformaci, která je
+daná transformační maticí
+"\pdfsetmatrix{<a> <b> <c> <d>}". Tato matice se v lineární algebře
+zapisuje do dvou řádků:
+$$
+ \pmatrix{a&c\cr b&d}, \quad \hbox{např. zvětšení: }
+ \pmatrix{s_1&0\cr 0&s_2}, \quad \hbox{nebo rotace: }
+ \pmatrix{\cos\varphi&\ -\sin\varphi \cr \sin\varphi&\ \hphantom-\cos\varphi}.
+$$
+Pdf\TeX{}ové primitivy "\pdfsetmatrix", "\pdfsave" a "\pdfrestore" bohužel
+nejsou v dokumentaci pdf\TeX{}u uvedeny, tak je musím dokumentovat aspoň
+zde. Příkaz "\pdfsave" uloží stávající transformační matici a aktuální bod
+sazby. V době konání příkazu "\pdfrestore" se matice vrátí do původní podoby
+a aktuální bod sazby v té době musí být na stejném místě, jako byl v~době
+"\pdfsave", jinak se nám sazba rozjede a pdf\TeX{} nadává. Toho se dá
+docílit např. pomocí "\pdfsave...\rlap{<text>}\pdfrestore".
+Transformační matice se nastavují pomocí "\pdfsetmatrix". Opakované použití
+"\pdfsetmatrix" způsobí pronásobení transformační matice novou maticí,
+takže to funguje jako skládání zobrazení. OPmac nabízí dvě užitečná makra
+"\pdfscale{<vodorovně>}{<svisle>}" a "\pdfrotate{<úhel>}". Parametr "<úhel>"
+je interpretován ve stupních. Tato makra provedou odpovídající
+"\pdfsetmatrix".
+
+Aplikujeme-li více matic za sebou, je potřeba vědět, že výchozí text
+prochází transformací jednotlivých matic \uv{odzadu dopředu}, takže
+například:
+
+\begtt
+První: \pdfsave \pdfrotate{30}\pdfscale{-2}{2}\rlap{text1}\pdfrestore
+ % text1 je zvětšen dvakrát a překlopen podél svislé osy,
+ % dále je otočen o 30 stupňů doleva a konečně je vytištěn.
+druhý: \pdfsave \pdfscale{-2}{2}\pdfrotate{30}\rlap{text2}\pdfrestore
+ % text2 je otočen o 30 stupňů doleva, dále zvětšen a překlopen
+ % podél svislé osy, nakonec vytištěn.
+třetí: \pdfsave \pdfrotate{-15.3}\pdfsetmatrix{2 0 1.5 2}\rlap{text3}%
+ \pdfrestore % nejprve zkosení, pak otočení o 15.3 stupňů doprava
+\endtt
+
+\bigskip
+Ukázka dává následující výsledek. První:
+ \pdfsave \pdfrotate{30}\pdfscale{-2}{2}\rlap{text1}\pdfrestore
+druhý:
+ \pdfsave \pdfscale{-2}{2}\pdfrotate{30}\rlap{text2}\pdfrestore
+třetí:
+ \pdfsave \pdfrotate{-15.3}\pdfsetmatrix{2 0 1.5 2}\rlap{text3}%
+ \pdfrestore
+\bigskip\bigskip
+
+
+
+\sec Poznámky pod čarou a na okraji
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+{\bf Poznámku pod čarou}
+vytvoříte pomocí "\fnote{<text>}". V místě tohoto zápisu
+v textu se objeví automaticky generovaná značka a pod čarou dole na stránce
+je tato značka zopakovaná a vedle ní je <text>.
+
+Značka je implicitně definovaná jako číslo v exponentu
+následované závorkou. Číslování poznámek je na každé stránce započato
+jedničkou. Čísla jsou vygenerována správně až po
+opakovaném \TeX{}ování. Při prvním zpracování jsou místo čísel otazníky.
+
+
+Implicitní značkování je možné změnit předefinováním makra "\thefnote".
+Například po
+
+\begtt
+\def\thefnote{\ifcase\locfnum\or
+ *\or**\or***\or$^{\dag}$\or$^{\ddag}$\or$^{\dag\dag}$\fi}
+\endtt
+%
+bude první poznámka mít hvězdičku, druhá dvě hvězdičky atd. Uvedená
+definice předpokládá, že na jedné stránce nebudete mít více než 6 poznámek.
+
+Makro "\fnote" je možné zapsat jen v běžném textu odstavce, nikoli v boxu
+(například v~tabulce). Chcete-li odkazovat třeba z tabulky, je nutné v
+tabulce vytvořit jen značky a mimo tabulku (ovšem tak, aby to neuteklo na
+jinou stránku) zapíšete texty poznámek. K vytvoření značky použijte
+"\fnotemark<číslo>" a text (bez značky) vytvoří "\fnotetext{<text>}".
+Příklad:
+
+\begtt
+{\typoscale[/1200]\table{||lc|r||}{\crl
+ Měsíc & zboží & cena\hfil \crli \tskip.2em
+ leden & noťas\fnotemark1 & 14 kKč \cr
+ únor & skejt\fnotemark2 & 2 kKč \cr
+ červenec & jachtička\fnotemark3 & 3,4 MKč \crl}}
+\par\nobreak \fnotetext{notebook}\fnotetext{scateboard}\fnotetext{jachta}
+\endtt
+%
+Čísla za slovy "\fnotemark" jsou vztažena vzhledem k jedné tabulce a nemusejí
+souviset se skutečným číslem poznámky. Například, je-li na stejné stránce nad
+tabulkou z ukázky normální "\fnote", bude mít vytištěno číslo 1,
+odkazy v tabulce budou mít čísla~2, 3, 4 a případná další poznámka pod
+tabulkou na stejné stránce obdrží číslo 5.
+
+{\bf Poznámku na okraji stránky} vytvoříte pomocí řídicí sekvence
+"\mnote{<text>}". Poznámka je vlevo (na pravou zarážku) na sudé stránce a je
+vpravo (na levou zarážku) na liché stránce. Tuto vlastnost mají poznámky až
+po opakovaném \TeX{}ování. Při prvním \TeX{}ování jsou všechny poznámky vpravo.
+Chcete-li mít poznámky i při opakovaném \TeX{}ování jen vpravo nebo jen
+vlevo, pište do úvodu dokumentu "\fixmnotes\right" nebo "\fixmnotes\left".
+
+Řídicí sekvenci "\mnote{<text>}" můžete napsat do odstavce nebo před
+odstavec. S odstavcem samotným to nic neudělá. Řádek odstavce, kde je
+"\mnote" vložena jako neviditelná značka, je na stejné úrovni, jako první
+řádek textu poznámky.
+
+Text poznámky je od sazby odsazen o "\mnoteindent" a maximální šířka
+poznámky je "\mnotesize". Text poznámky se rozlomí do více řádků, aby
+nepřesáhl "\mnotesize".
+
+Není ošetřen případ, kdy je "\mnote" víceřádková a je umístěna na úroveň
+například posledního řádku strany. Pak text poznámky přečuhuje poněkud
+dolů ze strany. Je tedy nutné "\mnote" použít jen na velmi krátké poznámky a
+případně si tento jev pohlídat a ošetřit před definitivní sazbou manuálně.
+
+
+\sec Bibliografické údaje
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+Pomocí "\cite[<lejblík>]" nebo "\cite[<lejbík1>,<lejblík2>,<lejblík3>]"
+(atd.) vytvoříme v textu odkazy na položky v seznamu literatury. V seznamu
+literatury je třeba uvést záznamy, které mají odkazované lejblíky. Tyto
+záznamy dostanou v seznamu automaticky vygenerovaná čísla a sekvence "\cite"
+se pak promění na číselné odkazy, například [27] nebo [18,~24,~42] (atd.).
+Souvislé řady čísel [1,~2,~3,~5,~6] se promění v~intervaly [1--3,~5--6~]
+jen tehdy, když je v úvodní deklaraci dokumentu napsáno "\shortcitations".
+
+Seznam literatury je možné vložit do dokumentu třemi různými
+způsoby:
+
+\begitems
+* Manuálně: pomocí jednotlivých položek "\bib[<lejblík>]" přímo v dokumentu.
+* S využitím Bib\TeX{}u makrem "\usebibtex{<bib-báze>}{<bst-styl>}".
+* Využitím jednou vygenerované databáze makrem "\usebbl/<typ> <bbl-báze>".
+\enditems
+
+Jednotlivé způsoby jsou níže probrány podrobněji.
+
+\medskip\noindent
+{\bf Manuálně vložený seznam literatury} v dokumentu vypadá například takto:
+
+\begtt
+\bib[tbn] P. Olšák. {\it\TeX{}book naruby.} 468~s. Brno: Konvoj, 1997.
+\bib[tst] P. Olšák. {\it Typografický systém \TeX.}
+ 269~s. Praha: CSTUG, 1995.
+\endtt
+%
+Výše uvedená ukázka dá následující výstup:
+\medskip
+\bib[tbn] P. Olšák. {\it\TeX{}book naruby.} 468~s. Brno: Konvoj, 1997.
+\bib[tst] P. Olšák. {\it Typografický systém \TeX.}
+ 269~s. Praha: CSTUG, 1995.
+
+\medskip\noindent
+{\bf Využití Bib\TeX{}u.} Předpokládá se, že uživatel disponuje souborem
+"<bib-báze>.bib", ve kterém jsou nashromážděny bibliografické údaje ve
+formátu, v jakém je čte program Bib\TeX{}. V~\TeX{}ové distribuci jistě
+najdete nějaký "*.bib" soubor, tak se do něj podívejte. Lejblíkem je první
+údaj u~každého bibliografického záznamu. Soubor "<bib-báze>.bib" by měl
+obsahovat bibliografické údaje, které jsou nadmnožinou toho, co potřebuje
+uživatel vypsat ve svém dokumentu.
+Na místo, kde budete chtít vypsat seznam
+literatury, vložte následující pokyn:
+
+\begtt
+\usebibtex{<bib-báze>}{<bst-styl>}
+\endtt
+
+Parametr "<bib-báze>" je jméno souboru bez přípony ".bib", ve kterém jsou
+připraveny bibliografické záznamy. Parametr "<bst-styl>" je jméno
+stylového souboru bez přípony ".bst", který použije Bib\TeX{} pro konverzi ze zdroje
+"<bib-báze>.bib" do výstupu "<dokument>.bbl". Tento výstup pak bude makrem
+"\usebibtex" přečten a vložen do dokumentu. Typicky používané <bst-styly>
+jsou "plain", "alpha", "apalike", "ieeetr", "unsrt".
+Styl "alpha" způsobí, že se místo čísel začnou zjevovat v dokumentu zkratky,
+a to jednak v seznamu literatury a jednak v místě výskytu příkazů "\cite".
+V takovém případě pochopitelně "\shortcitations" nefunguje a pokud byste se
+o něj pokusili, tak makro havaruje.
+Existují desítky, možná stovky dalších ".bst" stylů, viz internet.
+
+
+Při prvním zpracování dokumentu \TeX{}em makro "\usebibtex" připraví vstupní
+pokyny pro Bib\TeX{} do souboru "<dokument>.aux" a zjistí, že soubor
+"<dokument>.bbl" zatím neexistuje. To dá najevo na terminálu:
+
+\begtt
+WARNING: .bbl file doesn't exist. Use the ``bibtex <dokument>'' command.
+\endtt
+
+Přejděte tedy na příkazový řádek a napíšeme "bibtex <dokument>". Tím se
+spustí program Bib\TeX{}, který přečte ze souboru "<dokument>.aux" vstupní
+pokyny (kterou otevřít ".bib" databázi, který ".bst" styl a jaké lejblíky
+jsou požadovány) a na základě toho vygeneruje soubor "<dokument>.bbl", který
+obsahuje výběr jen těch záznamů, které byly uživatelem citovány pomocí
+"\cite". Soubor "<dokument>.bbl" je navíc zkonvertovaný z
+".bib" formátu do formátu čitelného \TeX{}em.
+Tato konverze je řízena stylem ".bst".
+
+Když znovu \TeX{}ujete dokument, makro "\usebibtex" v tomto případě shledá,
+že soubor "<dokument>.bbl" existuje, načte jej a vytvoří seznam literatury.
+Seznam obsahuje jen citované položky. Druhé spuštění \TeX{}u obvykle
+nestačí, protože příkazy "\cite" jsou typicky dopřednými referencemi, takže
+zatím nemají ponětí o přiřazení čísel k "<lejblíkům>" v seznamu literatury.
+To se dozvědí až v~místě použití "\usebibtex", což je typicky na konci
+dokumentu. Takže teprve třetí \TeX{}ování dá vše do pořádku.
+
+Seznam literatury obsahuje po použití Bib\TeX{}u jen citovaná dílka. Pokud
+chcete do seznamu zařadit další položky, které nejsou v textu explicitně
+odkazovány příkazem "\cite", použijte "\nocite[<lejblík>]". Toto makro dá
+Bib\TeX{}u pokyn, aby do seznamu zahrnul i položku s~<lejblíkem>, ale v
+místě použití tohoto makra se nevytiskne nic. Konečně pomocí "\nocite[*]" dáváme
+Bib\TeX{}u vzkaz, že chceme mít v seznamu literatury celou ".bib" databázi.
+
+Zdroj bibliografických záznamů může být ve více ".bib" souborech. V
+takovém případě stačí jejich názvy oddělit čárkou:
+"\usebibtex{<bib-báze1>,<bib-báze2>}{<bst-styl>}".
+
+Někdy se stane, že autoři ".bib" databází nebo ".bst" stylů neopustili při
+tvorbě těchto souborů \LaTeX{}ový způsob myšlení a občas jim uklouzne nějaká
+\LaTeX{}ová konstrukce z prstů až do počítače. Odtud se dostane do
+čteného ".bbl" souboru a náš plain\TeX{} si s~tím nebude vědět rady. K tomu
+slouží seznam "\bibtexhook", kde můžete uvést definice těchto \LaTeX{}ových
+konstrukcí. Tyto definice budou mít lokální platnost jen při čtení ".bbl"
+souboru. Například
+
+\begtt
+\def\bibtexhook{\def\emph##1{{\em##1}}\def\frac##1##2{{##1\over##2}}}
+\endtt
+
+\noindent
+{\bf Využití jednou vygenerované databáze.} Tvorba seznamů
+literatury Bib\TeX{}em má jistou nevýhodu. Pokud později do dokumentu
+vložíte další "\cite[<lejblík>]", musíte veškerou anabázi s bib\TeX{}em
+provést znovu. A protože v současné době probíhá inflace odborných publikací
+způsobená tím, že se podle kvanta publikací a citací daňový poplatník
+rozhodl odměňovat vědce, je každé zjednodušení práce s bibliografickými
+záznamy přínosné.
+Makro OPmac navrhuje řešení, při kterém stačí použít Bib\TeX{} pro mnoho nových
+článků jen jednou.
+
+\begitems \style n
+* Vytvořte si zvláštní dokument "<mojebáze>.tex", do kterého napíšete:
+\begtt
+\input opmac \genbbl{<bib-báze>}{<bst-styl>} \end
+\endtt
+* Po \TeX{}ování dokumentu "<mojebáze>.tex" spusťte "bibtex <mojebáze>".
+ Tím se vytvoří soubor "<mojebáze>.bbl".
+* Zpracujte \TeX{}em soubor "<mojebáze>.tex" ještě jednou. Vytvoří se
+ seznam veškeré literatury, který byl v souboru "<bib-báze>.bib", přitom každá
+ položka je označena svým <lejblíkem>. Vytiskněte si tento výstup a
+ dejte si jej na nástěnku.
+* Uložte soubor "<mojebáze>.bbl" někam, kde jej umí přečíst \TeX{} bez ohledu
+ na to, v kterém pracujete adresáři.
+* Přejděte k editaci svého dokumentu, pište "\cite" nebo "\nocite" podle potřeby a
+ v místě seznamu literatury dejte sekvenci "\usebbl/<typ> <mojebáze> ".
+ Údaj <typ> má tyto možnosti:
+\begtt
+\usebbl/a <mojebáze> % vypsat kompletně celou <mojebaze> (a=all),
+\usebbl/b <mojebáze> % jen \(no)cite údaje řadit dle <mojebaze> (b=base),
+\usebbl/c <mojebáze> % jen \(no)cite řadit podle pořadí citace (c=cite).
+\endtt
+\removelastskip
+\enditems
+
+
+Kroky 2 až 4 budete muset opakovat pouze tehdy, když budete chtít přidat do
+"<mojebáze>.bbl" další údaj, tj. po upgradu souboru "<bib-báze>.bib".
+Prudí-li různí odběratelé vaší vědecké činnosti požadavky na různé
+"<bst-styly>", stačí si vygenerovat
+podle různých stylů různé soubory typu "mybbl-plain.bbl",
+"mybbl-ieeetr.bbl".
+
+
+\sec Matematická sazba
+%%%%%%%%%%%%%%%%%%%%%%
+
+Následující text popisuje vlastnosti souboru maker "ams-math.tex" (resp.
+"tx-math.tex" při použití některých PostScriptových fontů). Toto makro je
+makrem OPmac načítáno, takže uvedené vlastnosti jsou k dispozici též
+uživatelům OPmac.
+
+V matematické sazbě (mezi dolary) nefungují přepínače textových fontů
+deklarovaných příkazem "\font". Místo toho se tam přepíná mezi tzv. {\it
+matematickými abecedami}. Jakmile začnete psát písmena
+mezi dolary bez použití přepínače, je použita implicitní matematická abeceda
+"\mit". Celkově jsou k dispozici následující abecedy:
+
+{\def\tthook{\catcode`\$=3 \catcode`/=0 \medmuskip=0mu}%
+\begtt
+\mit % matematická kurzíva $abc-xyz,ABC-XYZ$
+\it % textová kurzíva $/it abc-xyz,ABC-XYZ$
+\rm % textová antikva $/rm abc-xyz,ABC-XYZ$
+\cal % jednoduché cal. znaky $/cal ABC-XYZ$
+\script % kroucenější cal. znaky $/script ABC-XYZ$
+\frak % fraktura $/frak abc-xyz,ABC-XYZ$
+\bbchar % zdvojené tahy $/bbchar ABC-XYZ$
+\bf % sans serif bold $/bf abc-xyz,ABC-XYZ$
+\bi % sans serif bold slanted $/bi abc-xyz,ABC-XYZ$
+\endtt
+}
+
+Dále jsou v matematické sazbě k dispozici stovky symbolů dostupných pomocí
+"\<něco>", například "\alpha" $\alpha$, "\geq" $\geq$, "\sum" $\sum$,
+"\sphericalangle" $\sphericalangle$, "\bumpeq", $\bumpeq$. Seznam všech těchto symbolů
+najdete v dokumentaci k AMS\TeX{}u, která se typicky jmenuje "amsguide.ps".
+
+Matematická sazba funguje v nastavené velikosti písma podle "\typosize" nebo
+"\typoscale". V~nadpisech se doporučuje použít boldifikovanou sadu všech
+fontů, která se zapíná pomocí makra "\boldmath". Například:
+
+\begtt
+\def\nadpis#1\par{\centerline{\typosize[17/]\bf\boldmath #1}}
+\nadpis Tady je nadpis včetně vzorce $\int_a^b f(x) {\rm d}x$
+\endtt
+
+Makro "ams-math.tex" nastavuje jako implicitní abecedu matematickou kurzívu,
+která je mírně jinak kreslena než kurzíva textová. Naopak makro
+"tx-math.tex" nastavuje jako implicitní abecedu textovou kurzívu převzatou z
+\uv{okolního} textového fontu. Ta se ve vzorečcích spolu s~textovým fontem
+bude esteticky snášet daleko lépe. Chcete-li toto implicitní chování změnit,
+je možné použít následující globální přepínače:
+
+\begtt
+\itvariables % implicitní abeceda bude textová kurzíva,
+\mitvariables % implicitní abeceda bude matematická kurzíva.
+\endtt
+
+\sec Okraje
+%%%%%%%%%%%
+
+Plain\TeX{} nastavuje levý okraj 1~in a šířku sazby ("\hsize") nastavuje
+tak, aby i pravý okraj při formátu papíru \uv{letter} byl 1\,in. Také horní a
+dolní okraj (do kterého přesahuje záhlaví a stránková číslice) jsou
+nastaveny na 1~in při formátu papíru \uv{letter} a tím je určena výška sazby
+("\vsize"). \csplain{} dělá totéž, tj. okraje jsou 1~in, ale formát papíru
+je~A4.\fnote
+ {Přesněji: \csplain{} nastavuje výšku sazby {\tt\char`\\vsize=239.2mm}, což vede
+ k~dolnímu okraji o 7\,mm většímu než 1\,in.}
+OPmac umožňuje toto nastavení změnit příkazem:\par\nobreak
+
+\begtt
+\margins/<pg> <formát> (<levý>,<pravý>,<horní>,<dolní>)<jednotka>
+například:
+\margins/1 b5 (2,2,2,2)cm % nastaví všechny okraje na 2 cm pro papír b5.
+<pg>... 1 = shodné okraje pro všechny stránky,
+<pg>... 2 = okraje pro liché stránky, sudé mají prohozeny <levý>/<pravý>,
+<formát>... a3, a4, a5, b5, letter nebo uživatelem definovaný,
+<levý>,<pravý>,<horní>,<dolní>... velikosti okrajů,
+<jednotka>... mm, cm, in, pt, pc, bp, dd, cc.
+\endtt
+
+Každý z parametrů <levý>, <pravý>, <horní>, <dolní> může být prázdný.
+Jsou-li prázdné oba <levý> i <pravý>, je zachováno nastavení "\hsize" a
+levý i pravý okraj je stejný. Je-li jen jeden z parametrů
+<levý>, <pravý> prázdný, zůstává zachováno "\hsize" a neurčený okraj se
+dopočítá. Jsou-li <levý> i <pravý> neprázdné, jsou oba okraje určeny
+a je podle nich upraveno "\hsize".
+Analogické pravidlo platí pro <horní>, <dolní> v souvislosti
+s~výškou sazby "\vsize". Například
+
+\begtt
+\margins/2 a4 (,18,,)mm % vnější okraj na dvojstraně 2*a4 je 18mm
+ % \hsize, \vsize beze změny.
+\endtt
+
+Uživatel může před použitím "\margins" definovat vlastní <formát> papíru pomocí
+příkazu "\sdef{pgs:<formát>}{<šířka> <výška>}".
+Opmac například implicitně definuje:
+
+\begtt
+\sdef{pgs:a4}{(210,297)mm} \sdef{pgs:letter}{(8.5,11)in}
+\sdef{pgs:b5}{(176,250)mm}
+\endtt
+
+Celou sazbu na úkor okrajů je možno zvětšit/zmenšit příkazem
+"\magscale[<factor>]". Například "\magscale[500]" zmenší sazbu na polovinu.
+Při této změně zůstává na místě \uv{Knuthův bod}, tj. bod o souřadnicích
+1\,in, 1\,in od horního a levého okraje. Sazba samotná je zalomena zcela
+stejně. Jednotky
+použité v dokumentu jsou od této chvíle relativní. Například po
+"\magscale[2000]" je použitá jednotka v dokumentu "1mm" ve skutečnosti "2mm".
+Makro "\magscale" ponechává nezměněny jen rozměry stránek dané formátem
+stránek (a4, a3, atd.). Možnost použití
+makra: "\magscale[1414] \margins/1 a4 (,,,)mm" umístí sazbu, která je určena
+pro tisk na a5, doprostřed stránky a4 a odpovídajícím způsobem ji zvětší,
+aby se to korektorům lépe četlo.
+
+
+\sec Poslední strana
+%%%%%%%%%%%%%%%%%%%%
+
+Číslo poslední strany dokumentu (to nemusí být počet stran) je uloženo při
+opakovaném zpracování \TeX{}em v~registru "\lastpage". K tomu musí být
+otevřen soubor REF s daty pro křížové odkazy, rejstřík a obsah. Pokud
+pracujete s těmito daty, je soubor REF automaticky otevřen. Pokud ne,
+můžete si vynutit jeho otevření příkazem "\openref".
+Není-li soubor REF otevřen, je hodnota registru "\laspage" rovna nule.
+Příklad využití:
+
+\begtt
+\footline={\hss \rm \thefontsize[10]\the\pageno/\the\lastpage \hss}
+\endtt
+
+\vfill\break
+
+\sec Shrnutí
+%%%%%%%%%%%%
+
+Klíčová makra balíku OPmac jsou stručně shrnuta v následujícím výpisu.
+
+\def\tthook{\adef!{\string\endtt}\adef&{\kern.25em}}
+\begtt
+\tit <Název titulu (ukončený prázdným řádkem)>
+\chap <Název kapitoly (ukončený prázdným řádkem)>
+\sec <Název sekce (ukončený prázdným řádkem)>
+\secc <Název podsekce (ukončený prázdným řádkem)>
+
+\maketoc % generování obsahu
+\ii <heslo>,<heslo> % vložení hesel do rejstříku
+\makeindex % generování rejstříku
+
+\label[<lejblík>] % deklarace před cílem odkazu
+\ref[<lejblík>] % odkaz na kapitolu, sekci nebo podsekci
+\cite[<lejblík>] % odkaz do seznamu literatury
+\pgref[<lejblík>] % odkaz na stránku
+
+\caption/t % číslovaný popisek tabulky
+\caption/f % číslovaný popisek obrázku
+\eqmark % číslovaná rovnice
+
+\begitems % začátek výčtu položek
+\enditems % konec výčtu položek
+\begtt % začátek verbatim výpisu
+! % konec verbatim výpisu
+\activettchar <znak> % inicializace znaku pro in-text verbatim
+\verbinput % verbatim výpis ze souboru
+\begmulti % začátek vícesloupcové sazby
+\endmulti % konec vícesloupcové sazby
+
+\bib[<lejblík>] % položka v seznamu literatury
+\cite[<lejblík>] % místo, odkud se odkazuje do seznamu literatury
+\usebibtex{<bib-báze>}{<bst-styl>} % použití bibTeXu pro seznam literatury
+\genbbl{<bib-báze>}{<bst-styl>} % předgenerování seznamu literatury
+\usebbl/? <bbl-báze> % použití předgenerované databáze, ? je z {a,b,c}
+
+\typosize[<font-velikost>/<řádkování>] % nastavení velikosti sazby
+\typoscale[<faktor-font>/<faktor-řádkování>] % škálování velikosti sazby
+\thefontsize[<velikost>] \thefontscale[<faktor>]& % velikost aktuálního fontu
+
+\inspic <soubor>.<přípona> % vložení obrázku, přípony: jpg, png, pdf
+\table{<pravidlo>}{<data>} &% makro pro tabulku
+\frame{<text>} % orámovaný text
+
+\fnote{<text>} % poznámka pod čarou (lokální číslování na každé stránce)
+\mnote{<text>} % poznámka na okraji (pravém nebo levém podle stránky)
+
+\hyperlinks{<barva-in>}{<barva-out>} % v PDF budou odkazy klikací
+\outlines{<úroveň>} & % PDF bude mít záložku s obsahem
+
+\magscale[<faktor>] % zvětšení/zmenšení sazby beze změny zlomu
+\margins/<pg> <formát> (<levý>,<pravý>,<horní>,<dolní>)<jednotka> % okraje
+\endtt
+
+
+\end
+