[cstex] babel, cslatex a encTeX dnes
Petr Olsak
petr at olsak.net
Wed Jul 30 17:49:35 CEST 2014
On Wed, 30 Jul 2014, Marek Nožka wrote:
> Dobrý den a srdečné pozdravy všem.
>
> Omlouvám se pokud se ptám na něco, co je notoricky známé, ale nenašel jsem
> nikde žádný "oficiální návod" na téma jak správně sázet české texty. Proto
> bych si dovolil mnou sesbírané poznatky sepsat a poprosil bych vás
> o komentáře.
>
> 1. Používejte encTeX, protože pokud ho máte aktivovaný každý český znak se
> chová jako znak.
>
> To znamená, že do definic formátů je třeba přidat -enc.
>
> V Texlive 2014:
> latex pdftex language.dat -enc -translate-file=cp227.tcx *latex.ini
> pdflatex pdftex language.dat -enc -translate-file=cp227.tcx *pdflatex.ini
> pdfcslatex pdftex - -etex -enc cslatex.ini
> cslatex pdftex - -etex -enc cslatex.ini
Dobrý den,
Csplain má implicitně nastaveno vstupní kódování na UTF-8 pomocí encTeXu.
Csplain je také díky uft8unkn.tex citlivý i na neznámé UTF-8 kódy, píše
o nich varování a umožní je uživateli dodefinovat.
Na druhé straně LaTeX je dlouhodobě zavedený mezinárodní formát, u kterého
se takové věci jako encTeX neočekávají. LaTeXovsky vyřešit kódování
znamená pomocí {inputenc} dát najevo vstupní kódování (potřebné znaky pak
budou aktivní a expandují na LIRC, tj. na interní na kódování nezávislou
reprezentaci znaků). Dále LaTeX vyžaduje pomocí {fontenc} dát najevo
kódování použitých fontů, na které to LIRC dále pak expanduje.
EncTeX tuto cestu zcela obchází a rovnou převádí vstup na kódování fontů.
To může v LaTeXu (např. při zápisu do textových souborů) působit potíže.
Nezkoušel jsem to, nepodporuji z principu LaTeX. V každém případě je
encTeX pro běžné LaTeXisty na celém světě zcela neznámý a vytvoříte tím
jen dokumenty, které jiný LaTeXista nebude schopen zpracovat.
Pochopitelně, že kvůli té složité cestě, kterou LaTeX zvolil, vznikají
problémy, jako například:
http://tex.stackexchange.com/questions/176694/non-ascii-character-as-argument
nebo
http://tex.stackexchange.com/questions/193598/redefining-a-command-and-special-character
Ovšem takto to LaTeXisti mají a není dle mého názoru vůbec možné je
přesvědčit, aby to dělali jinak (z úvah jsem vyloučil XeLaTeX a LuaLaTeX,
mám na mysli pouze LaTeX postavený na pdfTeXu).
XeLaTeX nebo LuaLaTeX je tedy pro LaTeXisty jistým vysvobozením z
problémů, které mají. A zvykají si, že se věci týkající se kódování dají
dělat úplně jinak.
> Tady mě napadá dotaz: Proč není encTeX ve formátech cslatex a
> pdfcslatex automaticky? Uživatelé csplain už ho tam automaticky mají.
Odpověď viz výše.
> 2. Pro definici znakové sady nepoužívejte \usepackage[utf8]{inputenc}
> Místo toho uveďte na začátek dokumentu \input utf8-t1
Jistě tušíte, že nějaké "\input cosi" nevypadá moc LaTeXovsky.
> Tomu T1 moc nerozumím, ale prý je to nějaké kódování fontů. Beru to jako
> fakt. Zajímalo by mě ale, proč musím explicitně uvést \usepackage{lmodern}.
> Pokud tento balíček nepoužiji, LaTeX použije stejný font, ale kvalita je
> jiná -- horší.
Chápu to tak, že v T1 kódování bez {lmodern} jsou v LaTeXu asi nastaveny
EC fonty. Možná métepocit, že vypadají húř.
Zdravím
Petr Olšák
More information about the csTeX
mailing list