pdfcsLaTeX, hyperref a \MP a \MF

Pavel Janik ml. Pavel.Janik at inet.cz
Mon Mar 27 19:44:24 CEST 2000


   From: Jaromir Kuben <kuben at scova.vabo.cz>
   Date: Mon, 27 Mar 2000 16:07:18 +0100

Zdravím,

   > 1. Pokud se Vas zdrojak prelozi normalnim texem (ne pdftexem),
   >    je vsechno v poradku jak s \MP tak s \MF.

samozřejmě jsem vyzkoušel :-)

   > 2. Pokud se da navic \usepackage[pdftex]{hyperref}, uz to
   >    s tim \MP havaruje.

Ano, to jsem ostatně i napsal, že mi to nefunguje.

   > 3. Pokud se pouzije pdftex bez hyperref, je take vse v poradku.
   > 4. Pokud se pouzije pdftex s hyperref, objevi se Vami popisovany
   >    jev. 

Není to totéž jako výše uvedené body?

   > Takze si myslim, ze je to jednoznacne zalezitost nejake nedokonalosti
   > v hyperref. Pravdepodobne pokusu osetrit ridici prikazy v section

Ano, je to chyba v hyperref. Hyperref se snaží být `inteligentnější' než
uživatel (v tomto případě já) a to se mi tedy vůbec nelíbí a jsem na to
háklivý :-) Tento patch to "opraví":

--- hyperref.sty.orig   Mon Mar 27 16:28:11 2000
+++ hyperref.sty.pj     Mon Mar 27 16:27:38 2000
@@ -201,6 +201,7 @@
     \def\LaTeXe{\LaTeX2e}%
     \def\eTeX{e-\TeX}%
     \def\MF{Metafont}%
+    \def\MP{Metapost}%
     \let\emph\@firstofone
     \let\textbf\@firstofone
     \let\textit\@firstofone

Proč jsem napsal opraví v uvozovkách? Nechápu, jak by tohle řešil bežný
uživatel, kterému hyperref bezpochyby určen je. Já si chybu dokážu najít, to
není problém. Je to pouze otázka času. Což také souvisí s tím, že používám
pouze plain. Pokud narazím na nějakou chybu, může být pouze v mých definicích,
v plainu nebo v TeXu. Předpokládám, že v TeXu a plainu chyby nejsou :-) Takže
zbývá pouze moje práce. Pokud chci používat LaTeX a související balíčky, které
"zjednodušují" práci obyčejným uživatelům, nevím kde může být chyba. Navíc v
plainu (a mých makrech), což je pro mne podstatně důležitější, vím a je velmi
jednoduše zjistitelné, kde co změnit, aby to fungovalo přesně podle mých
představ. Vezměme si třeba jen tento jednoduchý příklad, zapomeňme na to, že
inteligence hyperref dosahuje pouze do úrovně, do jaké dosahuje a nechť zná
třeba i \MP. Mám jednoduchý dokument:

\documentclass{article}
\usepackage{mflogo}
\usepackage{hyperref}
\begin{document}
\section{\MF}
\end{document}

Chci z něj dostat PDF, kde v bookmarks bude uvedeno místo pro mne
nevyhovujícího `Metafont' třeba METAFONT. Musím dokument přepsat a použít
`trik', na který nemusí každý běžný uživatel přijít:

\documentclass{article}
\usepackage{mflogo}
\usepackage{hyperref}
\begin{document}
\section*{\MF}
\addcontentsline{toc}{section}{METAFONT}
\end{document}

Běžný uživatel by skončil na tom, kde se vzalo "Metafont" a bude hledat, kde
to změnit... Podotýkám, že já LaTeX nepoužívám a tohle vše jsem musel
studovat procházením zdrojáků, ale možná je to i někde napsáno. :-(

   > 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},

Samozřejmě s tím souhlasím, že hyperref se snaží o to, aby bookmarky vypadaly
co nejpodobněji nadpisu, ale někde je potřeba tu inteligenci konfigurovat :-)

   > 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.

Myslím, že by Sebastianovi měl napsat někdo, kdo LaTeX používá :-) Na druhou
stranu bych doporučil, aby pisatel přidal připomínku o `konfigurovatelnosti'
této inteligence.

   > 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.

Já souhlasím s tím, že i plain i LaTeX mají své místo na Zemi a své uživatele,
já jsem si jen zvolil plain, protože neomezuje moje možnosti. Někteří možná
řeknou, že LaTeX také ne, a já to chápu.

P.S. Nechci tu rozpoutávat zbytečné flamewar o tom, zda plain či LaTeX :-)
Ten, kdo ví, že LaTeX i plain svůj smysl mají, se tady hádat nebude. Hádají se
pouze Ti, kdo potřebují argumenty k tomu, aby se mohli rozhodnout!
-- 
Pavel Janík ml.
Pavel.Janik at inet.cz




More information about the csTeX mailing list