[cstex] babel a T1 kodovanie

Zdenek Wagner zdenek.wagner at gmail.com
Mon Jul 29 01:58:08 CEST 2013


2013/7/28 Jan Musinsky <musinsky at gmail.com>:
> @Jan Busa (zdravim Kosice)
>> niektore diakriticke veci (d', t', ...) sa robia ako TeX-sequencie, po zapnuti T1 LaTeX bude vediet, kde su prislusne "spravne"  znaky
> presne tak
>
>> V niektorych distribuciach moze byt prikaz \usepackage[T1]{fontenc} uz aktivovany
> no a tu bol ten problem, aktivovat sa kedy ?!
> kodovanie v T1 ma zmysel len pre latinku, nema zmysel napr. pre cisto
> english alebo cyrillic
> Predpokladal som (mylne), ze to bude aktivovat babel po tomto
> \usepackage[slovak]{babel}
>
>
> @Zdenek Wagner
>> To je (zrejme) defaultni font v kodovani T1. Nejsem si s tim presne jist, protoze vzdy pouzivam nejaky jiny font, prinejmensim LM.
> Ano, LaTeX (Tex Live 2013) pouziva pre T1 kodovanie default fonty z
> rodiny CM-super.
> Ak som vyrozumel, je otazkou casu, kedy pre T1 kodovanie nahradia
> CM-Super za Latin Modern (by default).
>
To zalezi na tom, co rozhodne LaTeX team.

>> Je to vlastnost jadra LaTeXu a balicku fontenc, babel s tim nema nic spolecneho.
> Vyzera, ze to tak asi je. No ale na druhej strane, ak napr. pouzijem:
> \usepackage[russian]{babel}
> bez explicitneho uvedenia kodovania, tak babel mi tam spravne
> vyberie T2A kodovania (co je kodovanie pre rustinu, cyrillic)
>
> Package babel Warning: No Cyrillic font encoding has been loaded so far.
> (babel)                A font encoding should be declared before babel.
> (babel)                Default `T2A' encoding will be loaded  on input line 111
>
> Logika teda hovori, ze ak je tam slovak, czech tak by sa malo vybrat
> T1 kodovanie,
> no ale tak to nie je ...
>
Takova logika by byla spatna a nechapu, proc to modul pro rustinu
dela. Babel v dobe definice nepotrebuje sazet zadne texty, protoze to
ani delat nesmi. Pokud by to zkusil, zpusobilo by to chybu "Missing
\begin{document}". Neni tedy zadny dovod k tomu, aby kodovani fontu
bylo zavedeno predem.

Ted si predstavte, ze by babel pro cestinu a slovenstinu mel stejnou
"chybu", tedy ze by se snazil nacist balicek fontenc s kodovanim T1.
Kdyz byste napsal:

\usepackage[russian,slovak]{babel}

pak pro rustinu by babel nacetl T2A a pri nacitani slovenskeho modulu
by nahlasil chybu, protoze balicek fontenc byl nacten s parametrem
T2A, takze jiz nemuze byt znovu nacten s parametrem T1. Aby to
fungovalo, musela by se funkcionalita balicku fontenc doprogramovat do
babelu, coz je zlocin proti modularite. Navic tostejne nezaruci, ze
bude text spravne. To, ze je kodovani zavedeno, jeste neznamena, ze je
skutecne v dokumentu pro dany jazyk pouzito.

Je to spatne jeste z jednoho duvodu. Babel se da pouzit i pro lualatex
a xelatex, kde je nutne pracovat v UTF8 a zadny *enc.def se nenacita.
Pokud jazykovy modul v babelu nacte nejake konkretni kodovani, pak
existuji pripady, kdy nebude fungovat.

Spravne to resi balicek polyglossia, ale v nem je logika prace s
jazyky a fonty hodne jina.

> V kazdom pripade velmi pekne dakujem za odpovede.
> _______________________________________________
> 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