[cstex] Konflikt mezi babel a mathspec

Zdenek Wagner zdenek.wagner at gmail.com
Tue Mar 15 10:30:30 CET 2011


Dne 15. března 2011 10:25 Pavel Striz <striz at fame.utb.cz> napsal(a):
> Hezké dopoledne,
>
> zajímavé a příjemné odstřelení procesoru hned po ránu. :-D
>
> Nefunguje ani při zapnutí english v babelu, pokud je babel načítán po balíčku mathspec.
>
> Dokumentace mathspec.pdf hovoří o tom (str. 10), že \alpha se automaticky expanduje na {"α}, což je pro ně obecný zápis na vložení kerningu. Je to tam i s ukázkami. Pozn. autor tam píše o nutnosti testů pokud za " není znak, neb je to založené na primitivu \XeTeXcharglyph.
>
> Chování " a \" definují řádky 814 až 850 v mathspec.pdf, str. 28. Tohle však volba  \selectlanguage{czech} předefinovává. Je to poznat tak, že \alpha funguje, pokud obalíme \selectlanguage{czech} i s českým textem do skupiny.
>
> Pracovní řešení by mohlo být, že do těla dokumentu, či za každý příkaz \selectlanguage{czech} při užití více jazyků, si dáte:
> \makeatletter \let"=\eu at active@quote \makeatother
>
> To už tak pracné není, neb si lze připravit:
> \def\macestina{%
>  \selectlanguage{czech}%
>  \makeatletter \let"=\eu at active@quote \makeatother%
>  }
> a všude místo \selectlanguage{czech} jen píšete \macestina.
>
> K dlouhodobému řešení této situace se netroufám vyjádřit, neb " má svůj význam u volby czech/slovak, a tu jsem právě pracovně eliminoval. Možná by stálo za hřích nahlédnout na everymath a \let"=\eu at active@quote lokálně aktivovat jen při vstupu do matematického režimu. S touto nutností se určitě řada TeXistů již setkala.
>
Proto je lepší v XeLaTeXu používat polyglossia. Český a slovenský
babel provádí hromadu činností, které XeLaTeX nepotřebuje, neboť je
řeší jiným, čistším způsobem. Polyglosia definuje pouze \tocname,
\chaptername a podobná makra (dohlédl jsem na to, že jsou stejná jako
v csbabelu) a naše vzory dělení překonvertované do unicode (ověřil
Petr Olšák).Šel bych tedy cestou menšího odporu.

> S pozdravy PS
>
>
>
> -----Původní zpráva-----
> Od: cstex-bounces+striz=fame.utb.cz at cs.felk.cvut.cz [mailto:cstex-bounces+striz=fame.utb.cz at cs.felk.cvut.cz] za uživatele Pavel Satrapa
> Odesláno: 15. března 2011 8:39
> Komu: 'Czech and Slovak TeX-related mailing list'
> Předmět: [cstex] Konflikt mezi babel a mathspec
>
> Dobrý den,
>
> narazil jsem na problém s řeckými znaky ve vzorcích. Pokud pomocí
> mathspec nastavím OpenType písmo pro řečtinu, XeLaTeX se při zpracování
> na příkazu pro řecký znak zasekne - procesor jede na plno, ale překlad
> stojí na místě, dokud jej člověk nepřeruší.
>
> Problém nejspíš není s fontem - zkoušel jsem dva z různých zdrojů
> (Comenia Serif Pro od Štorma a volný Liberation Serif) a pro oba se
> chová stejně.
>
> Je to jen pro řecké znaky - písmena a číslice ve vzorcích fungují bez
> problémů - a jen při použití \usepackage[czech]{babel}. Přikládám
> minimalistický zdrojový kód, který problém způsobí, a log. Instalace je
> TeX Live 2010 pod Linuxem.
>
> Dá se to obejít, když člověk místo \alpha vloží do zdrojového textu
> přímo příslušný znak v UTF-8, ale raději bych znal nějaké řešení, při
> kterém budou tyto příkazy fungovat jak mají. Nesetkal jste se s tím
> někdo? S Googlem jsem neuspěl...
>
> Přeji všem pěkný den
> Pavel Satrapa
>
>
>
> ___ Information from ESET Mail Security, ver. 5953 (20110314) ___
> The message was checked by ESET Mail Security. www.eset.com
>
>
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://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