setpdfcolor z promenne

Vlastimil Ott latex at e-ott.info
Thu Apr 15 14:51:52 CEST 2004


Jaromír Kuben wrote:

Dobry den,

> A proc tam davate to \the?

Protoze kdyz napisu to, co jste mi radil a co jsem uz zkousel jako prvni 
vec, dockam se hlaseni

Error (1101876): Unknown operator '\starabarva'
Error (1101876): Too few (0) args to 'k' operator

> \def\pdfsetcolor#1{\pdfliteral{#1 k}}
> \def\starabarva{1 0 0 1}

Pokud se snazim predefinovat \starabarva, dopadne to takhle:

! Missing control sequence inserted.
<inserted text>
                 \inaccessible
<to be read again>
                    0
<inserted text> ...>}\pdfliteral {1 1 0 0 k}\def 0
                                                    0 0 1{1 1 0

--- vyriznuto ---                           ^^^^^^^^^^

l.63 \konecclanku

? h
Please don't say `\def cs{...}', say `\def\cs{...}'.

Jak vidite, expanduje. Muzete mi poradit, jak na to?


V podstate jde o to, aby existovala promenna, ve ktere bude ulozena 
konstanta barvy, ktera byla naposledy zapsana do pdf. Cili cela definice 
makra je vlastne (bez vaseho navrhu)

\newtoks\starabarva\starabarva={\Black}
\def\pdfsetcolor#1{\pdfliteral{#1 k}\starabarva={#1}}

Jak barvu ale z toho tokenu nastavit? (Pouzivam samozrejme pomocnou 
promennou, nesnazim se o rekurzi.)

> To projde prelozene pdftexem bez problemu.

Netvrdim, ze to neprojde,

> \pdfliteral zrejme funguje jako \special, takze prikazy v jeho argumentu
> se normalne expanduji.

protoze funguje jako \special, takze to interpretuje az prohlizec pdf.

> Aspon tak se to v pdfcolor.tex, kde je ta Vase definice \pdfsetcolor,
> pouziva.

To byla inspirace, mam vlastni makra. Ono v pdfcolor.tex stejne to 
nejdulezitejsi neni, to jsem nasel az v manualu k pdf. :-/

Diky za odpovedi,

--vo

-- 


Vlastimil Ott
www.e-ott.info

E-mail: vlastimil at e-ott.info
Jabber: vlastimil.ott at jabber.cz
ICQ: 321706612




More information about the csTeX mailing list