diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/hyperref/hyperref.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/hyperref/hyperref.sty | 240 |
1 files changed, 148 insertions, 92 deletions
diff --git a/Master/texmf-dist/tex/latex/hyperref/hyperref.sty b/Master/texmf-dist/tex/latex/hyperref/hyperref.sty index eac583ba1c2..8e1c424a548 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hyperref.sty +++ b/Master/texmf-dist/tex/latex/hyperref/hyperref.sty @@ -30,7 +30,7 @@ %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{hyperref} - [2010/03/19 v6.80r + [2010/03/30 v6.80u Hypertext links for LaTeX] \begingroup \@makeother\`% @@ -114,6 +114,22 @@ \@ifundefined{AfterBeginDocument}{% \def\AfterBeginDocument{\AtBeginDocument}% }{}% +\def\Hy@AtBeginDocument{% + \ltx@LocalAppendToMacro\Hy@AtBeginDocumentHook +} +\def\Hy@AtEndOfPackage{% + \ltx@LocalAppendToMacro\Hy@AtEndOfPackageHook +} +\def\Hy@AtBeginDocumentHook{} +\def\Hy@AtEndOfPackageHook{} +\AtEndOfPackage{% + \Hy@AtEndOfPackageHook + \let\Hy@AtEndOfPackageHook\@undefined + \AfterBeginDocument{% + \Hy@AtBeginDocumentHook{}% + \let\Hy@AtBeginDocumentHook\@undefined + }% +} \newif\ifHy@typexml \newif\ifHy@activeanchor \newif\ifHy@backref @@ -348,6 +364,7 @@ }% \HyPsd@GreekPatch \HyPsd@SpanishPatch + \HyPsd@RussianPatch \HyPsd@BabelPatch \let\@safe@activestrue\relax \let\@safe@activesfalse\relax @@ -607,7 +624,7 @@ \let\c\HyLinguex@OrgC \let\d\HyLinguex@OrgD }% - \AtEndOfPackage{% + \Hy@AtEndOfPackage{% \pdfstringdefDisableCommands{% \ltx@IfUndefined{oldb}{}{\let\b\oldb}% \ltx@IfUndefined{oldc}{}{\let\c\oldc}% @@ -713,7 +730,7 @@ }{}% } \Hy@temp -\expandafter\AtBeginDocument\expandafter{\Hy@temp} +\expandafter\Hy@AtBeginDocument\expandafter{\Hy@temp} \newif\ifHy@next \ltx@IfUndefined{danish@sh@"@sel}{}{% \def\HyPsd@babel@danish{% @@ -939,11 +956,16 @@ \HyPsd@@GreekNum#1{#5#6#7}% } \def\HyPsd@SpanishPatch{% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname es@save@dot\endcsname\relax - \else + \ltx@IfUndefined{es@save@dot}{% + }{% \let\.\es@save@dot - \fi + }% +} +\def\HyPsd@RussianPatch{% + \ltx@IfUndefined{russian@sh@"@-@}{% + }{% + \@namedef{russian@sh@"@-@}{-}% + }% } \RequirePackage{intcalc}[2007/09/27] \def\HyPsd@CJKhook{% @@ -2044,7 +2066,7 @@ }% \fi \@ifclassloaded{memoir}{% - \AtEndOfPackage{\RequirePackage{memhfixc}}% + \Hy@AtEndOfPackage{\RequirePackage{memhfixc}}% }{} \@ifpackageloaded{subfigure}{% \ltx@IfUndefined{sub@label}{% @@ -2376,7 +2398,7 @@ \DeclareFontSubstitution{PU}{pdf}{m}{n}% \global\let\HyPsd@LoadUnicode\relax } -\AtBeginDocument{% +\Hy@AtBeginDocument{% \ifx\HyPsd@LoadUnicode\relax \else \def\HyPsd@LoadUnicode{% @@ -2436,7 +2458,7 @@ \RequirePackage{stringenc}[2009/12/15]% \let\HyPsd@LoadStringEnc\relax } -\AtBeginDocument{% +\Hy@AtBeginDocument{% \@ifpackageloaded{stringenc}{% \let\HyPsd@LoadStringEnc\relax }{% @@ -2477,7 +2499,7 @@ \def\Hy@driver{htex4ht}% \def\MaybeStopEarly{% \typeout{Hyperref stopped early}% - \AfterBeginDocument{% + \Hy@AtBeginDocument{% \PDF@FinishDoc \gdef\PDF@FinishDoc{}% }% @@ -2531,7 +2553,7 @@ \def\Hy@driver{hvtexhtm}% \def\MaybeStopEarly{% \typeout{Hyperref stopped early}% - \AfterBeginDocument{% + \Hy@AtBeginDocument{% \PDF@FinishDoc \gdef\PDF@FinishDoc{}% }% @@ -2579,7 +2601,7 @@ \def\Hy@driver{htexture}% } \define@key{Hyp}{latex2html}[true]{% - \AtBeginDocument{\@@latextohtmlX}% + \Hy@AtBeginDocument{\@@latextohtmlX}% } \define@key{Hyp}{ps2pdf}[true]{% \def\Hy@driver{hdvips}% @@ -2885,7 +2907,7 @@ \HyLang@DeclareLang{hungarian}{magyar}{} \define@key{Hyp}{vietnamese}[]{% \HyLang@addto\extrasvietnamese\HyLang@vietnamese - \AtEndOfPackage{% + \Hy@AtEndOfPackage{% \@ifundefined{T@PU}{}{% \input{puvnenc.def}% }% @@ -2893,14 +2915,14 @@ } \define@key{Hyp}{vietnam}[]{% \HyLang@addto\extrasvietnam\HyLang@vietnamese - \AtEndOfPackage{% + \Hy@AtEndOfPackage{% \@ifundefined{T@PU}{}{% \input{puvnenc.def}% }% }% } \define@key{Hyp}{arabic}[]{% - \AtEndOfPackage{% + \Hy@AtEndOfPackage{% \@ifundefined{T@PU}{}{% \input{puarenc.def}% }% @@ -2912,7 +2934,7 @@ \define@key{Hyp}{ocgcolorlinks}[true]{% \Hy@boolkey{ocgcolorlinks}{#1}% } -\AtBeginDocument{% +\Hy@AtBeginDocument{% \begingroup \@ifundefined{OBJ@OCG@view}{% \ifHy@ocgcolorlinks @@ -3466,7 +3488,7 @@ \let\phantomsection\@empty \let\special@paper\@empty \def\HyperDestNameFilter#1{#1} -\AtBeginDocument{% +\Hy@AtBeginDocument{% \begingroup \edef\x{\@ifundefined{stockheight}\paperheight\stockheight}% \dimen@=\x\relax @@ -3504,7 +3526,7 @@ }{} \let\ReadBookmarks\relax \ProcessKeyvalOptions{Hyp} -\AtBeginDocument{% +\Hy@AtBeginDocument{% \ifHy@draft \let\hyper@@anchor\@gobble \gdef\hyper@link#1#2#3{#3}% @@ -3607,7 +3629,7 @@ \Hy@Info{Backreferencing OFF}% \fi \ifHy@typexml - \AtEndOfPackage{% + \Hy@AtEndOfPackage{% \RequirePackage{color}% \RequirePackage{nameref}% }% @@ -3619,13 +3641,13 @@ \typeout{Implicit mode OFF; no redefinition of LaTeX internals}% \def\MaybeStopEarly{% \typeout{Hyperref stopped early}% - \AfterBeginDocument{% + \Hy@AtBeginDocument{% \PDF@FinishDoc \gdef\PDF@FinishDoc{}% }% \endinput }% - \AtBeginDocument{% + \Hy@AtBeginDocument{% \let\autoref\ref \let\autopageref\pageref \ifx\@pdfpagemode\@empty @@ -3633,13 +3655,13 @@ \fi \global\Hy@backreffalse }% - \AtEndOfPackage{% + \Hy@AtEndOfPackage{% \global\let\ReadBookmarks\relax \global\let\WriteBookmarks\relax }% \fi \Hy@DisableOption{implicit} -\AtEndOfPackage{% +\Hy@AtEndOfPackage{% \@ifpackageloaded{tex4ht}{% \def\Hy@driver{htex4ht}% \Hy@texhttrue @@ -3719,7 +3741,7 @@ \def\Hy@driver{hvtexhtm}% \def\MaybeStopEarly{% \typeout{Hyperref stopped early}% - \AfterBeginDocument{% + \Hy@AtBeginDocument{% \PDF@FinishDoc \gdef\PDF@FinishDoc{}% }% @@ -3745,9 +3767,9 @@ \PassOptionsToPackage{dviwindo}{color}% \fi \fi - \typeout{*hyperref using default driver \Hy@driver*}% + \typeout{* hyperref using default driver \Hy@driver\ltx@space*}% \else - \typeout{*hyperref using driver \Hy@driver*}% + \typeout{* hyperref using driver \Hy@driver\ltx@space*}% \fi \input{\Hy@driver.def}% \let\@unprocessedoptions\relax @@ -3784,7 +3806,7 @@ \Hy@DisableOption{latex2html} \Hy@DisableOption{ps2pdf} \Hy@DisableOption{xetex} -\AtEndOfPackage{% +\Hy@AtEndOfPackage{% \Hy@DisableOption{pdfversion}% } \def\WriteBookmarks{0} @@ -3807,7 +3829,7 @@ \else \def\@bookmarkopenstatus#1{}% \Hy@Info{Bookmarks OFF}% - \AtEndOfPackage{% + \Hy@AtEndOfPackage{% \global\let\ReadBookmarks\relax \global\let\WriteBookmarks\relax }% @@ -3855,7 +3877,7 @@ #1\relax \Hy@EndWrap } -\AtBeginDocument{% +\Hy@AtBeginDocument{% \ifHy@ocgcolorlinks \setkeys{Hyp}{colorlinks}% \ifHy@pdfa @@ -3929,7 +3951,7 @@ \@ifstar\@pagerefstar\T@pageref }% } -\AfterBeginDocument{% +\Hy@AtBeginDocument{% \ifHy@texht \else \Hy@CatcodeWrapper{% @@ -4239,9 +4261,9 @@ \edef\filename@ext{\XR@ext}% \fi \def\use@file{\filename@area\filename@base.\filename@ext}% - \ifx\filename@ext\XR@ext + \Hy@IfStringEndsWith\filename@ext\XR@ext{% \hyper@linkfile{#2}{\use@file}{#3}% - \else + }{% \ifx\@baseurl\@empty \hyper@linkurl{#2}{% \Hy@linkfileprefix\use@file\ifx\\#3\\\else\hyper@hash#3\fi @@ -4249,7 +4271,25 @@ \else \hyper@linkurl{#2}{\use@file\ifx\\#3\\\else\hyper@hash#3\fi}% \fi - \fi + }% +} +\def\Hy@IfStringEndsWith#1#2{% + \begingroup + \edef\x{#1}% + \@onelevel@sanitize\x + \edef\x{.\x$}% + \edef\y{#2}% + \@onelevel@sanitize\y + \edef\y{.\y$}% + \expandafter\def\expandafter\z\expandafter##\expandafter1\y##2\@nil{% + \endgroup + \ifx\relax##2\relax + \expandafter\ltx@secondoftwo + \else + \expandafter\ltx@firstoftwo + \fi + }% + \expandafter\expandafter\expandafter\z\expandafter\x\y\@nil } \long\def\hyper@@anchor#1#2{\@hyper@@anchor#1\relax#2\relax} \long\def\@hyper@@anchor#1\relax#2#3\relax{% @@ -4762,8 +4802,9 @@ \Form@htmltrue \def\Fld@export{html}% \else - \typeout{hyperref: form `encoding' key set to #1 % - -- unknown type% + \Hy@Warning{% + Form `encoding' key with \MessageBreak + unknown value `#1'% }% \Form@htmlfalse \fi @@ -5076,7 +5117,7 @@ \edef\hyper@quote{\string"} \let\@currentHref\@empty \let\Hy@footnote@currentHref\@empty -\AfterBeginDocument{% +\Hy@AtBeginDocument{% \Hy@pdfstringtrue \PDF@SetupDoc \let\PDF@SetupDoc\@empty @@ -5148,7 +5189,7 @@ \def\endNoHyper{% \global\let\hyper@link\hyper@livelink } -\AfterBeginDocument{% +\Hy@AtBeginDocument{% \if@filesw \ifHy@typexml \immediate\closeout\@mainaux @@ -5156,26 +5197,34 @@ \immediate\write\@auxout{<relaxxml>\relax}% \fi \immediate\write\@auxout{% - \string\ifx\string\hyper@anchor\string\@undefined^^J% - \global\let\string\oldcontentsline\string\contentsline^^J% - \gdef\string\contentsline% - \string#1\string#2\string#3\string#4{% - \string\oldcontentsline% - {\string#1}{\string#2}{\string#3}}^^J% - \global\let\string\oldnewlabel\string\newlabel^^J% - \gdef\string\newlabel\string#1\string#2{% - \string\newlabelxx{\string#1}\string#2}^^J% - \gdef\string\newlabelxx% - \string#1\string#2\string#3\string#4\string#5\string#6{% - \string\oldnewlabel{\string#1}{{\string#2}{\string#3}}}^^J% - \string\AtEndDocument{% - \let\string\contentsline\string\oldcontentsline^^J% - \let\string\newlabel\string\oldnewlabel}^^J% - \string\else^^J% - \global\let\string\hyper@last\relax^^J% - \string\fi^^J% + \string\providecommand\string\HyperFirstAtBeginDocument{% + \string\AtBeginDocument}^^J% + \string\HyperFirstAtBeginDocument{% + \string\ifx\string\hyper@anchor\string\@undefined^^J% + \string\global\string\let\string\oldcontentsline\string\contentsline^^J% + \string\gdef\string\contentsline% + \string#1\string#2\string#3\string#4{% + \string\oldcontentsline% + {\string#1}{\string#2}{\string#3}}^^J% + \string\global\string\let\string\oldnewlabel\string\newlabel^^J% + \string\gdef\string\newlabel\string#1\string#2{% + \string\newlabelxx{\string#1}\string#2}^^J% + \string\gdef\string\newlabelxx% + \string#1\string#2\string#3\string#4\string#5\string#6{% + \string\oldnewlabel{\string#1}{{\string#2}{\string#3}}}^^J% + \string\AtEndDocument{% + \string\ifx\string\hyper@anchor\string\@undefined^^J% + \string\let\string\contentsline\string\oldcontentsline^^J% + \string\let\string\newlabel\string\oldnewlabel^^J% + \string\fi% + }^^J% + \string\fi% + }^^J% + \string\global\string\let\string\hyper@last\relax^^J% + \string\gdef\string\HyperFirstAtBeginDocument\string#1{\string#1}% }% \fi + \def\HyperFirstAtBeginDocument#1{#1}% \ifx\hyper@last\@undefined \def\@starttoc#1{% \begingroup @@ -5564,9 +5613,9 @@ \fi \ifHy@naturalnames \let\textlatin\@firstofone - \xdef\Hy@GlobalTempHlabel{\csname the#1\endcsname}% + \xdef\HyperGlobalCurrentHref{\csname the#1\endcsname}% \else - \xdef\Hy@GlobalTempHlabel{% + \xdef\HyperGlobalCurrentHref{% \csname the% \expandafter\ifx\csname theH#1\endcsname\relax\else H\fi @@ -5574,22 +5623,37 @@ \endcsname }% \fi - \xdef\Hy@GlobalTempHref{% - \Hy@param.\expandafter\strip@prefix\meaning\Hy@GlobalTempHlabel + \xdef\HyperGlobalCurrentHref{% + \Hy@param.\expandafter\strip@prefix\meaning\HyperGlobalCurrentHref }% \else \Hy@GlobalStepCount\Hy@linkcounter - \xdef\Hy@GlobalTempHref{\Hy@param.\the\Hy@linkcounter}% + \xdef\HyperGlobalCurrentHref{\Hy@param.\the\Hy@linkcounter}% \fi \endgroup + \let\HyperLocalCurrentHref\HyperGlobalCurrentHref + \ifHy@localanchorname + \let\@currentHref\HyperLocalCurrentHref + \else + \global\let\@currentHref\HyperGlobalCurrentHref + \fi +} +\def\Hy@MakeCurrentHref#1{% + \edef\HyperLocalCurrentHref{#1}% + \@onelevel@sanitize\HyperLocalCurrentHref + \global\let\HyperGlobalCurrentHref\HyperLocalCurrentHref + \let\HyperLocalCurrentHref\HyperGlobalCurrentHref \ifHy@localanchorname - \let\@currentHlabel\Hy@GlobalTempHlabel - \let\@currentHref\Hy@GlobalTempHref + \let\@currentHref\HyperLocalCurrentHref \else - \global\let\@currentHlabel\Hy@GlobalTempHlabel - \global\let\@currentHref\Hy@GlobalTempHref + \global\let\@currentHref\HyperGlobalCurrentHref \fi } +\def\Hy@MakeCurrentHrefAuto#1{% + \Hy@GlobalStepCount\Hy@linkcounter + \Hy@MakeCurrentHref{#1.\the\Hy@linkcounter}% +} +\def\@currentHlabel{\@currentHref} \@ifpackageloaded{fancyvrb}{% \@ifpackagelater{fancyvrb}{1998/05/20}{}{% \def\FV@StepLineNo{% @@ -5599,7 +5663,7 @@ }% }% }{} -\AtBeginDocument{% +\Hy@AtBeginDocument{% \@ifclassloaded{revtex4}{% \@namedef{ver@lastpage.sty}{1994/06/25}% }{}% @@ -5655,8 +5719,7 @@ \def\hypergetpageref#1{\getrefbykeydefault{#1}{page}{0}} \@ifpackageloaded{titlesec}{% \def\ttl@Hy@steplink#1{% - \Hy@GlobalStepCount\Hy@linkcounter - \xdef\@currentHref{#1*.\the\Hy@linkcounter}% + \Hy@MakeCurrentHrefAuto{#1*}% \edef\ttl@Hy@saveanchor{% \noexpand\Hy@raisedlink{% \noexpand\hyper@anchorstart{\@currentHref}% @@ -5708,7 +5771,6 @@ \expandafter\def\y[##1]##2{% \H@refstepcounter{#1}% \hyper@makecurrent{table}% - \let\Hy@LT@currentHlabel\@currentHlabel \let\Hy@LT@currentHref\@currentHref #2\@sharp#####4% }% @@ -5719,7 +5781,6 @@ \endgroup \def\LT@start{% #1% - \let\@currentHlabel\Hy@LT@currentHlabel \let\@currentHref\Hy@LT@currentHref \Hy@raisedlink{% \hyper@anchorstart{\@currentHref}\hyper@anchorend @@ -5871,6 +5932,7 @@ \else \H@refstepcounter{#2}% \hyper@makecurrent{#2}% + \let\Hy@dth@currentHref\@currentHref \def\@tempa{% \@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]% }% @@ -5892,7 +5954,10 @@ \ifx\@empty\dth@counter \else \Hy@raisedlink{% - \hyper@anchorstart{\@currentHref}\hyper@anchorend + \hyper@anchorstart{% + \ltx@ifundefined{Hy@dth@currentHref}% + \@currentHref\Hy@dth@currentHref + }\hyper@anchorend }% \fi \unhbox\@labels @@ -5955,7 +6020,6 @@ \Hy@footnote@currentHref }{\relax}% }% - \let\@currentHlabel\Hy@footnote@currentHlabel \let\@currentHref\Hy@footnote@currentHref \let\@currentlabelname\@empty #1% @@ -5966,12 +6030,9 @@ \leavevmode \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi \stepcounter{Hfootnote}% - \global\let\Hy@saved@currentHlabel\@currentHlabel \global\let\Hy@saved@currentHref\@currentHref \hyper@makecurrent{Hfootnote}% - \global\let\Hy@footnote@currentHlabel\@currentHlabel \global\let\Hy@footnote@currentHref\@currentHref - \global\let\@currentHlabel\Hy@saved@currentHlabel \global\let\@currentHref\Hy@saved@currentHref \hyper@linkstart{link}{\Hy@footnote@currentHref}% \@makefnmark @@ -5997,29 +6058,27 @@ \noexpand\protected@xdef\noexpand\@thefnmark{% \noexpand\thempfn }% - \expandafter\expandafter\expandafter\noexpand - \expandafter\expandafter\expandafter\Hy@LT@footnotetext - \expandafter\expandafter\expandafter{% - \expandafter\Hy@footnote@currentHref\expandafter - }\expandafter{\Hy@footnote@currentHlabel}% + \expandafter\noexpand\expandafter\Hy@LT@footnotetext + \expandafter{% + \Hy@footnote@currentHref + }% }% \global\LT@p@ftn\expandafter{% \@tempa{#1}% \endgroup }% }% - \long\def\Hy@LT@footnotetext#1#2#3{% + \long\def\Hy@LT@footnotetext#1#2{% \H@@footnotetext{% \ifHy@nesting - \hyper@@anchor{#1}{#3}% + \hyper@@anchor{#1}{#2}% \else \Hy@raisedlink{% \hyper@@anchor{#1}{\relax}% }% - \def\@currentHlabel{#2}% \def\@currentHref{#1}% \let\@currentlabelname\@empty - #3% + #2% \fi }% }% @@ -6045,7 +6104,6 @@ \Hy@footnote@currentHref }{\relax}% }% - \let\@currentHlabel\Hy@footnote@currentHlabel \let\@currentHref\Hy@footnote@currentHref \let\@currentlabelname\@empty \ignorespaces @@ -6319,7 +6377,7 @@ }% }{} \@ifpackageloaded{harvard}{% - \AtBeginDocument{% + \Hy@AtBeginDocument{% \Hy@Info{*** compatibility with harvard **** }% \Hy@raiselinksfalse \def\harvardcite#1#2#3#4{% @@ -6548,8 +6606,7 @@ } \@ifpackageloaded{amsmath}{% \def\Hy@make@anchor{% - \Hy@GlobalStepCount\Hy@linkcounter - \xdef\@currentHref{AMS.\the\Hy@linkcounter}% + \Hy@MakeCurrentHrefAuto{AMS}% \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}% }% \def\Hy@make@df@tag@@#1{% @@ -7025,7 +7082,7 @@ \def\@pagerefstar#1{% \HyRef@StarSetRef{#1}\@secondoffive } -\AtBeginDocument{% +\Hy@AtBeginDocument{% \@ifpackageloaded{varioref}{% \def\@Refstar#1{% \HyRef@StarSetRef{#1}\HyRef@MakeUppercaseFirstOfFive @@ -7172,7 +7229,7 @@ \@ifpackageloaded{showkeys}{% \HyRef@ShowKeysInit }{% - \AtBeginDocument{% + \Hy@AtBeginDocument{% \@ifpackageloaded{showkeys}{% \HyRef@ShowKeysInit }{}% @@ -7200,8 +7257,7 @@ \providecommand*\pageautorefname{page} \providecommand*{\Hy@DistillerDestFix}{} \def\phantomsection{% - \Hy@GlobalStepCount\Hy@linkcounter - \xdef\@currentHref{section*.\the\Hy@linkcounter}% + \Hy@MakeCurrentHrefAuto{section*}% \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}% } \endinput |