Hypertext marks in LaTeX: a manual for hyperref - TUG
Hypertext marks in LaTeX: a manual for hyperref - TUG
Hypertext marks in LaTeX: a manual for hyperref - TUG
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3 PACKAGE OPTIONS 6<br />
\section{Introduction}<br />
\label{<strong>in</strong>tro}<br />
Option destlabel checks <strong>for</strong> each \label, if there is a new dest<strong>in</strong>ation name active and replaces<br />
the dest<strong>in</strong>ation name by the label name. Because the dest<strong>in</strong>ation name is already <strong>in</strong> use because<br />
of the anchor sett<strong>in</strong>g, the new name is recorded <strong>in</strong> the .aux file and used <strong>in</strong> the subsequent L ATEX<br />
run. The renam<strong>in</strong>g is done by a redef<strong>in</strong>ition of \HyperDestNameFilter. That leaves the old<br />
dest<strong>in</strong>ation names <strong>in</strong>tact (e.g., they are needed <strong>for</strong> \autoref). This redef<strong>in</strong>ition is also available as<br />
\HyperDestLabelReplace, thus that an own redef<strong>in</strong>ition can use it. The follow<strong>in</strong>g example also<br />
adds a prefix <strong>for</strong> all dest<strong>in</strong>ation names:<br />
\renewcommand*{\HyperDestNameFilter}[1]{%<br />
\jobname-\HyperDestLabelReplace{#1}%<br />
}<br />
The other case that only files prefixed that do not have a correspond<strong>in</strong>g \label is more complicate,<br />
because \HyperDestLabelReplace needs the unmodified dest<strong>in</strong>ation name as argument. This<br />
is solved by an expandable str<strong>in</strong>g test (\pdfstrcmp of pdfTEX or \strcmp of XƎTEX, package<br />
pdftexcmds also supports LuaTEX):<br />
\usepackage{pdftexcmds}<br />
\makeatletter<br />
\renewcommand*{\HyperDestNameFilter}[1]{%<br />
\ifcase\pdf@strcmp{#1}{\HyperDestLabelReplace{#1}} %<br />
\jobname-#1%<br />
\else<br />
\HyperDestLabelReplace{#1}%<br />
\fi<br />
}<br />
\makeatother<br />
With option destlabel dest<strong>in</strong>ations can also named <strong>manual</strong>ly, if the dest<strong>in</strong>ation is not yet<br />
renamed:<br />
\HyperDestRename{〈dest<strong>in</strong>ation〉}{〈newname〉}<br />
H<strong>in</strong>t: Anchors can also be named and set by \hypertarget.<br />
destlabel boolean false dest<strong>in</strong>ations are named by first \label<br />
after anchor creation<br />
hypertexnames boolean true use guessable names <strong>for</strong> l<strong>in</strong>ks<br />
naturalnames boolean false use L ATEX-computed names <strong>for</strong> l<strong>in</strong>ks<br />
pla<strong>in</strong>pages boolean false Forces page anchors to be named by the Arabic <strong>for</strong>m<br />
of the page number, rather than the <strong>for</strong>matted <strong>for</strong>m.<br />
3.3 Configuration options<br />
raisel<strong>in</strong>ks boolean true In the hypertex driver, the height of l<strong>in</strong>ks<br />
is normally calculated by the driver as simply<br />
the base l<strong>in</strong>e of conta<strong>in</strong>ed text; this options<br />
<strong>for</strong>ces \special commands to reflect the<br />
real height of the l<strong>in</strong>k (which could conta<strong>in</strong> a<br />
graphic)