[cstex] Dotazy ke ConTeXtu (Layers+test znaku s diakritikou)

Vit Zyka vit.zyka at gmail.com
Sun Apr 1 20:16:08 CEST 2007


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





More information about the csTeX mailing list