diff options
author | Karl Berry <karl@freefriends.org> | 2011-08-20 21:33:13 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-08-20 21:33:13 +0000 |
commit | 1fc8715b7f58add12fe8202c0c5e8d37ae383c77 (patch) | |
tree | 44b9827d2cde3f38bf6cdecb6c6c6d6994147a5e /Master/texmf-dist/source | |
parent | 9067dbc55f799decd298be064b44fc8b11ee0a8d (diff) |
hyperref (20aug11)
git-svn-id: svn://tug.org/texlive/trunk@23623 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/hyperref/hyperref.dtx | 118 |
1 files changed, 109 insertions, 9 deletions
diff --git a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx index 69b68e8b6d2..313043283d7 100644 --- a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx +++ b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx @@ -44,7 +44,7 @@ %<puenc>\ProvidesFile{puenc.def} %<puvnenc>\ProvidesFile{puvnenc.def} %<puarenc>\ProvidesFile{puarenc.def} -%<!none> [2011/04/17 v6.82g % +%<!none> [2011/08/19 v6.82h % %<package> Hypertext links for LaTeX] %<nohyperref> Dummy hyperref (SR)] %<driver> Hyperref documentation driver file] @@ -139,7 +139,7 @@ \end{document} %</driver> % \fi -% \CheckSum{28513} +% \CheckSum{28602} % % \MakeShortVerb{|} % \StopEventually{} @@ -807,6 +807,7 @@ % % \subsection{Switches} % \begin{macrocode} +\newif\ifHy@stoppedearly \newif\ifHy@typexml \newif\ifHy@activeanchor \newif\ifHy@backref @@ -1021,7 +1022,7 @@ }% \else \def\hypercalcbp#1{% - \strip@pt\dimexpr 0.99626401\dimexpr #1\relax\relax + \strip@pt\dimexpr 0.99626401\dimexpr(#1)\relax\relax }% \def\hypercalcbpdef{\def}% \fi @@ -2120,9 +2121,7 @@ % \begin{macro}{\HyPsd@DisableCommands} % \begin{macrocode} \long\def\HyPsd@DisableCommands#1{% - \toks0=\expandafter{\pdfstringdefPreHook}% - \toks1={#1}% - \xdef\pdfstringdefPreHook{\the\toks0 \the\toks1}% + \ltx@GlobalAppendToMacro\pdfstringdefPreHook{#1}% \endgroup } % \end{macrocode} @@ -4515,6 +4514,28 @@ % % \subsection{Help macros} % +% \begin{macro}{\IfHyperBooleanExists} +% \begin{macrocode} +\def\IfHyperBooleanExists#1{% + \ltx@ifundefined{ifHy@#1}\ltx@secondoftwo\ltx@firstoftwo +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\IfHyperBoolean} +% \begin{macrocode} +\def\IfHyperBoolean#1{% + \IfHyperBooleanExists{#1}{% + \csname ifHy@#1\endcsname + \expandafter\ltx@firstoftwo + \else + \expandafter\ltx@secondoftwo + \fi + }\ltx@secondoftwo +} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\Hy@boolkey} % \begin{macrocode} \def\Hy@boolkey{\@dblarg\Hy@@boolkey} @@ -4539,6 +4560,17 @@ \Hy@Info{Option `#1' set `\Hy@tempa'}% \csname Hy@#2\Hy@tempa\endcsname \fi + \begingroup + \def\x{#1}% + \def\y{#2}% + \expandafter\endgroup + \ifx\x\y + \else + \expandafter\def\csname ifHy@#1\expandafter\endcsname + \expandafter{% + \csname ifHy@#2\endcsname + }% + \fi } % \end{macrocode} % \end{macro} @@ -6456,7 +6488,12 @@ \InputIfFileExists{hyperref.cfg}{}{} \Hy@SetCatcodes \let\ExecuteOptions\hyper@normalise -\Hy@MaybeStopNow +\ifx\Hy@MaybeStopNow\relax +\else + \Hy@stoppedearlytrue + \expandafter\Hy@MaybeStopNow +\fi +\Hy@stoppedearlyfalse % \end{macrocode} % To add flexibility, we will not use the ordinary processing of % package options, but put them through the \emph{keyval} package. @@ -7412,7 +7449,9 @@ \@latex@warning{% Hyper reference `#2' on page \thepage \space undefined% }% - \hyper@@link{}{??}{#3}% + \begingroup + #3% + \endgroup \else \hyper@@link{\expandafter\@fifthoffive#1}% {\expandafter\@fourthoffive#1\@empty\@empty}{#3}% @@ -9684,7 +9723,12 @@ % \end{macrocode} % % \begin{macrocode} -\MaybeStopEarly +\ifx\MaybeStopEarly\relax +\else + \Hy@stoppedearlytrue + \expandafter\MaybeStopEarly +\fi +\Hy@stoppedearlyfalse % \end{macrocode} % % \section{Automated \LaTeX\ hypertext cross-references}\label{latexxref} @@ -14184,6 +14228,62 @@ } %</dvipdfm|xetex> % \end{macrocode} +% +% \begin{macrocode} +%<*dvipdfm|xetex> +% \end{macrocode} +% \begin{macro}{\hyper@pagetransition} +% \begin{macrocode} +\def\hyper@pagetransition{% + \ifx\@pdfpagetransition\relax + \else + \ifx\@pdfpagetransition\@empty + \else + \special{pdf:put @thispage % + <</Trans<</S/\@pdfpagetransition>>>>% + }% + \fi + \fi +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\hyper@pageduration} +% \begin{macrocode} +\def\hyper@pageduration{% + \ifx\@pdfpageduration\relax + \else + \ifx\@pdfpageduration\@empty + \else + \special{pdf:put @thispage % + <</Dur \@pdfpageduration>>% + }% + \fi + \fi +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\hyper@pagehidden} +% \begin{macrocode} +\def\hyper@pagehidden{% + \ifHy@useHidKey + \special{pdf:put @thispage % + <</Hid \ifHy@pdfpagehidden true\else false\fi>>% + }% + \fi +} +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +\g@addto@macro\Hy@EveryPageBoxHook{% + \hyper@pagetransition + \hyper@pageduration + \hyper@pagehidden +} +% \end{macrocode} +% \begin{macrocode} +%</dvipdfm|xetex> +% \end{macrocode} +% % Xe\TeX\ uses pdf\TeX's method \cs{pdfpagewidth} % and \cs{pdfpageheight} for setting the paper size. % \begin{macrocode} |