diff options
author | Karl Berry <karl@freefriends.org> | 2014-05-15 16:13:48 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-05-15 16:13:48 +0000 |
commit | 2f694421ad1f658bc615da8f0b26876996459568 (patch) | |
tree | a2354468b84c56ce8e260646ad10438bc6faddbf /Master | |
parent | bf1cc062d255456d84da5320db2db3faf6115a03 (diff) |
cstex
git-svn-id: svn://tug.org/texlive/trunk@34041 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/cstex/opmac-d.tex | 33 |
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é |