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