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