summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/hyperref/hyperref.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/hyperref/hyperref.sty')
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hyperref.sty318
1 files changed, 114 insertions, 204 deletions
diff --git a/Master/texmf-dist/tex/latex/hyperref/hyperref.sty b/Master/texmf-dist/tex/latex/hyperref/hyperref.sty
index 253cee64cc0..de4746a2f90 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hyperref.sty
+++ b/Master/texmf-dist/tex/latex/hyperref/hyperref.sty
@@ -36,7 +36,7 @@
%% File: hyperref.dtx
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\ProvidesPackage{hyperref}
- [2023-02-07 v7.00v %
+ [2023-04-20 v7.00w %
Hypertext links for LaTeX]
\begingroup
\@makeother\`%
@@ -118,6 +118,7 @@
\RequirePackage{letltxmacro}[2008/06/13]
\RequirePackage{auxhook}[2009/12/14]
\RequirePackage{nameref}[2012/07/28]
+\RequirePackage{etoolbox}
\def\Hy@Error{\@PackageError{hyperref}}
\def\Hy@Warning{\@PackageWarning{hyperref}}
\def\Hy@WarningNoLine{\@PackageWarningNoLine{hyperref}}
@@ -345,26 +346,22 @@
\strip@pt\dimexpr 0.99626401\dimexpr(#1)\relax\relax
}%
\def\hypercalcbpdef{\def}%
+\providecommand*\BCPdata[1]{}
\ExplSyntaxOn
\@ifundefined{text_uppercase:n}{}
{
- \def\MakeUppercaseUnsupportedInPdfStrings#1{\use:e {\text_uppercase:n {#1}}}
- \def\MakeLowercaseUnsupportedInPdfStrings#1{\use:e {\text_lowercase:n {#1}}}
- \AddToHook{package/babel/after}
- {
- \def\MakeUppercaseUnsupportedInPdfStrings#1
+ \def\MakeUppercaseUnsupportedInPdfStrings#1
{\use:e
{\exp_args:Ne
- \text_uppercase:nn{\localeinfo*{tag.bcp47}}{#1}
+ \text_uppercase:nn{\BCPdata { casing }}{#1}
}
}
- \def\MakeLowercaseUnsupportedInPdfStrings#1
+ \def\MakeLowercaseUnsupportedInPdfStrings#1
{\use:e
{\exp_args:Ne
- \text_lowercase:nn{\localeinfo*{tag.bcp47}}{#1}
+ \text_lowercase:nn{\BCPdata { casing }}{#1}
}
}
- }
}
\ExplSyntaxOff
\def\pdfstringdef#1#2{%
@@ -1323,55 +1320,27 @@
\Hy@Warning{#1}%
\endgroup
}
-\RequirePackage{etexcmds}[2007/09/09]
-\ifetex@unexpanded
- \expandafter\@secondoftwo
-\else
- \expandafter\@firstoftwo
-\fi
-{%
- \def\HyPsd@ProtectSpaces#1{%
+\let\HyPsd@fi\fi
+\def\HyPsd@ProtectSpaces#1{%
+ \xdef#1{%
\iftrue
\expandafter\HyPsd@@ProtectSpacesFi
- \expandafter|\expandafter\@empty#1| \HyPsd@End#1%
- \fi
- }%
- \def\HyPsd@@ProtectSpacesFi#1 #2\HyPsd@End#3\fi{%
- \fi
- \ifx\scrollmode#2\scrollmode
- \HyPsd@RemoveMask#1\HyPsd@End#3%
- \else
- \gdef#3{#1\HyPsd@UnexpandableSpace#2}%
- \expandafter\HyPsd@@ProtectSpacesFi#3\HyPsd@End#3%
- \fi
- }%
- \def\HyPsd@RemoveMask|#1|\HyPsd@End#2{%
- \toks@\expandafter{#1}%
- \xdef#2{\the\toks@}%
- }%
-}{%
- \let\HyPsd@fi\fi
- \def\HyPsd@ProtectSpaces#1{%
- \xdef#1{%
- \iftrue
- \expandafter\HyPsd@@ProtectSpacesFi
- \expandafter|\expandafter\@empty#1| %
- \HyPsd@fi
- }%
- \expandafter\HyPsd@RemoveMask#1\HyPsd@End#1%
- }%
- \def\HyPsd@@ProtectSpacesFi#1 #2\HyPsd@fi{%
- \fi
- \etex@unexpanded{#1}%
- \ifx\scrollmode#2\scrollmode
- \else
- \HyPsd@@ProtectSpacesFi\HyPsd@UnexpandableSpace#2%
+ \expandafter|\expandafter\@empty#1| %
\HyPsd@fi
}%
- \def\HyPsd@RemoveMask|#1|\HyPsd@End#2{%
- \xdef#2{\etex@unexpanded\expandafter{#1}}%
- }%
-}
+ \expandafter\HyPsd@RemoveMask#1\HyPsd@End#1%
+}%
+\def\HyPsd@@ProtectSpacesFi#1 #2\HyPsd@fi{%
+ \fi
+ \unexpanded{#1}%
+ \ifx\scrollmode#2\scrollmode
+ \else
+ \HyPsd@@ProtectSpacesFi\HyPsd@UnexpandableSpace#2%
+ \HyPsd@fi
+}%
+\def\HyPsd@RemoveMask|#1|\HyPsd@End#2{%
+ \xdef#2{\unexpanded\expandafter{#1}}%
+}%
\def\HyPsd@RemoveBraces#1{%
\ifx\scrollmode#1\scrollmode
\else
@@ -2740,6 +2709,21 @@
A current html.sty will do all necessary (re)definitions%
}%
}
+\DeclareVoidOption{hitex}{%
+ \ifhint
+ \IfFileExists{hhitex.def}
+ {\def\Hy@driver{hhitex}}%
+ {\Hy@Warning{%
+ Missing driver file `hhitex.def',\MessageBreak
+ ignoring hitex driver%
+ }}%
+ \else
+ \Hy@Error{%
+ Wrong driver option `hitex',\MessageBreak
+ because HiTeX is not detected%
+ }\@ehc
+ \fi
+}
\DeclareVoidOption{ps2pdf}{%
\HyOpt@CheckDvi{ps2pdf}{%
\def\Hy@driver{hdvips}%
@@ -3109,6 +3093,24 @@
\def\theoremautorefname{Teorem}%
\def\pageautorefname{side}%
}
+\def\HyLang@swedish{%
+ \def\equationautorefname{Ekvation}%
+ \def\footnoteautorefname{fotnot}%
+ \def\itemautorefname{punkt}%
+ \def\figureautorefname{Figur}%
+ \def\tableautorefname{Tabell}%
+ \def\partautorefname{Del}%
+ \def\appendixautorefname{Bilaga}%
+ \def\chapterautorefname{kapitel}%
+ \def\sectionautorefname{avsnitt}%
+ \def\subsectionautorefname{underavsnitt}%
+ \def\subsubsectionautorefname{under-underavsnitt}%
+ \def\paragraphautorefname{paragraf}%
+ \def\subparagraphautorefname{underparagraf}%
+ \def\FancyVerbLineautorefname{linje}%
+ \def\theoremautorefname{Teorem}%
+ \def\pageautorefname{sida}%
+}
\def\HyLang@addto#1#2{%
#2%
\@temptokena{#2}%
@@ -3161,6 +3163,8 @@
\HyLang@DeclareLang{austrian}{german}{}
\HyLang@DeclareLang{ngerman}{german}{}
\HyLang@DeclareLang{naustrian}{german}{}
+\HyLang@DeclareLang{nswissgerman}{german}{}
+\HyLang@DeclareLang{swissgerman}{german}{}
\HyLang@DeclareLang{russian}{russian}{\noexpand\hypersetup{unicode}}
\HyLang@DeclareLang{brazil}{portuges}{}
\HyLang@DeclareLang{brazilian}{portuges}{}
@@ -3181,6 +3185,7 @@
\HyLang@DeclareLang{norsk}{norsk}{}
\HyLang@DeclareLang{norwegian}{norsk}{}
\HyLang@DeclareLang{danish}{danish}{}
+\HyLang@DeclareLang{swedish}{swedish}{}
\DeclareVoidOption{vietnamese}{%
\HyLang@addto\extrasvietnamese\HyLang@vietnamese
\Hy@AtEndOfPackage{%
@@ -3688,14 +3693,14 @@
\HyInfo@AddonList
\HyInfo@do{\HyInfo@Key}%
}%
- \kv@parse@normalized{%
+ \expandafter\kv@parse@normalized\expandafter{%
\HyInfo@Key={#2}%
}{%
\kv@processor@default{pdfinfo}%
}%
\fi
\else
- \kv@parse@normalized{%
+ \expandafter\kv@parse@normalized\expandafter{%
\HyInfo@Key={#2}%
}{%
\kv@processor@default{pdfinfo}%
@@ -4277,6 +4282,21 @@
\fi
\ifx\Hy@driver\@empty
\else
+ \def\Hy@temp{hhitex}%
+ \ifhint
+ \ifx\Hy@driver\Hy@temp
+ \else
+ \Hy@WarningNoLine{%
+ Wrong driver `\Hy@driver.def';\MessageBreak
+ hitex is running.\MessageBreak
+ Forcing driver `\Hy@temp.def'%
+ }%
+ \let\Hy@driver\Hy@temp
+ \fi
+ \fi
+ \fi
+ \ifx\Hy@driver\@empty
+ \else
\def\Hy@temp{hvtexhtm}%
\ifnum\ifvtex\OpMode\else\m@ne\fi=10 %
\ifx\Hy@driver\Hy@temp
@@ -4325,27 +4345,31 @@
\endinput
}%
\else
- \ifnum\ifvtex\OpMode\else\m@ne\fi=\@ne
- \def\Hy@driver{hvtex}%
+ \ifhint
+ \def\Hy@driver{hhitex}
\else
- \ifnum\ifvtex\OpMode\else\m@ne\fi=\tw@
+ \ifnum\ifvtex\OpMode\else\m@ne\fi=\@ne
\def\Hy@driver{hvtex}%
\else
- \ifx\HyOpt@DriverFallback\ltx@empty
- \let\Hy@driver\Hy@defaultdriver
- \def\HyOpt@DriverType{ (default)}%
+ \ifnum\ifvtex\OpMode\else\m@ne\fi=\tw@
+ \def\Hy@driver{hvtex}%
\else
- \begingroup
- \toks@\expandafter{\HyOpt@DriverFallback}%
- \edef\x{\endgroup
- \noexpand\kvsetkeys{Hyp}{\the\toks@}%
- }%
- \x
- \ifx\Hy@driver\ltx@empty
+ \ifx\HyOpt@DriverFallback\ltx@empty
\let\Hy@driver\Hy@defaultdriver
\def\HyOpt@DriverType{ (default)}%
\else
- \def\HyOpt@DriverType{ (fallback)}%
+ \begingroup
+ \toks@\expandafter{\HyOpt@DriverFallback}%
+ \edef\x{\endgroup
+ \noexpand\kvsetkeys{Hyp}{\the\toks@}%
+ }%
+ \x
+ \ifx\Hy@driver\ltx@empty
+ \let\Hy@driver\Hy@defaultdriver
+ \def\HyOpt@DriverType{ (default)}%
+ \else
+ \def\HyOpt@DriverType{ (fallback)}%
+ \fi
\fi
\fi
\fi
@@ -6864,6 +6888,7 @@
}
}
\@ifpackageloaded{longtable}{%
+\@ifundefined{hyper@nopatch@longtable}{%
\begingroup
\def\y{\LT@array}%
\@ifundefined{scr@LT@array}{%
@@ -6893,6 +6918,7 @@
}%
}%
\expandafter\x\LT@start\@nil
+ }{}
}{}
\let\new@refstepcounter\refstepcounter
\let\H@equation\equation
@@ -7012,138 +7038,21 @@
\ignorespaces
}%
\fi
-\Hy@AtBeginDocument{%
-\@ifpackageloaded{cleveref}{%
-\let\Hy@savedthm\@thm
-\def\@thm{\ifhmode\unskip\fi\Hy@savedthm}%
-}{%
-\@ifpackageloaded{amsthm}{%
- \def\Hy@temp#1#2#3{%
- \ifhmode\unskip\unskip\par\fi
- \normalfont
- \trivlist
- \let\thmheadnl\relax
- \let\thm@swap\@gobble
- \let\thm@indent\indent % indent
- \thm@headfont{\scshape}% heading font small caps
- \thm@notefont{\fontseries\mddefault\upshape}%
- \thm@headpunct{.}% add period after heading
- \thm@headsep 5\p@ plus\p@ minus\p@\relax
- \thm@space@setup
- #1% style overrides
- \@topsep \thm@preskip % used by thm head
- \@topsepadd \thm@postskip % used by \@endparenv
- \def\@tempa{#2}\ifx\@empty\@tempa
- \def\@tempa{\@oparg{\@begintheorem{#3}{}}[]}%
- \else
- \refstepcounter{#2}%
- \def\@tempa{%
- \@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]%
- }%
- \fi
- \@tempa
- }%
- \ifx\Hy@temp\@thm
- \def\@thm#1#2#3{%
- \ifhmode
- \unskip\unskip\par
- \fi
- \normalfont
- \trivlist
- \let\thmheadnl\relax
- \let\thm@swap\@gobble
- \let\thm@indent\indent % indent
- \thm@headfont{\scshape}% heading font small caps
- \thm@notefont{\fontseries\mddefault\upshape}%
- \thm@headpunct{.}% add period after heading
- \thm@headsep 5\p@ plus\p@ minus\p@\relax
- \thm@space@setup
- #1% style overrides
- \@topsep \thm@preskip % used by thm head
- \@topsepadd \thm@postskip % used by \@endparenv
- \def\dth@counter{#2}%
- \ifx\@empty\dth@counter
- \def\@tempa{%
- \@oparg{\@begintheorem{#3}{}}[]%
- }%
- \else
- \H@refstepcounter{#2}%
- \hyper@makecurrent{#2}%
- \let\Hy@dth@currentHref\@currentHref
- \def\@tempa{%
- \@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]%
- }%
- \fi
- \@tempa
- }%
- \else
- \def\@thm#1#2#3{%
- \ifhmode
- \unskip\unskip\par
- \fi
- \normalfont
- \trivlist
- \let\thmheadnl\relax
- \let\thm@swap\@gobble
- \thm@notefont{\fontseries\mddefault\upshape}%
- \thm@headpunct{.}% add period after heading
- \thm@headsep 5\p@ plus\p@ minus\p@\relax
- \thm@space@setup
- #1% style overrides
- \@topsep \thm@preskip % used by thm head
- \@topsepadd \thm@postskip % used by \@endparenv
- \def\dth@counter{#2}%
- \ifx\@empty\dth@counter
- \def\@tempa{%
- \@oparg{\@begintheorem{#3}{}}[]%
- }%
- \else
- \H@refstepcounter{#2}%
- \hyper@makecurrent{#2}%
- \let\Hy@dth@currentHref\@currentHref
- \def\@tempa{%
- \@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]%
- }%
- \fi
- \@tempa
- }%
- \fi
- \dth@everypar={%
- \@minipagefalse
- \global\@newlistfalse
- \@noparitemfalse
- \if@inlabel
- \global\@inlabelfalse
- \begingroup
- \setbox\z@\lastbox
- \ifvoid\z@
- \kern-\itemindent
- \fi
- \endgroup
- \ifx\@empty\dth@counter
- \else
- \Hy@raisedlink{%
- \hyper@anchorstart{%
- \ltx@ifundefined{Hy@dth@currentHref}%
- \@currentHref\Hy@dth@currentHref
- }\hyper@anchorend
- }%
- \fi
- \unhbox\@labels
- \fi
- \if@nobreak
- \@nobreakfalse \clubpenalty\@M
- \else
- \clubpenalty\@clubpenalty \everypar{}%
- \fi
- }%
-}%
-{%
-\let\Hy@savedthm\@thm
-\def\@thm{\ifhmode\unskip\fi\Hy@savedthm}%
-}%
-}%
-}
+\newcommand\Hy@theorem@refstepcounter[1]
+ {%
+ \H@refstepcounter{#1}%
+ \hyper@makecurrent{#1}%
+ \global\let\Hy@dth@currentHref\@currentHref
+ \AddToHookNext{para/begin}
+ {\let\Hy@tempa\@currentHref
+ \MakeLinkTarget*{\Hy@dth@currentHref}%
+ \global\let\@currentHref\Hy@tempa
+ }%
+ }
+\AtBeginDocument{%
+\ifpatchable\@thm{\refstepcounter}
+ {\patchcmd\@thm{\refstepcounter}{\Hy@theorem@refstepcounter}{}{}}
+ {}}
\@ifundefined{hyper@nopatch@footnote}{%
\ifHy@hyperfootnotes
\newcounter{Hfootnote}%
@@ -7355,6 +7264,7 @@
\fi
}{}
\Hy@DisableOption{hyperfootnotes}
+\@ifundefined{hyper@nopatch@caption}{%
\def\caption{%
\ifx\@captype\@undefined
\@latex@error{\noexpand\caption outside float}\@ehd
@@ -7415,7 +7325,7 @@
\fi
\par
\endgroup
-}
+}}{}%end no patch
\let\Hy@float@caption\@caption
\newcommand{\HyNew@float@makebox}[1]{%
\HyOrg@float@makebox{%