[cstex] babel, cslatex a encTeX dnes
Zdenek Wagner
zdenek.wagner at gmail.com
Wed Jul 30 18:00:58 CEST 2014
Dne 30. července 2014 17:49 Petr Olsak <petr at olsak.net> napsal(a):
>
>
> 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.
Nepůsobí, používám encTeX v LaTeXu od té doby, co existuje.
> 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.
>
To je pravda, většina LaTeXistů o encTeXu neví.
> 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
Je to tak. Já ve svých makrech používám \futurelet, v \everypar mám
makro, které odebere první znak a usadí ho jako iniciálu. S encTeXem
to jde, při použití \usepackage[utf8]{inputenc} jen pro písmena bez
diakritky.
> 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
Přesně tak, je to z historických důvodů a LaTeX team to určitě
nepředělá. XeLaTeX má defaultně LM fonty ve formátu OTF.
> fonty. Možná métepocit, že vypadají húř.
>
> Zdravím
>
> Petr Olšák
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> https://lists.felk.cvut.cz/mailman/listinfo/cstex
>
--
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz
More information about the csTeX
mailing list