summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/cstex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-05-15 16:13:48 +0000
committerKarl Berry <karl@freefriends.org>2014-05-15 16:13:48 +0000
commit2f694421ad1f658bc615da8f0b26876996459568 (patch)
treea2354468b84c56ce8e260646ad10438bc6faddbf /Master/texmf-dist/doc/cstex
parentbf1cc062d255456d84da5320db2db3faf6115a03 (diff)
cstex
git-svn-id: svn://tug.org/texlive/trunk@34041 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/cstex')
-rw-r--r--Master/texmf-dist/doc/cstex/opmac-d.tex33
1 files changed, 24 insertions, 9 deletions
diff --git a/Master/texmf-dist/doc/cstex/opmac-d.tex b/Master/texmf-dist/doc/cstex/opmac-d.tex
index 735087fd6a8..ab78fec6146 100644
--- a/Master/texmf-dist/doc/cstex/opmac-d.tex
+++ b/Master/texmf-dist/doc/cstex/opmac-d.tex
@@ -20,6 +20,7 @@
\def\csplain{\CS plain}
\def\CS{CS}
+\chyph
\input docby.tex
@@ -174,6 +175,17 @@ druhé závorky. Pomocí "\futurelet" uloží zkoumaný znak do "\next" a spustí
\inext {isnextchar}{\empty}{+-}
+Makro \db maybebreak "<rozměr>" umožní uživateli rozlomit řádek
+nebo stránku v místě použití. Zlom se uskuteční, chybí-li do konce
+řádku/stránky zhruba méně než "<rozměr>" místa. Jinak se zlom neuskuteční a
+nestane se nic. Makro je závislé na módu \TeX{}u (vertikální/horizontální).
+Chcete-li jím lámat
+stránky, pište třeba "\par\maybebreak3cm". Makro využívá triku, že přičte a
+odečte stejnou hodnotu roztažitelnosti mezery, takže tyto dvě mezery těsně
+za sebou se (při nezlomení v~"\penalty-130") anulují.
+
+\inext {maybebreak}{^^B\cbrace}{++}
+
Předefinujeme makro \db uv z \csplain{}u. Tam je toto makro navrženo tak, aby
mohlo mít za svůj parametr verbatim text. Důsledkem toho nefunguje správně
kerning. Považuji za lepší mít správně kerning a případné uvozování verbatim
@@ -1021,7 +1033,8 @@ definujeme pomocné makro \db firstdata "\,<heslo>"~"\<cs>", které expanduje na
"{prvni}{druhy}", pak "\firstdata"~"\,aa"~"\cosi" expanduje na "\cosi"~"prvni&".
Tím máme možnost vyzískat data z makra. Podobně makro
\db seconddata "\,<heslo>"~"\<cs>" expanduje na
-"\<cs>"~"<druhý-datový-údaj-hesla>&".
+"\<cs>"~"<druhý-datový-údaj-hesla>&". Jsou použita pomocná makra
+\db firstdataA a \db seconddataA.
\inext{firstdata}{\empty}{+-}
@@ -1085,7 +1098,7 @@ Makro \db makeindex nejprve definuje přechodný význam rekurzivního
"\act" tak, aby byly uzavřeny seznamy stránek (tj. aby seznam nekončil
znakem "--") a do první
datové oblasti každého makra typu "\,<heslo>" vloží konverzi textu "<heslo>" do
-tvaru vhodném pro abecední řazení českých slov.
+tvaru vhodného pro abecední řazení českých slov.
Pomocí "\expandafter \act \iilist \relax" se
požadovaná činnost vykoná pro každý prvek v "\iilist".
Dále makro "\makeindex" provede seřazení "\iilist" podle abecedy
@@ -1106,7 +1119,7 @@ jednoduše je vytiskne.
Makro \uv{prepare index item} \db prepii "\,<heslo>" odstraní prostřednictvím
\db prepiiA z názvu kontrolní sekvence backslash a čárku a zbytek tiskne pomocí
"\printii". Pokud ale je "\,<heslo>" uloženo v~seznamu "\iispeclist", pak se
-expanduje sekvenci s názvem "\\,<heslo>", ve které je uloženo, co se
+expanduje na sekvenci s názvem "\\,<heslo>", ve které je uloženo, co se
má místo hesla vytisknout. Data těchto výjimek jsou připravena makrem "\iis"
\inext{prepii}{\empty}{+-}
@@ -1141,7 +1154,7 @@ Může například psát "\def\everyii{\indent}", pokud chce.
\inext{printii}{\empty}{+-}
Makro \db iiparparams nastavuje parametry sazby odstavce v rejstříku. Vlevo
-budeme mít "\leftsip" rovný "\iindent", ale první řádek posuneme o
+budeme mít "\leftskip" rovný "\iindent", ale první řádek posuneme o
"-\iindent" (viz řádek kódu~\cite[printii:iindent]) takže první řádek je
vystrčen doleva. Vpravo máme pružnou mezeru, aby se seznam čísel stran mohl
rozumně lámat, když je moc dlouhý. Makro "\iiparparams" si musí poznačit do
@@ -1171,8 +1184,8 @@ prázdná.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Nejprve se zaměříme na vytvoření makra
-"\isAleB"~"\,<heslo1>"~"\,<heslo2>", které rozhodne, zda je "<heslo1>" řazeno za
-"<heslem2>" nebo ne. Výsledek zkoumání můžeme prověřit pomocí "\ifAleB".
+"\isAleB"~"\,<heslo1>"~"\,<heslo2>", které rozhodne, zda je "<heslo1>" řazeno
+před "<heslem2>" nebo ne. Výsledek zkoumání můžeme prověřit pomocí "\ifAleB".
Pro porovnání dvou údajů vyžaduje norma dva průchody. V prvním (primární
řazení) se rozlišuje jen mezi písmeny A B C Č D E F G H Ch I J K L M N O P Q
@@ -1685,14 +1698,16 @@ zatímco lejblíky z~"\bib" a "\bibitem" budou tištěny vedle položky se seznamem
literatury. V obou případech budou lejblíky zelené a díky "\llap" neovlivní
polohu ostatní sazby.
-Klikací text vytvoří makro \db link "[<typ>:<lejblík>]{<barva>}{<text>}".
+Klikací text vytvoří makro \db linkactive "[<typ>:<lejblík>]{<barva>}{<text>}".
Makro používá
pdf\TeX{}ový primitiv "\pdfstartlink", ve kterém je vymezena výška a hloubka
aktivní plochy. Nakonec přepne na požadovanou "<barvu>" (pokud není černá),
vytiskne aktivní "<text>" a přepne zpět na černou barvu. Pdf\TeX{}ový primitiv
-"\pdfendlink" ukončí sazbu aktivního textu.
+"\pdfendlink" ukončí sazbu aktivního textu. K použití je připraveno makro
+\db link, které dostane hodnotu "\linkactive" při "\hyperlinks", jinak pouze
+přepíše svůj argument.
-\inext{link}{^^B\cbrace}{++}
+\inext{link}{\empty}{+-}
Makro \db urllink "[<typ>:<lejblík>]{<text>}" pracuje
analogicky jako "\link". Jen navíc přidává některé