[cstex] Konflikt mezi babel a mathspec
Pavel Striz
striz at fame.utb.cz
Tue Mar 15 10:25:31 CET 2011
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.
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
More information about the csTeX
mailing list