diff options
Diffstat (limited to 'Master/texmf-dist/doc/cslatex/base/csplain.doc')
-rw-r--r-- | Master/texmf-dist/doc/cslatex/base/csplain.doc | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/cslatex/base/csplain.doc b/Master/texmf-dist/doc/cslatex/base/csplain.doc new file mode 100644 index 00000000000..98cf251bbc0 --- /dev/null +++ b/Master/texmf-dist/doc/cslatex/base/csplain.doc @@ -0,0 +1,197 @@ + Balík souborů (texinput) na generování formátu csplain + ****************************************************** + * Petr Olšák Verze: září 1996 * + říjen 1998 + +Formát csplain je skoro shodný s klasickým formátem plain. Rozdíl je jedině +v tom, že místo CM fontů se pracuje s CS-fonty, což umožňuje zavést +v tomto kódování fontů vzory dělení pro český a slovenský jazyk. +Pomocí formátu csplain je možno nahradit originální formát plain, +tj. pro anglické dokumenty se oba formáty chovají (skoro) stejně. +Nepatrné odlišnosti, vyplývající z použití CS-fontů místo CM fontů, +viz soubor cs-fonts.doc. + + +Potřebné soubory +**************** + +Pro vygenerování formátu csplain je potřeba: + 1. v /tfm mít metriky CS-fontů (např. csr10.tfm), + 2. v /texinput mít následující soubory: + csplain.ini ... hlavní soubor pro vygenerování formátu + plain.tex ... Knuthův plain + csfonts.tex ... makro pro zavedení CS-fontů + il2code.tex ... makro pro práci s kódem CS-fontů (ISO-8859-2) + hyphen.lan ... řídicí soubor k zavední vzorů dělení různých jazyků + hyphen.tex ... základní vzory dělení pro US (součástí plainu) + hyphen.ex ... slovník výjimek pro US + czhyphen.tex ... vzory dělení pro češtinu + czhyphen.ex ... slovník výjimek pro češtinu + skhyphen.tex ... vzory dělení pro slovenštinu + skhyphen.ex ... slovník výjimek pro slovenštinu + plaina4.tex ... makro upravující výhozí rozměr zrcadla pro A4 +3. pokud předpokládáte vstupní soubory v jiném kódování, než ISO-8859-2, + potřebujete navíc a) při použití emTeXu -- příslušnou *.tcp tabulku + b) při využití encTeXu -- příslušný soubor enc-?.tex + + +Generování formátu +****************** + +Generování formátu csplain je závislé na implementaci TeXu. +V UNIX like systémech (odvozených z implementace web2c) použijte příkaz: + + initex csplain.ini + +nebo v novější verzi web2c: + + tex -ini csplain.ini + +Vstupní kódování bude rovno vnitřnímu kódování ISO-8859-2. Předpokláte-li +kódování vstupních textů v jiném kódování, než ISO-8859-2 a navíc máte +implementaci binárního programu TeX obsahující encTeX (to poznáte podle +druhého řádku v soborech *.log), pak si vyberte jedno z písmen: w=CP1250, +k=Kamenicti, p=PC Latin2 (CP852) a inicializujte formát takto: + + tex -ini \let\enc=? \input csplain.ini + +kde ? je jedno z písmen w, k, nebo p charakterizující vstupní kódování. Na +příkazovém řádku v UNIXu musíte každý znak "\" psát dvakrát, například: + + tex -ini \\let\\enc=k \\input csplain.ini + +Potřebujete-li implementovat vstupní kódování, které zde není uvedeno, +zvolte si pro ně nějaké další písmeno a editujte příslušný soubor enc-?.tex. + +V DOSu (emTeXu) můžete volit vstupní kódování pomocí *TCP tabulek. Např. +pro kódování Kamenických napíšete: + + tex[386] /i /8 -cKAMENIC.TCP csplain.ini + +Můžete si ověřit správnost instalace csplainu testem cstrip. Viz soubor +cstripm.dvi nebo cstripm.ps + + +Použití češtiny a slovenštiny +***************************** + +csplain je inicializován tak, aby se implicitně choval jako plain. To +znamená, že je nastaveno anglické dělení slov a sekvence \v, \' +expandují na primitiv \accent. Rovněž je aktivní \nonfrenchspacing. +Rozdíl je jen ve velikosti implicitního rozměru zrcadla sazby, které je +v csplainu nastaveno pro palcové okraje při formátu A4, zatímco +v plainu je nastaveno pro palcové okraje formátu Letter. + +Pro sazbu v českém nebo slovenském jazyce NEMUSÍTE volat styl +czech.sty. Stačí použít na začátku dokumentu tyto sekvence: + +\chyph % nebo \shyph : inicializuje české/slovenské dělení slov + % a \frenschpacing +\csaccents % způsobí jiné chování sekvencí \' \v a \r, které od této + % chvíle expandují na znaky podle CSfontů + +% návrat k původnímu nastavení: +\ehyph % americké dělení a \nonfrenchspacing +\cmaccents % \, \v expandují na primitiv \accent + +Od verze csplainu <Sep. 1996> je sekvence pro uvozovky \uv{cosi} +zanesena do formátu. + + +Verze csplainu. +*************** + +csplain zavádí do \everyjob hlášení o datu posledního zásahu do +zdrojových textů csplainu (viz soubor csplain.ini). Pokud tam takové +hlášení není, máte verzi csplainu z r. 1994 nebo starší. + +Jednotlivé verze označujeme datem změny zdrojového textu a nikoli +číslem. Odlišnosti novějších verzí než <Apr. 1995> jsou uvedeny přímo +v souboru csplain.ini. Odlišnosti verze z roku 1994 od <Apr. 1995> +jsou uvedeny níže. + +V čem se liší csplain z csTeXu94 od verze <Apr. 1995> +***************************************************** + +1. plain.tex. Místo verze 3.0 je použita verze 3.14159. + +2. csfonts.tex. Navíc přidána vlastnost \font\preloaded = nezaváděj žádný font. + Důsledek: Po načtení formátu plain.tex je zavedeno pouhých 16 základních + fontů proti dřívějším 50. + Důvod: Při dnešních rychlostech počítačů už asi neoceníme, že je nějaký + font dopředu zaveden ve formátu. Navíc máme více místa pro nové fonty. + Odchylka: Kromě nepatrného zdržení při zavádění (dříve \preloaded) fontů + není žádný jiný rozdíl. + +3. il2code.tex (dříve extcode.tex). Kromě původních definic \catcode, + \lccode a \uccode obsauje další makra závislá na kódování. + a) makro \csaccents předefinuje makra \v, \', ... tak, že expandují + přímo do znaků podle CS-fontů. + Výhody: + * Po \csaccents lze načíst vzory dělení ve tvaru nezávislém na + kódování. + * Po \csaccents budou správně rozdělena i slova zapsaná + t\'imto zp\r usobem. Také na ně bude správně fungovat primitiv + \uppercase (výjimku tvoří případ, kdy je \'i psáno "postaru", tj. + jako \'\i). + * \v d a \v t vede na ď a ť (s apostrofy, nikoly s háčky). + Výchozí chování formátu csplain je z důvodu nutné kompatibility + se standardním plainem nastaveno na původní význam maker \v, \'. + Příkazem \csaccents se inicializuje nový význam a příkazem \cmaccents + se vše vrací do původního stavu. Inicializace je navíc lokální vrámci + skupiny. + Pokud bude někdo často přepínat \csaccents, \cmaccents, pak může + potlačit hlášky na terminálu a do .logu předefinováním příkazu + \csaccentsmessage, \cmaccentsmessage. + b) Jsou doplněny definice sekvencí, které jsou závislé na kódování + CS-fontů. Tj. uvozovky \clqq, \crqq, \flqq, \frqq, \ogonek, \promile. + Dále je definován příkaz \extrahyphens, který inicializuje + \hyphenchar do alternativního znaku v CS-fontu pro základní + desetibodové textové fonty. Tím např. "je-li" nebude rozděleno. + Bohužel vzniká zobrazovací zádrhel: při hláškách "Overfull" TeX + zobrazuje na terminál místo znaku - znak ^^9c. V emTeXu stačí mírně + upravit tabulku tcp a směrovat do ^^9c nějaký náhradní a podobný + semigrafický symbol (viz přiložená tabulka kamenic.tcp). + +4. hyphen.lan. + * Na začátku má \csaccents, aby zavedl vzory dělení napsané + pomocí sekvencí a na konci vrací \cmaccents. + * Místo hyphen.cz a hyphen.czx zavádí czhyphen.tex a czhyphen.ex (z důvodu + kompatibility s makrem pro češtinu v LaTeXu 2e). Podobně pro další + jazyky. + * Místo původních \righthyphenmin=2 je pro \chyph a \shyph zavedeno + \righthyphenmin=3 (což je podle normy). Sází-li uživatel do úzkých + sloupců, může si to změnit například takto: \chyph \righthyphenmin=2 + * Při volání czhyphen.tex, skhyphen.tex je \let\global=\relax, aby + nedošlo ke změně \everyjob\message. Skutečnost, jaké dělení slov je + zavedeno, lze zjistit z verze csplainu <Apr. 1995>, tj. není potřeba + jmenovat nějaké konkrétní lidi v \everyjobu. + +5. czhyphen.tex je kompletně jiné (zřejmě lepší), než v původním csTeXu. + Je použito dělení, které (po mírném pomršení) dal k dispozici Pavel + Ševeček TeXovské veřejnosti pro použití v nekomerčním světě zdarma. + +6. czhyphen.ex je zmenšeno o věci, které už czhyphen.tex umí správně a + zbytek je přepsán do sekvencí nezávislých na kódování. + +7. skhyphen.tex je pravděpodobně stejné, jako bylo (nezkoumal jsem to). + Stejně tak zůstává skhyphen.ex. Je použito dělení ručně vyrobené + Jankou Chlebíkovou. + +8. csplain.ini. + * Změněno pořadí volání extcode.tex + * Změněn text \everyjob\message. + +9. czech.sty + * Na začátku zařazena větvička + \if Formát=LaTeX2e \input lczech.sty \endinput \fi + * Zařazen nově test na \ifx\chyph\undefined \message{Warning...} + * Zařazen test na použití CS-fontů podle prvních dvou písmen v názvu + fontu \tenrm. Pokud CS-fonty jsou zavedeny a přitom není definován + \clqq (případ starý csformát, nový czech.sty), pak se definují některé + sekvence analogicky, jako v bodě 3b). + * Do příkazů \czechTeX, resp. \originalTeX je vloženo \csaccents, resp. + \cmaccents, tj. styl czech aktivuje \csaccents. + * Vše, co bylo řečeno pro czech.sty platí analogicky pro slovak.sty + + |