[cstex] Dotazy ke ConTeXtu (Layers+test znaku s diakritikou)
Jaroslav Hajtmar
hajtmar at gyza.cz
Sun Apr 1 22:28:38 CEST 2007
Dobry den.
Dekuji panu Zikovi za nasmerovani ...
http://www.pragma-ade.com/general/manuals/metafun-p.pdf bylo presne co
jsem potreboval.
Diky i za vysvetleni vyhodnocovani podminek... to ze ConTeXt pracuje s
aktivnimi znaky koneckoncu pan Wagner vicemene predpokladal ...
> Zkuste \showthe\catcode`\ž
> Obávám se, že diakritika je řešena pomocí aktivních znaků, zatímco v
> plainu jste zvyklý na TCX tabulky, případně encTeX. V UTF-8 při
> použití aktivních znaků se můžete dočkat ještě mnoha jiných
> nepříjemných překvapení.>
Kazdopadne komentar pana Wagnera k UTF8 zcasti vysvetluje i to, proc mi
nektera plainovska makra nepracuji pokud mam zapnuto kodovani UTF8 -
proto porad pouzivam CP1250
Jeste jednou diky.
Jarda Hajtmar
Vit Zyka napsal(a):
> Jaroslav Hajtmar wrote:
>
>> Dobry den.
>> Googloval jsem o stosest, ale nenasel jsem zadne rozumne informace o
>> praci s Layers v ConTeXtu. Mj. nejsou ani v oficialnich manualech.
>>
>
> Mozna je neco v menaulu o MetaFanu.
>
>
>> Krome nekolika prikladu na http://wiki.contextgarden.net jsem nic
>> nenasel a uzivani jednotlivych prikladu je pro mne spis experimentovanim
>> metodou pokusu a omylu... Nekde jsem cetl, ze Layers se pouzivaji hlavne
>> k moznosti absolutniho pozicovani objektu na strance ... rad bych se
>>
>
> ano, to je velmi vyhodne. Pouzivam to napriklad takto:
>
> -------------------------------
> \setupbackgrounds[text][background={color,TextBgPos,foreground,TextFrPos}]
>
> \definelayer[TextBgPos][position=no,corner=top,height=\paperheight]
> \definelayer[TextFrPos][position=no,corner=top,height=\paperheight]
>
> \def\putOn[#1](#2,#3){%
> \doifnextcharelse[
> {\doputOn[#1](#2,#3)}%
> {\doputOn[#1](#2,#3)[rb]}%
> }
> \def\doputOn[#1](#2,#3)[#4]{%
> \setlayer[#1][x=#2,y=#3,location=#4]%
> }
> \def\putOnText{\putOn[TextBgPos]}
> \def\putOverText{\putOn[TextFrPos]}
> -------------------------------
>
> Vice prikladu ve zdrojaku napr. zde
> http://source.contextgarden.net/tex/context/base/page-lyr.tex?search=layer
>
>
>> ovsem dozvedel nekde vice informaci o moznostech tohoto nastroje,
>> hlavne o moznosti pripadne pruhlednosti a nepruhlednosti vrstev atd ...
>>
>
> vrstvy jsou pruhledne; pokud chtete 'videt' pod vami napsany text ci pod
> pozadi (background), musite psat ci kreslit pruhlednou barvou (viz
> zmineny manual o MetaFanu).
>
>
>> Dale bych se rad zeptal na to, jak ConTeXt pracuje s primitivy \if \else
>> \fi pri testovani ceskych znaku ...
>> Pro ukazku meho dotazu :
>>
>> \def\test#1{\if#1ž žena\else muž\fi\par}
>> \def\testA#1{\if#1m muž\else žena\fi\par}
>>
>> \test{ž}
>> \test{m}
>>
>
> \if testuje tokeny az po uplne expanzi. Ceske znaky jsou v ConTeXtu
> (konkretne pri vasem zadani \enableregime[cp1250]) aktivni, takze
> porovnavate
> \zcaron ž
> m ž
> coz je v obou pripadech false.
>
> Lepsi je testovat takto:
> \def\test#1{\ifx#1\zcaron žena\else muž\fi\par}
>
> nebo pro jistotu
> \def\Myzcaron{ž}
> \def\test#1{\ifx#1\Myzcaron žena\else muž\fi\par}
>
> S pozdravem
> Vit Zyka
>
>
>> \testA{ž}
>> \testA{m}
>>
>> dá výsledek:
>> muž
>> muž
>> žena
>> muž
>>
>> ConTeXt mam nastaven na :
>> \enableregime[cp1250]
>> \mainlanguage[cz]
>> a textovy zdrojovy text je samozrejme kodovan v odpovidajicim kodovani.
>> Vyse uvedeny priklad je jen zjednodusenim meho problemu (normalne
>> testuji nejake znaky nactene z textove databaze (CSV) kodovane
>> samozrejme v prislusnem kodovani ).
>>
>> Pripada mi, ze ConTeXt neni schopen otestovat pismeno "ž" (obecne s
>> diakritikou) ... Ja to samozrejme obesel druhym testem, ale jde mi o to,
>> ze v pdfPlainu mi to prvni makro tj. makro \test funguje uplne
>> normalne... Doplnuji i to, ze jsem zkousel experimentovat i s kodovanim
>> a nefungovalo mi to ani pri \enableregime[utf8] Muzete mi nekdo prosim
>> poradit v cem je asi problem?
>>
>> Diky za rady ..
>> Jarda Hajtmar
>>
>
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>
>
>
>
More information about the csTeX
mailing list