summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/cstex/opmac-u.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-04-15 21:39:56 +0000
committerKarl Berry <karl@freefriends.org>2016-04-15 21:39:56 +0000
commit1450af3d3e883477599a3de6492b6cfdb8f2fba4 (patch)
tree1332b6ef07f634e401a425f18e916fd99822816c /Master/texmf-dist/doc/cstex/opmac-u.tex
parent5e77de80c3619d378c8a85ab0e2413086a57a8a5 (diff)
cstex (15apr16)
git-svn-id: svn://tug.org/texlive/trunk@40539 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/cstex/opmac-u.tex')
-rw-r--r--Master/texmf-dist/doc/cstex/opmac-u.tex171
1 files changed, 146 insertions, 25 deletions
diff --git a/Master/texmf-dist/doc/cstex/opmac-u.tex b/Master/texmf-dist/doc/cstex/opmac-u.tex
index fa26b8e53ab..5dcb3351cc8 100644
--- a/Master/texmf-dist/doc/cstex/opmac-u.tex
+++ b/Master/texmf-dist/doc/cstex/opmac-u.tex
@@ -6,6 +6,7 @@
\chyph % use (pdf)csplain
\input opmac
\input pdfuni
+\hyperlinks{\Blue}{\Green}
\typosize[11/13]
@@ -14,8 +15,7 @@
\activettchar"
-\insertoutline{OBSAH} \outlines{0} \hyperlinks{\Blue}{\Green}
-
+\insertoutline{OBSAH} \outlines{0}
\tit OPmac -- rozšiřující makra plain\TeX{}u
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -25,11 +25,11 @@
\bigskip
\centerline{\url{http://petr.olsak.net/opmac.html}}
-\notoc\nonum \sec Obsah\par\maketoc
+\notoc\nonum \sec Obsah
+\maketoc
\nonum \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,
@@ -92,7 +92,6 @@ 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 jsou-li ve skupině,
za ní se nastavení vrací k původním hodnotám.
@@ -180,12 +179,11 @@ To je {\em zdůrazněný} text. % jako: To je {\it zdůrazněný\/} text.
\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>".
+Titul dokumentu vyznačte pomocí "\tit <titul><konec-řádku>", kapitolu
+zahajte "\chap <titul><konec-řádku>" a podobně novou sekci zahajte
+"\sec <titul><konec-řádku>" a podsekci
+"\secc <titul><konec-řádku>".
Takže třeba:
\begtt
@@ -483,13 +481,13 @@ Příklad:
\begtt
Tady mluvím o jistém
-\ii bazmek
-bazmeku, který provokoval moji zvědavost.
+\ii kroutilík
+kroutilíku, 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}.
+našem příkladě slovo \uv{kroutilíku}) jako skrytá značka. Číslo strany,
+kde se ta značka objeví, bude v rejstříku vedle slova \uv{kroutilík}.
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
@@ -573,7 +571,7 @@ 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
+\sec Rejstřík
\begmulti 3 \makeindex \endmulti
\endtt
@@ -1122,8 +1120,8 @@ 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 zopakována 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
+Značka je implicitně definovaná jako číslo v exponentu.
+Číslování poznámek je na každé stránce započato
jedničkou\fnote
{Toto chování se dá změnit vložením příkazu {\tt\char`\\runningfnotes} na
začátek dokumentu. V takovém případě se poznámky číslují od jedné v celém
@@ -1136,11 +1134,12 @@ Například po
\begtt
\def\thefnote{\ifcase\locfnum\or
- *\or**\or***\or$^{\dag}$\or$^{\ddag}$\or$^{\dag\dag}$\fi}
+ *\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.
+bude první poznámka mít hvězdičku se závorkou, druhá dvě hvězdičky se
+závorkou 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
@@ -1433,7 +1432,7 @@ 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}%
+{\def\tthook{\catcode`\$=3 \catcode`/=0 \medmuskip=0mu \adef{ }{ }}%
\begtt
\mit % matematická kurzíva $abc-xyz,ABC-XYZ$
\it % textová kurzíva $/it abc-xyz,ABC-XYZ$
@@ -1472,6 +1471,13 @@ je možné použít následující globální přepínače:
\itvariables % implicitní abeceda bude textová kurzíva,
\mitvariables % implicitní abeceda bude matematická kurzíva.
\endtt
+%
+{\bf Poznámka:} Vlastnosti popsané v této kapitole (AMS symboly, "\bbchar",
+"\script", "\frak", sans serifový font po přepínačích "\bf", "\bi" v math
+módu) vyžadují zavést speciální fonty (AMS fonty, EC fonty). Chcete-li
+se vyhnout této závislosti na fontech, můžete využít
+\ulink[http://petr.olsak.net/opmac-tricks.html\#onlycm]{OPmac trik~0111}.
+
\sec Okraje
%%%%%%%%%%%
@@ -1561,6 +1567,121 @@ Není-li soubor REF otevřen, je hodnota registru "\lastpage" rovna nule.
\endtt
+\sec Další jazyk
+%%%%%%%%%%%%%%%%
+
+OPmac přímo podporuje češtinu, slovenštinu a angličtinu. Ostatní jazyky lze
+použít také, ale je potřeba vynaložit nepatrné úsilí. Především je potřeba
+použít \TeX{}ový stroj a formát takový, aby byl jazyk podporován. Formát
+musí mít připravené vzory dělení vybraného jazyka. Abychom se nepropadli do
+kódovacího pekla, doporučuji použít Unikódový \TeX{}ový stroj ("xetex" nebo
+"luatex") a zavést rodinu fontů podporující Unicode, ve které jsou všechny
+potřebné znaky abecedy daného jazyka připraveny.
+
+Na příkladu si ukážeme, jak toto lze udělat v nativním formátu pro Xe\TeX{}
+nebo Lua\TeX. Tyto stroje používají formát generovaný ze souboru "etex.src"
+jako implicitní (tj. formát je přímo připraven po spuštění příkazu "xetex" nebo "luatex").
+Protože tento formát má vloženy vzory dělení všech dostupných jazyků, je pro
+práci s dalšími jazyky ideální. Není totiž nutné nic přegenerovávat. Například
+vzory dělení pro španělštinu aktivujete v dokumentu pomocí
+"\uselanguage{espanol}".
+
+OPmac potřebuje znát překlad tří automaticky generovaných slov
+\uv{Kapitola}, \uv{Tabulka} a \uv{Obrázek} pro zvolený jazyk. Tento jazyk je
+v OPmac označován pomocí zkratky podle ISO~639-1. Například španělština je
+tam označena ISO-kódem "es".
+
+Při použití formátu z "etex.src" je nutné přidělit dlouhému názvu jazyka
+jeho ISO kód pomocí "\isolangset{<název>}{<iso-kód>}". Naopak, při použití
+\csplain{}u jsou všechny ISO kódy již nastaveny, a proto příkaz
+"\isolangset" v takovém případě neudělá nic.
+
+Následuje příklad pro španělštinu. \TeX{}ujte pomocí "xetex soubor" nebo
+"luatex soubor".
+
+\mubyte \ntie ^^c3^^b1\endmubyte \def\ntie{\~n}
+\mubyte \ccedilla ^^c3^^a7\endmubyte \def\ccedilla{\c c}
+\mubyte \Ccedilla ^^c3^^87\endmubyte \def\Ccedilla{\c C}
+
+\begtt
+\input opmac
+
+\ifx\directlua\undefined \else \ifx\luafonts\undefined \input luafonts
+\fi\fi % to zavede lua kód na redefinování \font, v XeTeXu je irelevantní
+
+\font\tenrm="DejaVu Serif" % Unicodová rodina fontů,
+\font\tenbf="DejaVu Serif/B" % kde všechny potřebné znaky
+\font\tenit="DejaVu Serif/I" % jsou k dispozici
+\font\tenbi="DejaVu Serif/IB"
+\tenrm
+
+\input tx-math % Nastavení TX fontů v matematice
+
+\isolangset {espanol}{es} % Deklarace ISO kódu
+\sdef{mt:chap:es}{Capítulo} % "Kapitola" v jazyku es
+\sdef{mt:t:es}{Cuadro} % "Tabulka" v jazyku es
+\sdef{mt:f:es}{Figura} % "Obrázek" v jazyku es
+
+\uselanguage{espanol} % Španělské vzory dělení + autogenerovaná slova
+\typosize[12/14.4]
+
+\tit Mañana
+
+\sec Mañana
+
+Mañana.
+
+\caption/f Test % vytvoří text "Figura 1.1 Test"
+
+\bye
+\endtt
+
+Při abecedním řazení rejstříku pomocí "\makeindex" může OPmac ohlásit
+(není-li použit \csplain) varování: ``falling back to ASCII sorting''.
+Pokud chcete dodržet pravidla řazení daného jazyka, je proto nutné definovat makro
+"\sortingdata<iso-kód>". Dále můžete přidat makro
+"\specsortingdata<iso-kód>". Příklad:
+
+\begtt
+\def\sortingdataes {aAäÄáÁ,bB,cCçÇ,^^P^^Q^^R,dD,...,zZ,.}
+\def\specsortingdataes {ch:^^P Ch:^^Q CH:^^R}
+\endtt
+
+Prvé makro obsahuje skupiny znaků oddělené od sebe čárkami a ukončené
+čárkou-tečkou. Znaky v každé skupině jsou nerozlišitelné při prvém průchodu
+(primární řazení). Jsou-li z~tohoto pohledu některé údaje shodné, je na tyto
+údaje použito sekundární řazení, ve kterém už jsou všechny znaky rozlišeny a
+seřazeny v pořadí, jako v makru. Poznámka: tři tečky v příkladu si musí španělsky
+mluvící uživatel doplnit za reálná data sám.
+
+Řadicí algoritmus umožňuje skupiny znaků (spřežky Ch, Dz atd.) interpretovat
+jako jediný znak. K tomu slouží makro "\specsortingdata<iso-kód>". V něm
+jsou mezerami od sebe odděleny údaje ve tvaru "<skupina>:<token>". OPmac
+provede výměnu "<skupina>" za "<token>" před zahájením řadicího algoritmu,
+takže "<token>" je možné vložit do "\sortingdata<iso-kód>" jako jeden znak.
+Je nutné používat znaky, které nejsou součástí abecedy jazyka, například
+"^^A", "^^B" atd. Přitom je potřeba se vyhnout znakům "^^I" a "^^M" ,
+protože tyto mají speciální kategorii.
+
+OPmac definuje interní makro "\sortingdata", které
+je možné použít pro češtinu, slovenštinu a angličtinu.
+Makro "\sortingdata<iso-code>" má přednost před interním makrem
+"\sortingdata", je-li definováno a jazyk odpovídající ISO kódu má
+aktivovány vzory dělení slov.
+
+Konečně můžete pozměnit seznam ignorovaných znaků (z hlediska řazení), který
+je uveden v makru "\setignoredchars" takto:
+
+{\catcode`\<=12
+\begtt
+\def\setignoredchars{\setlccodes ,.;.?.!.:.'.".|.(.).[.].<.>.=.+.{}{}}
+\endtt
+}%
+Toto makro můžete předefinovat, ale ponechte v předu "\setlccodes", vzadu
+"{}{}" a za každým znakem pište tečku, která je implicitním ignorovaným
+znakem.
+
+
\sec Shrnutí
%%%%%%%%%%%%
@@ -1568,10 +1689,10 @@ Není-li soubor REF otevřen, je hodnota registru "\lastpage" rovna nule.
\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)>
+\tit <Název titulu (ukončený koncem řádku)>
+\chap <Název kapitoly (ukončený koncem řádku)>
+\sec <Název sekce (ukončený koncem řádku)>
+\secc <Název podsekce (ukončený koncem řádku)>
\maketoc % generování obsahu
\ii <heslo>,<heslo> % vložení hesel do rejstříku