Cestina a klikaci obsah v pdf

Milan Vancura milan at ucw.cz
Fri Apr 11 13:25:28 CEST 2003


> Nemohl by mi nekdo poradit, jak tam mam
> dostat korektne cestinu nebo cestinu
> uplne bez hacku a carek.

Mam uplne stejny problem, ale nepouzivam pdfTeX, nybrz utilitku dvipdfm, ktera
prevede dvi na pdf. Podstata problemu uz tu byla nekolikrat probirana (muzete
kouknout do archivu): text bookmarku musi byt kodovan bud v iso-8859-1 (lepe
receno Adobe Standard Encoding) nebo pomoci specialni syntaxe muze byt kodovan
v Unicode. Bohuzel po vygenerovani TeXem tam je text vlozen primo, a to (v
nasem pripade) v iso-8859-2.

Reseni vidim dve mozna:

1. pdfTeX to muze umet sam od sebe (akorat jinymi, vlastnimi prikazy)
2. napsat ciste TeXove reseni, ktere vyrobi prekodovanou versi textu

ad 1: nevim to z hlavy, nejlepsi je probrat archiv konference
ad 2: o tom nevim, ze by se v konferenci probiralo. Ted  jsem mel cca hodinu
volna a zaroven TBN v ruce, tak jsem zkousel vymyslet nejake jednoduche reseni.
(Reseni s cyklem pres tokeny na vstupu, kontrolu kategorie a ASCII hodnoty jsem
nechal jako posledni ("zoufalou") variantu.)

Pri te prilezitosti jsem se dostal k zajimavemu problemu. Mam \makro s jednim
parametrem a rad bych po jeho zavolani pouzil argument jako puvodni text, ne
jako tokeny. Tj. nastavit si \catcode vlastni a provest nove zpracovani.
Jelikoz \makro ovsem nedostava parametr jako text, ale jako radu tokenu (kazdy
uz s danou kategorii), tak by to nemelo byt mozne... Ovsem lze toho docilit s
pomocnym souborem:

\newwrite\bookmark
\bgroup
\catcode`^^f8=13 % ^^f8=\v{r}, at nepisu zbytecne mail s diakritikou
                 % dalsi pismena s diakritikou mohou nasledovat
\gdef\makro#1{
\immediate\openout\bookmark=bookmark.tmp
\immediate\write\bookmarkx{#1}
\immediate\closeout\bookmark
\catcode`^^f8=13
\def^^f8{r}
\input bookmark.tmp
}
\egroup

Takove \makro se pak da pouzit na odhackovani ceskych znaku a vysledek se
zapise do bookmarks.

Tesim se na nazory, napady a kritiku meho sileneho napadu :-)

Milan Vancura



More information about the csTeX mailing list