Makro na podbarveny text

Zdenek Wagner wagner at cesnet.cz
Thu Mar 17 10:29:06 CET 2005


On Thu, 17 Mar 2005, Ladislav Bitto wrote:

> Dobry den,
>
> 4. automaticky na jeden prechod: vytvorime si kratky program, ktory bude
>    ako predlzena ruka DVIPS. Musime iba docielit, aby nasu poslednu zmenu
>    na strane preniesol na zaciatok druhej strany. Nase zmeny farieb
>    mozeme v makre okomentarovat pre PS, takze to lahko zmenime. Nevyhoda je,
>    ze PS subor sa musi este raz nacitat a vytvorit druhy.

To by chtelo zasahnout do zdrojaku dvips, pokud by to mel delat sam. Navic
je to reseno tak, ze TeX do DVI vlozi \special s PS kodem, ktery dvips
nijak neprohlizi, jen jej zapise do PS. Nevi tedy, ze se jedna o zmenu
barvy. PS makro, ktere by preneslo barvu ze stranky na stranku, se napsat
neda (tedy da, ale s problematickymi vedlejsimi efekty). Stranka,
vyprodukovana dvips, je uzavrena mezi save a restore, takze nastaveni
barvy platne na konci stranky se ztrati. Uzavirani mezi save/restore se da
sice vypnout, ale stranky tak budou na sobe zavisle. Jestlize si nekdo
pomoci pstops zmeni jejich poradi, treba je vyradi tak, aby se dala
vytisknout knizka, budou barvy zcela rozhazene a mozna dojde i k PS
chybam. Pomocny program by mohl pomoci a nemusel by byt slozity. Barva by
se treba mohla definovat PS kodem:

[ r g b barvapozadi % pro barvu v prostoru RGB
[ c m y k barvapozadi % pro barvu v prostoru CMYK
[ g barvapozadi % pro sedy podklad

program by tedy hledal vse od leve hranate zavory az po slovo barvapozadi
(musel by se pouzit minimal match, tj. v perlovske syntaxi
/\[.*?\s+barvapozadi\s/), coz by se prenaselo na dalsi stranku. Aby na to
clovek nezapomnel, dal bych k puvodnimu souboru PS hlavicku obsahujici:

userdict begin
/barvapozadi {cleartomark} bind def
end

Tato hlavicka by se prislusnym programem snadno identifikovala podle DSC a
nahradila jinou definici.

> 5. jednoduche by bolo, keby sa zaviedli do TeXu dva primitivy (mohol by sa
>    volat colorTeX.exe) \globaltextcolor a \globalbackcolor
> 6. jednoduche by bolo, keby DVIPS preniesol farby na druhu stranu.
>
> Chcel som si to silou mocou overit, lebo to pravdepodobne vyuzijem pri
> pisani prezentacii. Bod 1. pripadne 2. pre mna bude stacit. Pri pozerani
> v GsView tie velke farebne plochy preblesknu, ale ked to prekodujeme
> do PDF, tak ziadne preblesknutie nevidiet.
>
To je zalezitost jine strategie zobrazovani. Acrobat je vice zameren na
rychlost, pokud ma dobre vyrobeny PDF. v gsview zalezi na rychlosti
procesor a vykonu operacniho systemu, v nemz se pousti. Gsview
predpoklada, ze uzivatel chce videt alespon neco co nejdrive, takze v
okamziku, kdy se renderuje neco slozitejsiho, gsview zobrazi tu cast
stranky, kterou jiz ma hotovou. Je na to parametr, kterym lze toto chovani
vypnout. Z hlavy to nevim, nikdy jsem to nezkousel, ale je to nekde v
manualu.

> Bod 1. mam odskusany "tvrdymi" hodnotami. Je to len par prikazov.
> Ak ma niekto zaujem mozem okomentarovat a poslat.
>
> Zdravi
> Ladislav Bitto
>

Zdenek Wagner
e-mail: wagner at cesnet.cz

see also http://hroch486.icpf.cas.cz/wagner/
         http://icebearsoft.euweb.cz




More information about the csTeX mailing list