pdfcsLaTeX, hyperref a \MP a \MF

Jaromir Kuben kuben at scova.vabo.cz
Mon Mar 27 17:07:18 CEST 2000



"Pavel Janik ml." píše:
> 
> Zdravím,
> 
> tak dnes jsem ztratil veškeré iluze o LaTeXu a spol. a budu si vše a vždy psát
> sám. Ptáte se proč? Moje přítelkyně měla nějaký problém s pdfcsLaTeXem a já
> jsem se nakonec dostal až na tyto dva dokumenty:
> 
> \documentclass{article}
> \usepackage{mflogo}
> \usepackage{hyperref}
> \begin{document}
> \section{\MP}
> \end{document}
> 
> Druhý dokument je naprosto totožný, pouze místo \MP je \MF. A světe div se,
> pdfcsLaTeX dokáže přeložit druhý, ale již ne první:
> 
> ! Argument of \@sect has an extra }.
> <inserted text>
>                 \par
> l.5 \section{\MP}
> 
> ?
> 
> Pokud si nechám ukázat makra \MP a \MF pomocí \show, jsou naprosto totožná
> (samozřejmě až na FONT/POST :-)
> 
> Problém bude pravděpodobně někde v hyperref, protože když ho vypustím, tak to
> projde.
> 
> Zajímavé také je, že když si zapnu \tracingmacros=1, tak log soubor pro
> zdroják s \MF obsahuje podstatně více informací...
> 
> P.S. Používám betaverzi teTeXu, a proto to může být způsobeno i tímto:
> 
> \ProvidesPackage{hyperref}
>                 [2000/01/22 v6.69c Hypertext links for LaTeX]
> --
> Pavel Janík ml.
> Pavel.Janik at inet.cz

Dobry den.
Myslim, ze pletete spoustu veci dohromady.

1. Pokud se Vas zdrojak prelozi normalnim texem (ne pdftexem),
   je vsechno v poradku jak s \MP tak s \MF.
2. Pokud se da navic \usepackage[pdftex]{hyperref}, uz to
   s tim \MP havaruje.
3. Pokud se pouzije pdftex bez hyperref, je take vse v poradku.
4. Pokud se pouzije pdftex s hyperref, objevi se Vami popisovany
   jev. 
5. Pokud se ale predefinuje 
   \def\MF{\textlogo{META}\-\textlogo{POST}\@},
   je ve vsech pripadech vse v poradku!

Takze si myslim, ze je to jednoznacne zalezitost nejake nedokonalosti
v hyperref. Pravdepodobne pokusu osetrit ridici prikazy v section
a pod. pri vytvareni pomocneho souboru pro bookmarks. Uz jsem na 
to narazil, vadi toho spousta (napr. \mathbf). Asi je obtizne
osetrit vsechny moznosti toho, co by se zde mohlo objevit a jak
to prenest do zalozek. Kdyz totiz date 
     \usepackage[pdftex,bookmarks=false]{hyperref},
jsou problemy pryc. Take pomuze do souboru vygenerovaneho
souboru *.out pro zalozky date
     \let\WriteBookmarks\relax.

A ted jsem si vsiml, ze pri predefinovani \MP na \MF je v souboru
*.out napsano Metafont a ne Metapost, coz mi dalo voditko.
Clovek se proste porad uci. :-)
Styl hyperref nektere retezce "umi". Najdete to v hyperref.sty
v prikazu \pdfstringdef. \MF tam je, \MP ne. Stacilo to doplnit
a vse je v poradku. Doporucuji informovat autora, jde o bezny
prikaz.

A pokud jde o to psat si vse sam, je to hezke. Ale ne kazdy to 
dokaze. Napr. balik hyperref je hodne komplikovana zalezitost
a nedovedu si predstavit, ze by to bezny uzivatel dokazal.
Asi neni na svete moc lidi, kteri by mu rozumeli (ja rozhodne ne).
A konecne proc taky travit desitky hodin (zde asi spis stovky)
na necem, co uz nekdo udelal? To je smysl pouzivani packages
v latexu. A ze je to rozumne, ukazuje procento uzivatelu latexu
a ostatnich formatu. Domnivam se, ze nebyt latexu, asi by tex
uzivalo mnohem mene autoru. Ti, co by ho pouzivali, by sice byli
experti, ale bylo by jich po certech malo (kdyz pominu napsani
jednoducheho hladkeho textu, ale o ten vetsinou nejde). Bezny
uzivatel skutecne chce tex pouzivat a nema cas (nebo i znalosti)
badat nad tim, jak neco sloziteho pomoci primitivu nadefinovat.
Proste by se na tex vykaslal a pouzil Word nebo neco podobneho.
To je muj nazor, jini maji mozna jiny.

I pan Olsak, jehoz "naklonnost" k latexu je dobre znama, mi pred
casem rekl, ze na ty latexisty byl mozna az moc prisny. Ze na latexu
je prinejmensim dobre, ze vede k psani strukturovaneho textu, 
ktery se da snadneji pripadne dodatecne oznackovat. Coz u textu
napsaneho v plainu, ktery nepochazi od zkuseneho texisty, muze byt 
nadlidska prace. Plain podle mne zustane predevsim pro ty, kteri
potrebuji mimoradnou kvalitu nebo neco velmi nestandardniho.
Tim nechci nikoho zrazovat od cteni napr. TeXbooku nebo TBN,
naopak, to je prinos pro kazdeho texistu, ale urcite to nejsou
knihy urcene pro uplne zacatecniky.

Zdravi
        Jaromir Kuben




More information about the csTeX mailing list