You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
8906 lines
231 KiB
8906 lines
231 KiB
%%
|
|
%% This is file `hyperref.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% hyperref.dtx (with options: `package')
|
|
%%
|
|
%% File: hyperref.dtx
|
|
%% Copyright
|
|
%% 1995-2001 Sebastian Rahtz, with portions written by David Carlisle and Heiko Oberdiek,
|
|
%% 2001-2015 Heiko Oberdiek.
|
|
%% 2016-2019 Oberdiek Package Support Group
|
|
%% 2019-2020 LaTeX3 Project
|
|
%% https://github.com/latex3/hyperref/issues
|
|
%%
|
|
%% This file is part of the `Hyperref Bundle'.
|
|
%% -------------------------------------------
|
|
%%
|
|
%% This work may be distributed and/or modified under the
|
|
%% conditions of the LaTeX Project Public License, either version 1.3
|
|
%% of this license or (at your option) any later version.
|
|
%% The latest version of this license is in
|
|
%% http://www.latex-project.org/lppl.txt
|
|
%% and version 1.3 or later is part of all distributions of LaTeX
|
|
%% version 2005/12/01 or later.
|
|
%%
|
|
%% This work has the LPPL maintenance status `maintained'.
|
|
%%
|
|
%% The Current Maintainer of this work is the LaTeX3 Project.
|
|
%%
|
|
%% The list of all files belonging to the `Hyperref Bundle' is
|
|
%% given in the file `manifest.txt'.
|
|
%%
|
|
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
|
|
\ProvidesPackage{hyperref}
|
|
[2020-05-15 v7.00e %
|
|
Hypertext links for LaTeX]
|
|
\begingroup
|
|
\@makeother\`%
|
|
\@makeother\=%
|
|
\edef\x{%
|
|
\edef\noexpand\x{%
|
|
\endgroup
|
|
\noexpand\toks@{%
|
|
\catcode 96=\noexpand\the\catcode`\noexpand\`\relax
|
|
\catcode 61=\noexpand\the\catcode`\noexpand\=\relax
|
|
}%
|
|
}%
|
|
\noexpand\x
|
|
}%
|
|
\x
|
|
\@makeother\`
|
|
\@makeother\=
|
|
\def\Hy@SetCatcodes{%
|
|
\@makeother\`%
|
|
\@makeother\=%
|
|
\catcode`\$=3 %
|
|
\catcode`\&=4 %
|
|
\catcode`\^=7 %
|
|
\catcode`\_=8 %
|
|
\@makeother\|%
|
|
\@makeother\:%
|
|
\@makeother\(%
|
|
\@makeother\)%
|
|
\@makeother\[%
|
|
\@makeother\]%
|
|
\@makeother\/%
|
|
\@makeother\!%
|
|
\@makeother\<%
|
|
\@makeother\>%
|
|
\@makeother\.%
|
|
\@makeother\;%
|
|
\@makeother\+%
|
|
\@makeother\-%
|
|
\@makeother\"%
|
|
\@makeother\'%
|
|
}
|
|
\begingroup
|
|
\def\x#1{\catcode`\noexpand#1=\the\catcode`#1\relax}%
|
|
\xdef\Hy@RestoreCatcodes{%
|
|
\the\toks@
|
|
\x\$%
|
|
\x\&%
|
|
\x\^%
|
|
\x\_%
|
|
\x\|%
|
|
\x\:%
|
|
\x\(%
|
|
\x\)%
|
|
\x\[%
|
|
\x\]%
|
|
\x\/%
|
|
\x\!%
|
|
\x\<%
|
|
\x\>%
|
|
\x\.%
|
|
\x\;%
|
|
\x\+%
|
|
\x\-%
|
|
\x\"%
|
|
\x\'%
|
|
}%
|
|
\endgroup
|
|
\Hy@SetCatcodes
|
|
\RequirePackage{ltxcmds}[2010/11/12]
|
|
\RequirePackage{iftex}[2019/10/24]
|
|
\RequirePackage{pdftexcmds}[2009/04/10]
|
|
\@ifpackagelater{pdftexcmds}{2010/11/04}{}{%
|
|
\ltx@IfUndefined{pdfdraftmode}{%
|
|
\let\pdf@ifdraftmode\ltx@secondoftwo
|
|
}{%
|
|
\ifpdf
|
|
\def\pdf@ifdraftmode{%
|
|
\ifnum\pdfdraftmode=\ltx@one
|
|
\expandafter\ltx@firstoftwo
|
|
\else
|
|
\expandafter\ltx@secondoftwo
|
|
\fi
|
|
}%
|
|
\else
|
|
\let\pdf@ifdraftmode\ltx@secondoftwo
|
|
\fi
|
|
}%
|
|
}
|
|
\RequirePackage{infwarerr}[2010/04/08]
|
|
\RequirePackage{keyval}[1997/11/10]
|
|
\RequirePackage{kvsetkeys}[2007/09/29]
|
|
\RequirePackage{kvdefinekeys}[2011/04/07]
|
|
\RequirePackage{pdfescape}[2007/11/11]
|
|
\RequirePackage{hycolor}
|
|
\RequirePackage{letltxmacro}[2008/06/13]
|
|
\RequirePackage{auxhook}[2009/12/14]
|
|
\def\Hy@Error{\@PackageError{hyperref}}
|
|
\def\Hy@Warning{\@PackageWarning{hyperref}}
|
|
\def\Hy@WarningNoLine{\@PackageWarningNoLine{hyperref}}
|
|
\def\Hy@Info{\@PackageInfo{hyperref}}
|
|
\def\Hy@InfoNoLine{\@PackageInfoNoLine{hyperref}}
|
|
\def\Hy@Message#1{%
|
|
\GenericWarning{%
|
|
(hyperref)\@spaces\@spaces\@spaces\@spaces
|
|
}{%
|
|
Package hyperref Message: #1\ltx@gobble
|
|
}%
|
|
}
|
|
\chardef\Hy@VersionChecked=0 %
|
|
\def\Hy@VersionCheck#1{%
|
|
\begingroup
|
|
\ltx@IfUndefined{ver@hyperref.sty}{%
|
|
\Hy@Error{%
|
|
This should not happen!\MessageBreak
|
|
Missing hyperref version%
|
|
}\@ehd
|
|
}{%
|
|
\ltx@IfUndefined{ver@#1}{%
|
|
\Hy@Error{%
|
|
This should not happen!\MessageBreak
|
|
Missing version of `#1'%
|
|
}\@ehd
|
|
}{%
|
|
\def\x##1##2##3{%
|
|
\expandafter\expandafter\expandafter\Hy@@VersionCheck
|
|
\expandafter\expandafter\expandafter##2%
|
|
\csname ver@##3\endcsname##1##1\@nil
|
|
}%
|
|
\x{ }\y{hyperref.sty}%
|
|
\x{ }\z{#1}%
|
|
\ifx\y\z
|
|
\else
|
|
\edef\a{#1}%
|
|
\edef\b{\HyOpt@CustomDriver.def}%
|
|
\ifx\a\b
|
|
\Hy@WarningNoLine{%
|
|
Version mismatch (custom driver)!\MessageBreak
|
|
* \y: hyperref.sty\MessageBreak
|
|
* \z: \a
|
|
}%
|
|
\else
|
|
\Hy@Error{%
|
|
Version mismatch!\MessageBreak
|
|
* \y: hyperref.sty\MessageBreak
|
|
* \z: \a
|
|
}\@ehd
|
|
\fi
|
|
\fi
|
|
}%
|
|
}%
|
|
\endgroup
|
|
\chardef\Hy@VersionChecked=1 %
|
|
}
|
|
\def\Hy@@VersionCheck #1#2 #3 #4\@nil{%
|
|
\def#1{#2 #3}%
|
|
}
|
|
\ltx@IfUndefined{pdfmatch}{%
|
|
\def\Hy@Match#1#2#3#4#5{}%
|
|
}{%
|
|
\def\Hy@Match#1#2#3{%
|
|
\begingroup
|
|
\edef\^{\ltx@backslashchar\string^}%
|
|
\edef\.{\ltx@backslashchar.}%
|
|
\edef\[{\ltx@backslashchar[}% ]]
|
|
\edef\${\ltx@backslashchar$}%
|
|
\edef\({\ltx@backslashchar(}%
|
|
\edef\){\ltx@backslashchar)}%
|
|
\edef\|{\ltx@backslashchar|}%
|
|
\edef\*{\ltx@backslashchar*}%
|
|
\edef\+{\ltx@backslashchar+}%
|
|
\edef\?{\ltx@backslashchar?}%
|
|
\edef\{{\ltx@backslashchar\ltx@leftbracechar}%
|
|
\edef\}{\ltx@rightbracechar}%
|
|
\edef\\{\ltx@backslashchar\ltx@backslashchar}%
|
|
\let\ \ltx@space
|
|
\ifcase\pdfmatch#2{#3}{#1} %
|
|
\endgroup
|
|
\expandafter\ltx@secondoftwo
|
|
\or
|
|
\endgroup
|
|
\expandafter\ltx@firstoftwo
|
|
\else
|
|
\Hy@Warning{%
|
|
Internal error: Wrong pattern!\MessageBreak
|
|
--> #3 <--\MessageBreak
|
|
Pattern check ignored%
|
|
}%
|
|
\endgroup
|
|
\expandafter\ltx@firstoftwo
|
|
\fi
|
|
}%
|
|
\ltx@ifpackagelater{ltxcmds}{2010/09/11}{}{%
|
|
\begingroup
|
|
\lccode`0=`\{\relax
|
|
\lowercase{\endgroup
|
|
\def\ltx@leftbracechar{0}%
|
|
}%
|
|
\begingroup
|
|
\lccode`0=`\}\relax
|
|
\lowercase{\endgroup
|
|
\def\ltx@rightbracechar{0}%
|
|
}%
|
|
}%
|
|
}
|
|
\@ifundefined{AfterBeginDocument}{%
|
|
\def\AfterBeginDocument{\AtBeginDocument}%
|
|
}{}%
|
|
\def\Hy@AtBeginDocument{%
|
|
\ltx@LocalAppendToMacro\Hy@AtBeginDocumentHook
|
|
}
|
|
\def\Hy@AtEndOfPackage{%
|
|
\ltx@LocalAppendToMacro\Hy@AtEndOfPackageHook
|
|
}
|
|
\let\Hy@AtBeginDocumentHook\ltx@empty
|
|
\let\Hy@AtEndOfPackageHook\ltx@empty
|
|
\AtEndOfPackage{%
|
|
\Hy@AtEndOfPackageHook
|
|
\let\Hy@AtEndOfPackageHook\@undefined
|
|
\AfterBeginDocument{%
|
|
\Hy@AtBeginDocumentHook{}%
|
|
\let\Hy@AtBeginDocumentHook\@undefined
|
|
}%
|
|
}
|
|
\RequirePackage{kvoptions}[2009/07/21]
|
|
\newif\ifHy@stoppedearly
|
|
\newif\ifHy@typexml
|
|
\newif\ifHy@activeanchor
|
|
\newif\ifHy@backref
|
|
\newif\ifHy@bookmarks
|
|
\newif\ifHy@bookmarksnumbered
|
|
\newif\ifHy@bookmarksopen
|
|
\newif\ifHy@breaklinks
|
|
\newif\ifHy@pdfcenterwindow
|
|
\newif\ifHy@CJKbookmarks
|
|
\newif\ifHy@colorlinks
|
|
\newif\ifHy@destlabel
|
|
\newif\ifHy@draft
|
|
\let\Hy@finaltrue\Hy@draftfalse
|
|
\let\Hy@finalfalse\Hy@drafttrue
|
|
\newif\ifHy@pdfescapeform
|
|
\newif\ifHy@hyperfigures
|
|
\newif\ifHy@pdffitwindow
|
|
\newif\ifHy@frenchlinks
|
|
\newif\ifHy@hyperfootnotes
|
|
\newif\ifHy@hyperindex
|
|
\newif\ifHy@hypertexnames
|
|
\newif\ifHy@implicit
|
|
\newif\ifHy@linktocpage
|
|
\newif\ifHy@localanchorname
|
|
\newif\ifHy@pdfmenubar
|
|
\newif\ifHy@naturalnames
|
|
\newif\ifHy@nesting
|
|
\newif\ifHy@pdfnewwindowset
|
|
\newif\ifHy@pdfnewwindow
|
|
\newif\ifHy@ocgcolorlinks
|
|
\newif\ifHy@pageanchor
|
|
\newif\ifHy@pdfpagelabels
|
|
\newif\ifHy@pdfpagehidden
|
|
\newif\ifHy@pdfstring
|
|
\newif\ifHy@plainpages
|
|
\newif\ifHy@psize
|
|
\newif\ifHy@raiselinks
|
|
\newif\ifHy@seminarslides
|
|
\newif\ifHy@setpagesize
|
|
\newif\ifHy@texht
|
|
\newif\ifHy@psdextra
|
|
\newif\ifHy@pdftoolbar
|
|
\newif\ifHy@unicode
|
|
\newif\ifHy@pdfusetitle
|
|
\newif\ifHy@verbose
|
|
\let\Hy@debugtrue\Hy@verbosetrue
|
|
\let\Hy@debugfalse\Hy@verbosefalse
|
|
\newif\ifHy@pdfwindowui
|
|
\newif\ifHy@pdfdisplaydoctitle
|
|
\newif\ifHy@pdfa
|
|
\Hy@backreffalse
|
|
\Hy@bookmarksnumberedfalse
|
|
\Hy@bookmarksopenfalse
|
|
\Hy@bookmarkstrue
|
|
\Hy@breaklinksfalse
|
|
\Hy@pdfcenterwindowfalse
|
|
\Hy@CJKbookmarksfalse
|
|
\Hy@destlabelfalse
|
|
\Hy@pdfescapeformfalse
|
|
\Hy@hyperfiguresfalse
|
|
\Hy@pdffitwindowfalse
|
|
\Hy@hyperfootnotestrue
|
|
\Hy@hyperindextrue
|
|
\Hy@hypertexnamestrue
|
|
\Hy@implicittrue
|
|
\Hy@linktocpagefalse
|
|
\Hy@localanchornamefalse
|
|
\Hy@pdfmenubartrue
|
|
\Hy@naturalnamesfalse
|
|
\Hy@nestingfalse
|
|
\Hy@pdfnewwindowsetfalse
|
|
\Hy@pdfnewwindowfalse
|
|
\Hy@pageanchortrue
|
|
\Hy@pdfpagelabelstrue
|
|
\Hy@pdfpagehiddenfalse
|
|
\Hy@pdfstringfalse
|
|
\Hy@plainpagesfalse
|
|
\Hy@raiselinksfalse
|
|
\Hy@setpagesizetrue
|
|
\Hy@texhtfalse
|
|
\Hy@psdextrafalse
|
|
\Hy@pdftoolbartrue
|
|
\Hy@typexmlfalse
|
|
\Hy@unicodefalse
|
|
\Hy@pdfusetitlefalse
|
|
\Hy@verbosefalse
|
|
\Hy@pdfwindowuitrue
|
|
\Hy@pdfdisplaydoctitlefalse
|
|
\Hy@pdfafalse
|
|
\def\Hy@StepCount#1{\advance#1 by 1 }%
|
|
\def\Hy@GlobalStepCount#1{\global\advance#1 by 1 }%
|
|
\newdimen\@linkdim
|
|
\let\Hy@driver\ltx@empty
|
|
\let\MaybeStopEarly\relax
|
|
\newcount\Hy@linkcounter
|
|
\newcount\Hy@pagecounter
|
|
\Hy@linkcounter0
|
|
\Hy@pagecounter0
|
|
\let\Hy@ReturnEnd\@empty
|
|
\long\def\Hy@ReturnAfterFiFiEnd#1\fi#2\Hy@ReturnEnd{\fi\fi#1}
|
|
\long\def\Hy@ReturnAfterElseFiFiEnd#1\else#2\Hy@ReturnEnd{\fi\fi#1}
|
|
\def\Hy@safe@activestrue{\csname @safe@activestrue\endcsname}
|
|
\def\Hy@safe@activesfalse{\csname @safe@activesfalse\endcsname}
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname dimexpr\endcsname\relax
|
|
\def\hypercalcbpdef#1#2{%
|
|
\begingroup
|
|
\toks@{}%
|
|
\HyCal@scan#2\hypercalcbp\@nil
|
|
\expandafter\endgroup
|
|
\expandafter\def\expandafter#1\expandafter{\the\toks@}%
|
|
}%
|
|
\def\HyCal@scan#1\hypercalcbp#2\@nil{%
|
|
\toks@\expandafter{\the\toks@ #1}%
|
|
\ifx\\#2\\%
|
|
\else
|
|
\ltx@ReturnAfterFi{%
|
|
\HyCal@do#2\@nil
|
|
}%
|
|
\fi
|
|
}%
|
|
\def\HyCal@do#1#2\@nil{%
|
|
\@ifpackageloaded{calc}{}{%
|
|
\Hy@Warning{%
|
|
For calculations \string\hypercalcbp\space needs\MessageBreak
|
|
package calc or e-TeX%
|
|
}%
|
|
}%
|
|
\setlength{\dimen@}{#1}%
|
|
\setlength{\dimen@}{0.99626401\dimen@}%
|
|
\edef\x{%
|
|
\toks@{%
|
|
\the\toks@
|
|
\strip@pt\dimen@
|
|
}%
|
|
}\x
|
|
\HyCal@scan#2\@nil
|
|
}%
|
|
\else
|
|
\def\hypercalcbp#1{%
|
|
\strip@pt\dimexpr 0.99626401\dimexpr(#1)\relax\relax
|
|
}%
|
|
\def\hypercalcbpdef{\def}%
|
|
\fi
|
|
\def\pdfstringdef#1#2{%
|
|
\begingroup
|
|
\escapechar`\\%
|
|
\edef\0{\string\0}%
|
|
\edef\1{\string\1}%
|
|
\edef\2{\string\2}%
|
|
\edef\3{\string\3}%
|
|
\ifHy@unicode
|
|
\edef\8{\string\8}%
|
|
\edef\9{\string\9}%
|
|
\fontencoding{PU}%
|
|
\HyPsd@UTFviii
|
|
\def\ifpdfstringunicode##1##2{##1}%
|
|
\else
|
|
\fontencoding{PD1}%
|
|
\def\ifpdfstringunicode##1##2{##2}%
|
|
\fi
|
|
\let\utf@viii@undeferr\HyPsd@utf@viii@undeferr
|
|
\enc@update
|
|
\@inmathwarn\pdfstringdef
|
|
\let\@inmathwarn\HyPsd@inmathwarn
|
|
\let\add@accent\HyPsd@add@accent
|
|
\let\{\textbraceleft
|
|
\let\}\textbraceright
|
|
\let\\\textbackslash
|
|
\let\#\textnumbersign
|
|
\let\$\textdollar
|
|
\let\%\textpercent
|
|
\let\&\textampersand
|
|
\let\_\textunderscore
|
|
\let\P\textparagraph
|
|
\let\ldots\textellipsis
|
|
\let\dots\textellipsis
|
|
\ltx@IfUndefined{textEncodingNoboundary}%
|
|
{}{\let\noboundary\textEncodingNoboundary}%
|
|
\def\\{\pdfstringdefWarn\\}%
|
|
\def\newline{\pdfstringdefWarn\newline}%
|
|
\def\TeX{TeX}%
|
|
\def\LaTeX{La\TeX}%
|
|
\def\LaTeXe{%
|
|
\LaTeX2%
|
|
\ifHy@unicode\textepsilon\else e\fi
|
|
}%
|
|
\def\eTeX{%
|
|
\ifHy@unicode\textepsilon\else e\fi
|
|
-\TeX%
|
|
}%
|
|
\def\SliTeX{Sli\TeX}%
|
|
\def\MF{Metafont}%
|
|
\def\MP{Metapost}%
|
|
\let\fontencoding\@gobble
|
|
\let\fontfamily\@gobble
|
|
\let\fontseries\@gobble
|
|
\let\fontshape\@gobble
|
|
\let\fontsize\@gobbletwo
|
|
\let\selectfont\@empty
|
|
\let\usefont\@gobblefour
|
|
\let\emph\@firstofone
|
|
\let\textnormal\@firstofone
|
|
\let\textrm\@firstofone
|
|
\let\textsf\@firstofone
|
|
\let\texttt\@firstofone
|
|
\let\textbf\@firstofone
|
|
\let\textmd\@firstofone
|
|
\let\textit\@firstofone
|
|
\let\textsc\@firstofone
|
|
\let\textsl\@firstofone
|
|
\let\textup\@firstofone
|
|
\let\normalfont\@empty
|
|
\let\rmfamily\@empty
|
|
\let\sffamily\@empty
|
|
\let\ttfamily\@empty
|
|
\let\bfseries\@empty
|
|
\let\mdseries\@empty
|
|
\let\itshape\@empty
|
|
\let\scshape\@empty
|
|
\let\slshape\@empty
|
|
\let\upshape\@empty
|
|
\let\em\@empty
|
|
\let\rm\@empty
|
|
\let\Huge\@empty
|
|
\let\LARGE\@empty
|
|
\let\Large\@empty
|
|
\let\footnotesize\@empty
|
|
\let\huge\@empty
|
|
\let\large\@empty
|
|
\let\normalsize\@empty
|
|
\let\scriptsize\@empty
|
|
\let\small\@empty
|
|
\let\tiny\@empty
|
|
\let\mathversion\@gobble
|
|
\let\phantom\@gobble
|
|
\let\vphantom\@gobble
|
|
\let\hphantom\@gobble
|
|
\let\ding\HyPsd@ding
|
|
\let\Cube\HyPsd@DieFace
|
|
\def\begin#1{\csname#1\endcsname}%
|
|
\def\end#1{\csname end#1\endcsname}%
|
|
\def\textcolor##1##{\@secondoftwo}%
|
|
\def\MakeUppercase{\MakeUppercaseUnsupportedInPdfStrings}%
|
|
\def\MakeLowercase{\MakeLowercaseUnsupportedInPdfStrings}%
|
|
\ifHy@psdextra
|
|
\ifHy@unicode
|
|
\csname psdmapshortnames\endcsname
|
|
\csname psdaliasnames\endcsname
|
|
\fi
|
|
\fi
|
|
\let\foreignlanguage\@secondoftwo
|
|
\let\textlatin\@firstofone
|
|
\ltx@IfUndefined{language@group}{}{%
|
|
\let\bbl@info\@gobble
|
|
\csname HyPsd@babel@\language@group\endcsname
|
|
}%
|
|
\HyPsd@GreekPatch
|
|
\HyPsd@SpanishPatch
|
|
\HyPsd@RussianPatch
|
|
\HyPsd@BabelPatch
|
|
\let\@safe@activestrue\relax
|
|
\let\@safe@activesfalse\relax
|
|
\let\cyr\relax
|
|
\let\es@roman\@Roman
|
|
\let\glqq\textglqq
|
|
\let\grqq\textgrqq
|
|
\let\glq\textglq
|
|
\let\grq\textgrq
|
|
\let\flqq\textflqq
|
|
\let\frqq\textfrqq
|
|
\let\flq\textflq
|
|
\let\frq\textfrq
|
|
\let\if@mid@expandable\@firstoftwo
|
|
\HyPsd@AMSclassfix
|
|
\let\hspace\HyPsd@hspace
|
|
\let\label\@gobble
|
|
\let\index\@gobble
|
|
\let\glossary\@gobble
|
|
\let\href\HyPsd@href
|
|
\let\@mkboth\@gobbletwo
|
|
\let\ref\HyPsd@ref
|
|
\let\pageref\HyPsd@pageref
|
|
\let\nameref\HyPsd@nameref
|
|
\let\autoref\HyPsd@autoref
|
|
\let\leavevmode\@empty
|
|
\let\mbox\@empty
|
|
\def\halign{\pdfstringdefWarn\halign\@gobble}%
|
|
\let\ignorespaces\HyPsd@ignorespaces
|
|
\let\Hy@SectionAnchorHref\@gobble
|
|
\let\ensuremath\@firstofone
|
|
\HyPsd@CJKhook
|
|
\Hy@pdfstringtrue
|
|
\pdfstringdefPreHook
|
|
\HyPsd@LetUnexpandableSpace\space
|
|
\HyPsd@LetUnexpandableSpace\ %
|
|
\HyPsd@LetUnexpandableSpace~%
|
|
\HyPsd@LetUnexpandableSpace\nobreakspace
|
|
\ltx@IfUndefined{@xspace}{%
|
|
\let\xspace\HyPsd@ITALCORR
|
|
}{%
|
|
\let\xspace\HyPsd@XSPACE
|
|
}%
|
|
\let\/\HyPsd@ITALCORR
|
|
\let\bgroup\/%
|
|
\let\egroup\/%
|
|
\let\discretionary\@gobbletwo
|
|
\def\@ifnextchar{\HyPsd@ifnextchar\@ifnextchar}%
|
|
\def\kernel@ifnextchar{\HyPsd@ifnextchar\kernel@ifnextchar}%
|
|
\def\new@ifnextchar{\HyPsd@ifnextchar\new@ifnextchar}%
|
|
\let\@protected@testopt\HyPsd@protected@testopt
|
|
\let\@protected@testopt@xargs\HyPsd@protected@testopt
|
|
\begingroup
|
|
\let\GenericError\@gobblefour
|
|
\let\GenericWarning\@gobbletwo
|
|
\let\GenericInfo\@gobbletwo
|
|
\ifx\nofrenchguillemets\@undefined
|
|
\else
|
|
\nofrenchguillemets
|
|
\fi
|
|
\let\Hy@temp\xdef
|
|
\let\def\HyPsd@DefCommand
|
|
\let\gdef\HyPsd@DefCommand
|
|
\let\edef\HyPsd@DefCommand
|
|
\let\xdef\HyPsd@DefCommand
|
|
\let\futurelet\HyPsd@LetCommand
|
|
\let\let\HyPsd@LetCommand
|
|
\Hy@temp#1{#2}%
|
|
\endgroup
|
|
\ifx#1\@empty
|
|
\else
|
|
\HyPsd@ProtectSpaces#1%
|
|
\let\HyPsd@String\@empty
|
|
\expandafter\HyPsd@RemoveBraces\expandafter{#1|}%
|
|
\global\let#1\HyPsd@String
|
|
\let\HyPsd@SPACEOPTI\relax
|
|
{%
|
|
\let\HyPsd@String\@empty
|
|
\expandafter\HyPsd@CheckCatcodes#1\HyPsd@End
|
|
\global\let#1\HyPsd@String
|
|
}%
|
|
\expandafter\HyPsd@RemoveMask\expandafter
|
|
|\expandafter\@empty#1\HyPsd@End#1%
|
|
\expandafter
|
|
\HyPsd@Subst\expandafter{\HyPsd@GLYPHERR}{\relax}#1%
|
|
\let\HyPsd@String\@empty
|
|
\expandafter\HyPsd@GlyphProcess#1\relax\@empty
|
|
\global\let#1\HyPsd@String
|
|
\HyPsd@StringSubst{\\}{\textbackslash}#1%
|
|
\ifHy@unicode
|
|
\expandafter\HyPsd@StringSubst\csname 80\040\endcsname
|
|
\HyPsd@SPACEOPTI#1%
|
|
\edef\Hy@temp@A{\HyPsd@SPACEOPTI\HyPsd@SPACEOPTI\80\273}%
|
|
\expandafter\HyPsd@Subst\expandafter{\Hy@temp@A}%
|
|
{\HyPsd@SPACEOPTI\80\273}#1%
|
|
\else
|
|
\HyPsd@StringSubst{\040}\HyPsd@SPACEOPTI#1%
|
|
\expandafter\HyPsd@Subst\expandafter{%
|
|
\expandafter\HyPsd@SPACEOPTI\expandafter\HyPsd@SPACEOPTI
|
|
\string\273}{\HyPsd@SPACEOPTI\273}#1%
|
|
\fi
|
|
\ifHy@unicode
|
|
\HyPsd@StringSubst{\)}{\80\051}#1%
|
|
\HyPsd@Subst){\80\051}#1%
|
|
\let\HyPsd@empty\relax
|
|
\expandafter\HyPsd@StringSubst\csname 80\051\endcsname
|
|
{\HyPsd@empty\80\051}#1%
|
|
\else
|
|
\HyPsd@StringSubst{\)}{\051}#1%
|
|
\HyPsd@Subst){\051}#1%
|
|
\let\HyPsd@empty\relax
|
|
\HyPsd@StringSubst{\051}{\HyPsd@empty\string\)}#1%
|
|
\fi
|
|
\expandafter\HyPsd@Subst\expandafter{\/}\HyPsd@empty#1%
|
|
\ltx@IfUndefined{@xspace}{%
|
|
}{%
|
|
\let\HyPsd@xspace\relax
|
|
\expandafter\HyPsd@Subst\expandafter
|
|
{\HyPsd@XSPACE}\HyPsd@xspace#1%
|
|
\let\HyPsd@xspace\HyPsd@doxspace
|
|
}%
|
|
\xdef#1{#1\HyPsd@empty}%
|
|
\HyPsd@Subst{---}\textemdash#1%
|
|
\HyPsd@Subst{--}\textendash#1%
|
|
\HyPsd@Subst{!`}\textexclamdown#1%
|
|
\HyPsd@Subst{?`}\textquestiondown#1%
|
|
\let\HyPsd@empty\@empty
|
|
\ifHy@unicode
|
|
\HyPsd@StringSubst\(\textparenleft#1%
|
|
\HyPsd@Subst(\textparenleft#1%
|
|
\else
|
|
\HyPsd@StringSubst\({\050}#1%
|
|
\HyPsd@Subst({\050}#1%
|
|
\HyPsd@StringSubst{\050}{\string\(}#1%
|
|
\fi
|
|
\ifHy@unicode
|
|
\edef\HyPsd@SPACEOPTI{\80\040}%
|
|
\else
|
|
\let\HyPsd@SPACEOPTI\HyPsd@spaceopti
|
|
\fi
|
|
\xdef#1{#1\@empty}%
|
|
\fi
|
|
\endgroup
|
|
\begingroup
|
|
\ifHy@unicode
|
|
\HyPsd@ConvertToUnicode#1%
|
|
\ifx\HyPsd@pdfencoding\HyPsd@pdfencoding@auto
|
|
\ltx@IfUndefined{StringEncodingConvertTest}{%
|
|
}{%
|
|
\EdefUnescapeString\HyPsd@temp#1%
|
|
\ifxetex
|
|
\let\HyPsd@UnescapedString\HyPsd@temp
|
|
\StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
|
|
{utf16be}{ascii-print}{%
|
|
\EdefEscapeString\HyPsd@temp\HyPsd@temp
|
|
\global\let#1\HyPsd@temp
|
|
\HyPsd@EscapeTeX#1%
|
|
\Hy@unicodefalse
|
|
}{%
|
|
\HyPsd@EscapeTeX#1%
|
|
}%
|
|
\else
|
|
\StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
|
|
{utf16be}{pdfdoc}{%
|
|
\EdefEscapeString\HyPsd@temp\HyPsd@temp
|
|
\global\let#1\HyPsd@temp
|
|
\HyPsd@EscapeTeX#1%
|
|
\Hy@unicodefalse
|
|
}{}%
|
|
\fi
|
|
}%
|
|
\fi
|
|
\fi
|
|
\pdfstringdefPostHook#1%
|
|
\endgroup
|
|
}
|
|
\def\Hy@pdfstringdef#1#2{%
|
|
\pdfstringdef\Hy@gtemp{#2}%
|
|
\let#1\Hy@gtemp
|
|
}
|
|
\@ifpackageloaded{linguex}{%
|
|
\let\HyLinguex@OrgB\b
|
|
\let\HyLinguex@OrgC\c
|
|
\let\HyLinguex@OrgD\d
|
|
\def\HyLinguex@Restore{%
|
|
\let\b\HyLinguex@OrgB
|
|
\let\c\HyLinguex@OrgC
|
|
\let\d\HyLinguex@OrgD
|
|
}%
|
|
\Hy@AtEndOfPackage{%
|
|
\pdfstringdefDisableCommands{%
|
|
\ltx@IfUndefined{oldb}{}{\let\b\oldb}%
|
|
\ltx@IfUndefined{oldc}{}{\let\c\oldc}%
|
|
\ltx@IfUndefined{oldd}{}{\let\d\oldd}%
|
|
}%
|
|
}%
|
|
}{%
|
|
\let\HyLinguex@Restore\relax
|
|
}%
|
|
\def\Hy@SaveCatcodeSettings#1{%
|
|
\expandafter\edef\csname Hy@cat@#1\endcsname{%
|
|
\endlinechar=\the\endlinechar\relax
|
|
\catcode32 \the\catcode32\relax % (space)
|
|
\catcode34 \the\catcode34\relax % "
|
|
\catcode35 \the\catcode35\relax % #
|
|
\catcode37 \the\catcode37\relax % (percent)
|
|
\catcode40 \the\catcode40\relax % (
|
|
\catcode41 \the\catcode41\relax % )
|
|
\catcode42 \the\catcode42\relax % *
|
|
\catcode46 \the\catcode46\relax % .
|
|
\catcode58 \the\catcode58\relax % :
|
|
\catcode60 \the\catcode60\relax % <
|
|
\catcode61 \the\catcode61\relax % =
|
|
\catcode62 \the\catcode62\relax % >
|
|
\catcode64 \the\catcode64\relax % @
|
|
\catcode91 \the\catcode91\relax % [
|
|
\catcode92 \the\catcode92\relax % \
|
|
\catcode93 \the\catcode93\relax % ]
|
|
\catcode123 \the\catcode123\relax % {
|
|
\catcode124 \the\catcode124\relax % |
|
|
\catcode125 \the\catcode125\relax % }
|
|
}%
|
|
\endlinechar=-1 %
|
|
\catcode32 10 % (space)
|
|
\catcode34 12 % "
|
|
\catcode35 6 % #
|
|
\catcode37 14 % (percent)
|
|
\catcode40 12 % (
|
|
\catcode41 12 % )
|
|
\catcode42 12 % *
|
|
\catcode46 12 % .
|
|
\catcode58 12 % :
|
|
\catcode60 12 % <
|
|
\catcode61 12 % =
|
|
\catcode62 12 % >
|
|
\catcode91 12 % [
|
|
\catcode92 0 % \
|
|
\catcode93 12 % ]
|
|
\catcode123 1 % {
|
|
\catcode124 12 % |
|
|
\catcode125 2 % }
|
|
\makeatletter
|
|
}
|
|
\def\Hy@RestoreCatcodeSettings#1{%
|
|
\csname Hy@cat@#1\endcsname
|
|
\expandafter\let\csname Hy@cat@#1\endcsname\relax
|
|
}
|
|
\@ifundefined{T@PD1}{%
|
|
\Hy@SaveCatcodeSettings{pd1}%
|
|
\input{pd1enc.def}%
|
|
\Hy@RestoreCatcodeSettings{pd1}%
|
|
\HyLinguex@Restore
|
|
}{}
|
|
\DeclareFontFamily{PD1}{pdf}{}
|
|
\DeclareFontShape{PD1}{pdf}{m}{n}{ <-> cmr10 }{}
|
|
\DeclareFontSubstitution{PD1}{pdf}{m}{n}
|
|
\def\HyPsd@LoadUnicode{%
|
|
\@ifundefined{T@PU}{%
|
|
\Hy@SaveCatcodeSettings{pu}%
|
|
\input{puenc.def}%
|
|
\Hy@RestoreCatcodeSettings{pu}%
|
|
\HyLinguex@Restore
|
|
}{}%
|
|
\DeclareFontFamily{PU}{pdf}{}%
|
|
\DeclareFontShape{PU}{pdf}{m}{n}{ <-> cmr10 }{}%
|
|
\DeclareFontSubstitution{PU}{pdf}{m}{n}%
|
|
\HyPsd@LoadExtra
|
|
\let\HyPsd@LoadUnicode\relax
|
|
}
|
|
\def\HyPsd@LoadExtra{%
|
|
\ifHy@psdextra
|
|
\ltx@iffileloaded{puenc.def}{%
|
|
\Hy@SaveCatcodeSettings{psdextra}%
|
|
\input{psdextra.def}%
|
|
\Hy@RestoreCatcodeSettings{psdextra}%
|
|
\let\HyPsd@LoadExtra\relax
|
|
}{}%
|
|
\fi
|
|
}
|
|
\def\texorpdfstring{%
|
|
\ifHy@pdfstring
|
|
\expandafter\@secondoftwo
|
|
\else
|
|
\expandafter\@firstoftwo
|
|
\fi
|
|
}
|
|
\@ifundefined{pdfstringdefPreHook}{%
|
|
\let\pdfstringdefPreHook\@empty
|
|
}{}
|
|
\@ifundefined{pdfstringdefPostHook}{%
|
|
\let\pdfstringdefPostHook\@gobble
|
|
}{}
|
|
\def\pdfstringdefDisableCommands{%
|
|
\begingroup
|
|
\makeatletter
|
|
\HyPsd@DisableCommands
|
|
}
|
|
\long\def\HyPsd@DisableCommands#1{%
|
|
\ltx@GlobalAppendToMacro\pdfstringdefPreHook{#1}%
|
|
\endgroup
|
|
}
|
|
\let\HyPsd@pdfstringdefDisableCommands\pdfstringdefDisableCommands
|
|
\AtBeginDocument{%
|
|
\@ifundefined{pdfstringdefDisableCommands}{%
|
|
\let\pdfstringdefDisableCommands\HyPsd@pdfstringdefDisableCommands
|
|
}{}%
|
|
}
|
|
\def\pdfstringdefWarn#1{%
|
|
\expandafter\noexpand\csname<>-\string#1\endcsname
|
|
}
|
|
\begingroup
|
|
\catcode0=12 %
|
|
\def\x{\endgroup
|
|
\def\HyPsd@ignorespaces{%
|
|
\romannumeral\expandafter`\expandafter^^@%
|
|
\romannumeral`^^@%
|
|
}%
|
|
}%
|
|
\x
|
|
\def\HyPsd@BabelPatch{%
|
|
\let\HyOrg@languageshorthands\languageshorthands
|
|
\let\languageshorthands\HyPsd@LanguageShorthands
|
|
}
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname pdf@strcmp\endcsname\relax
|
|
\let\HyPsd@langshort@system\@empty
|
|
\def\HyPsd@LanguageShorthands#1{%
|
|
\expandafter\ifx\csname HyPsd@langshort@#1\endcsname
|
|
\HyPsd@langshort@system
|
|
\expandafter\@gobble
|
|
\else
|
|
\expandafter\@firstofone
|
|
\fi
|
|
{%
|
|
\HyOrg@languageshorthands{#1}%
|
|
}%
|
|
}%
|
|
\else
|
|
\def\HyPsd@LanguageShorthands#1{%
|
|
\ifnum\pdf@strcmp{#1}{system}=\z@
|
|
\expandafter\@gobble
|
|
\else
|
|
\expandafter\@firstofone
|
|
\fi
|
|
{%
|
|
\HyOrg@languageshorthands{#1}%
|
|
}%
|
|
}%
|
|
\fi
|
|
\def\Hy@temp{%
|
|
\@ifpackageloaded{babel}{%
|
|
\@ifpackagelater{babel}{2008/03/16}{%
|
|
\let\Hy@temp\@empty
|
|
}{%
|
|
\def\HyPsd@BabelPatch{%
|
|
\let\HyOrg@languageshorthands\languageshorthands
|
|
}%
|
|
}%
|
|
}{}%
|
|
}
|
|
\Hy@temp
|
|
\expandafter\Hy@AtBeginDocument\expandafter{\Hy@temp}
|
|
\newif\ifHy@next
|
|
\ltx@IfUndefined{danish@sh@"@sel}{}{%
|
|
\def\HyPsd@babel@danish{%
|
|
\declare@shorthand{danish}{"|}{}%
|
|
\declare@shorthand{danish}{"~}{-}%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{dutch@sh@"@sel}{}{%
|
|
\def\HyPsd@babel@dutch{%
|
|
\declare@shorthand{dutch}{"|}{}%
|
|
\declare@shorthand{dutch}{"~}{-}%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{finnish@sh@"@sel}{}{%
|
|
\def\HyPsd@babel@finnish{%
|
|
\declare@shorthand{finnish}{"|}{}%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{french@sh@:@sel}{}{%
|
|
\def\HyPsd@babel@frenchb{%
|
|
\def\guill@spacing{ }%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{german@sh@"@sel}{}{%
|
|
\def\HyPsd@babel@german{%
|
|
\declare@shorthand{german}{"f}{f}%
|
|
\declare@shorthand{german}{"|}{}%
|
|
\declare@shorthand{german}{"~}{-}%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{macedonian@sh@"@sel}{}{%
|
|
\def\HyPsd@babel@macedonian{%
|
|
\declare@shorthand{macedonian}{"|}{}%
|
|
\declare@shorthand{macedonian}{"~}{-}%
|
|
}%
|
|
}{}
|
|
\ltx@IfUndefined{ngerman@sh@"@sel}{}{%
|
|
\def\HyPsd@babel@ngerman{%
|
|
\declare@shorthand{ngerman}{"|}{}%
|
|
\declare@shorthand{ngerman}{"~}{-}%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{portuges@sh@"@sel}{}{%
|
|
\def\HyPsd@babel@portuges{%
|
|
\declare@shorthand{portuges}{"|}{}%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{russian@sh@"@sel}{}{%
|
|
\def\HyPsd@babel@russian{%
|
|
\declare@shorthand{russian}{"|}{}%
|
|
\declare@shorthand{russian}{"~}{-}%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{slovene@sh@"@sel}{}{%
|
|
\def\HyPsd@babel@slovene{%
|
|
\declare@shorthand{slovene}{"|}{}%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{spanish@sh@>@sel}{}{%
|
|
\def\HyPsd@babel@spanish{%
|
|
\declare@shorthand{spanish}{<<}{\guillemotleft}%
|
|
\declare@shorthand{spanish}{>>}{\guillemotright}%
|
|
\declare@shorthand{spanish}{"=}{-}%
|
|
\declare@shorthand{spanish}{"~}{-}%
|
|
\declare@shorthand{spanish}{"!}{\textexclamdown}%
|
|
\declare@shorthand{spanish}{"?}{\textquestiondown}%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{swedish@sh@"@sel}{}{%
|
|
\def\HyPsd@babel@swedish{%
|
|
\declare@shorthand{swedish}{"|}{}%
|
|
\declare@shorthand{swedish}{"~}{-}%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{ukrainian@sh@"@sel}{}{%
|
|
\def\HyPsd@babel@ukrainian{%
|
|
\declare@shorthand{ukrainian}{"|}{}%
|
|
\declare@shorthand{ukrainian}{"~}{-}%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{usorbian@sh@"@sel}{}{%
|
|
\def\HyPsd@babel@usorbian{%
|
|
\declare@shorthand{usorbian}{"f}{f}%
|
|
\declare@shorthand{usorbian}{"|}{}%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{greek@sh@\string~@sel}{%
|
|
\let\HyPsd@GreekPatch\@empty
|
|
}{%
|
|
\def\HyPsd@GreekPatch{%
|
|
\let\greeknumeral\HyPsd@greeknumeral
|
|
\let\Greeknumeral\HyPsd@Greeknumeral
|
|
}%
|
|
}
|
|
\def\HyPsd@greeknumeral#1{%
|
|
\HyPsd@GreekNum\@firstoftwo{#1}%
|
|
}
|
|
\def\HyPsd@Greeknumeral#1{%
|
|
\HyPsd@GreekNum\@secondoftwo{#1}%
|
|
}
|
|
\def\HyPsd@GreekNum#1#2{%
|
|
\ifHy@unicode
|
|
\ifnum#2<\@ne
|
|
\@arabic{#2}%
|
|
\else
|
|
\ifnum#2<1000000 %
|
|
\HyPsd@@GreekNum#1{#2}%
|
|
\else
|
|
\@arabic{#2}%
|
|
\fi
|
|
\fi
|
|
\else
|
|
\@arabic{#2}%
|
|
\fi
|
|
}
|
|
\def\HyPsd@@GreekNum#1#2{%
|
|
\ifnum#2<\@m
|
|
\ifnum#2<10 %
|
|
\expandafter\HyPsd@GreekNumI
|
|
\expandafter\@gobble\expandafter#1\number#2%
|
|
\else
|
|
\ifnum#2<100 %
|
|
\expandafter\HyPsd@GreekNumII
|
|
\expandafter\@gobble\expandafter#1\number#2%
|
|
\else
|
|
\expandafter\HyPsd@GreekNumIII
|
|
\expandafter\@gobble\expandafter#1\number#2%
|
|
\fi
|
|
\fi
|
|
\ifnum#2>\z@
|
|
\textnumeralsigngreek
|
|
\fi
|
|
\else
|
|
\ifnum#2<\@M
|
|
\expandafter\HyPsd@GreekNumIV\expandafter#1\number#2%
|
|
\else
|
|
\ifnum#2<100000 %
|
|
\expandafter\HyPsd@GreekNumV\expandafter#1\number#2%
|
|
\else
|
|
\expandafter\HyPsd@GreekNumVI\expandafter#1\number#2%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\HyPsd@GreekNumI#1#2#3{%
|
|
#1{%
|
|
\ifnum#3>\z@
|
|
\textnumeralsignlowergreek
|
|
\fi
|
|
}%
|
|
\expandafter#2%
|
|
\ifcase#3 %
|
|
{}{}%
|
|
\or\textalpha\textAlpha
|
|
\or\textbeta\textBeta
|
|
\or\textgamma\textGamma
|
|
\or\textdelta\textDelta
|
|
\or\textepsilon\textEpsilon
|
|
\or\textstigmagreek\textStigmagreek
|
|
\or\textzeta\textZeta
|
|
\or\texteta\textEta
|
|
\or\texttheta\textTheta
|
|
\else
|
|
{}{}%
|
|
\fi
|
|
}
|
|
\def\HyPsd@GreekNumII#1#2#3#4{%
|
|
#1{%
|
|
\ifnum#3>\z@
|
|
\textnumeralsignlowergreek
|
|
\fi
|
|
}%
|
|
\expandafter#2%
|
|
\ifcase#3 %
|
|
{}{}%
|
|
\or\textiota\textIota
|
|
\or\textkappa\textKappa
|
|
\or\textlambda\textLambda
|
|
\or\textmu\textMu
|
|
\or\textnu\textNu
|
|
\or\textxi\textXi
|
|
\or\textomicron\textOmicron
|
|
\or\textpi\textPi
|
|
\or\textkoppagreek\textKoppagreek
|
|
\else
|
|
{}{}%
|
|
\fi
|
|
\HyPsd@GreekNumI#1#2#4%
|
|
}
|
|
\def\HyPsd@GreekNumIII#1#2#3#4#5{%
|
|
#1{%
|
|
\ifnum#3>\z@
|
|
\textnumeralsignlowergreek
|
|
\fi
|
|
}%
|
|
\expandafter#2%
|
|
\ifcase#3 %
|
|
{}{}%
|
|
\or\textrho\textRho
|
|
\or\textsigma\textSigma
|
|
\or\texttau\textTau
|
|
\or\textupsilon\textUpsilon
|
|
\or\textphi\textPhi
|
|
\or\textchi\textChi
|
|
\or\textpsi\textPsi
|
|
\or\textomega\textOmega
|
|
\or\textsampigreek\textSampigreek
|
|
\else
|
|
{}{}%
|
|
\fi
|
|
\HyPsd@GreekNumII#1#2#4#5%
|
|
}
|
|
\def\HyPsd@GreekNumIV#1#2#3#4#5{%
|
|
\HyPsd@GreekNumI\@firstofone#1#2%
|
|
\HyPsd@@GreekNum#1{#3#4#5}%
|
|
}
|
|
\def\HyPsd@GreekNumV#1#2#3#4#5#6{%
|
|
\HyPsd@GreekNumII\@firstofone#1#2#3%
|
|
\HyPsd@@GreekNum#1{#4#5#6}%
|
|
}
|
|
\def\HyPsd@GreekNumVI#1#2#3#4#5#6#7{%
|
|
\HyPsd@GreekNumIII\@firstofone#1#2#3#4%
|
|
\HyPsd@@GreekNum#1{#5#6#7}%
|
|
}
|
|
\def\HyPsd@SpanishPatch{%
|
|
\ltx@IfUndefined{es@save@dot}{%
|
|
}{%
|
|
\let\.\es@save@dot
|
|
}%
|
|
}
|
|
\def\HyPsd@RussianPatch{%
|
|
\ltx@IfUndefined{russian@sh@"@-@}{%
|
|
}{%
|
|
\@namedef{russian@sh@"@-@}{-}%
|
|
}%
|
|
}
|
|
\RequirePackage{intcalc}[2007/09/27]
|
|
\def\HyPsd@CJKhook{%
|
|
\ltx@ifpackageloaded{CJK}{%
|
|
\let\CJK@kern\relax
|
|
\let\CJKkern\relax
|
|
\let\CJK@CJK\relax
|
|
\ifHy@CJKbookmarks
|
|
\HyPsd@CJKhook@bookmarks
|
|
\fi
|
|
\HyPsd@CJKhook@unicode
|
|
}{}%
|
|
}
|
|
\begingroup
|
|
\catcode"7F=\active
|
|
\toks@{%
|
|
\let\CJK@ignorespaces\empty
|
|
\def\CJK@char#1{\@gobbletwo}%
|
|
\let\CJK@charx\@gobblefour
|
|
\let\CJK@punctchar\@gobblefour
|
|
\def\CJK@punctcharx#1{\@gobblefour}%
|
|
\catcode"7F=\active
|
|
\def^^7f#1^^7f#2^^7f{%
|
|
\string #1\HyPsd@DecimalToOctal{#2}%
|
|
}%
|
|
% ... ?
|
|
\ifHy@unicode
|
|
\def\Hy@cjkpu{\80}%
|
|
\else
|
|
\let\Hy@cjkpu\@empty
|
|
\fi
|
|
\HyPsd@CJKActiveChars
|
|
}%
|
|
\count@=127 %
|
|
\@whilenum\count@<255 \do{%
|
|
\advance\count@ by 1 %
|
|
\lccode`\~=\count@
|
|
\lowercase{%
|
|
\toks@\expandafter{\the\toks@ ~}%
|
|
}%
|
|
}%
|
|
\toks@\expandafter{\the\toks@ !}%
|
|
\xdef\HyPsd@CJKhook@bookmarks{%
|
|
\the\toks@
|
|
}%
|
|
\endgroup
|
|
\def\HyPsd@CJKActiveChars#1{%
|
|
\ifx#1!%
|
|
\let\HyPsd@CJKActiveChars\relax
|
|
\else
|
|
\edef#1{\noexpand\Hy@cjkpu\string#1}%
|
|
\fi
|
|
\HyPsd@CJKActiveChars
|
|
}
|
|
\def\HyPsd@DecimalToOctal#1{%
|
|
\ifcase #1 %
|
|
\000\or \001\or \002\or \003\or \004\or \005\or \006\or \007%
|
|
\or \010\or \011\or \012\or \013\or \014\or \015\or \016\or \017%
|
|
\or \020\or \021\or \022\or \023\or \024\or \025\or \026\or \027%
|
|
\or \030\or \031\or \032\or \033\or \034\or \035\or \036\or \037%
|
|
\or \040\or \041\or \042\or \043\or \044\or \045\or \046\or \047%
|
|
\or \050\or \051\or \052\or \053\or \054\or \055\or \056\or \057%
|
|
\or 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7%
|
|
\or 8\or 9\or \072\or \073\or \074\or \075\or \076\or \077%
|
|
\or @\or A\or B\or C\or D\or E\or F\or G%
|
|
\or H\or I\or J\or K\or L\or M\or N\or O%
|
|
\or P\or Q\or R\or S\or T\or U\or V\or W%
|
|
\or X\or Y\or Z\or \133\or \134\or \135\or \136\or \137%
|
|
\or \140\or a\or b\or c\or d\or e\or f\or g%
|
|
\or h\or i\or j\or k\or l\or m\or n\or o%
|
|
\or p\or q\or r\or s\or t\or u\or v\or w%
|
|
\or x\or y\or z\or \173\or \174\or \175\or \176\or \177%
|
|
\or \200\or \201\or \202\or \203\or \204\or \205\or \206\or \207%
|
|
\or \210\or \211\or \212\or \213\or \214\or \215\or \216\or \217%
|
|
\or \220\or \221\or \222\or \223\or \224\or \225\or \226\or \227%
|
|
\or \230\or \231\or \232\or \233\or \234\or \235\or \236\or \237%
|
|
\or \240\or \241\or \242\or \243\or \244\or \245\or \246\or \247%
|
|
\or \250\or \251\or \252\or \253\or \254\or \255\or \256\or \257%
|
|
\or \260\or \261\or \262\or \263\or \264\or \265\or \266\or \267%
|
|
\or \270\or \271\or \272\or \273\or \274\or \275\or \276\or \277%
|
|
\or \300\or \301\or \302\or \303\or \304\or \305\or \306\or \307%
|
|
\or \310\or \311\or \312\or \313\or \314\or \315\or \316\or \317%
|
|
\or \320\or \321\or \322\or \323\or \324\or \325\or \326\or \327%
|
|
\or \330\or \331\or \332\or \333\or \334\or \335\or \336\or \337%
|
|
\or \340\or \341\or \342\or \343\or \344\or \345\or \346\or \347%
|
|
\or \350\or \351\or \352\or \353\or \354\or \355\or \356\or \357%
|
|
\or \360\or \361\or \362\or \363\or \364\or \365\or \366\or \367%
|
|
\or \370\or \371\or \372\or \373\or \374\or \375\or \376\or \377%
|
|
\fi
|
|
}
|
|
\def\HyPsd@CJKhook@unicode{%
|
|
\let\Unicode\HyPsd@CJK@Unicode
|
|
\let\CJKnumber\HyPsd@CJKnumber
|
|
\let\CJKdigits\HyPsd@CJKdigits
|
|
}
|
|
\def\HyPsd@CJK@Unicode#1#2{%
|
|
\ifnum#1<256 %
|
|
\HyPsd@DecimalToOctalFirst{#1}%
|
|
\HyPsd@DecimalToOctalSecond{#2}%
|
|
\else
|
|
\933%
|
|
\expandafter\expandafter\expandafter\HyPsd@HighA
|
|
\intcalcDiv{#1}{4}!%
|
|
\933%
|
|
\ifcase\intcalcMod{#1}{4} %
|
|
4\or 5\or 6\or 7%
|
|
\fi
|
|
\HyPsd@DecimalToOctalSecond{#2}%
|
|
\fi
|
|
}
|
|
\def\HyPsd@HighA#1!{%
|
|
\expandafter\expandafter\expandafter\HyPsd@HighB
|
|
\IntCalcDiv#1!64!!%
|
|
\expandafter\expandafter\expandafter\HyPsd@HighD
|
|
\IntCalcMod#1!64!!%
|
|
}
|
|
\def\HyPsd@HighB#1!{%
|
|
\expandafter\expandafter\expandafter\HyPsd@HighC
|
|
\IntCalcDec#1!!%
|
|
}
|
|
\def\HyPsd@HighC#1!{%
|
|
\IntCalcDiv#1!4!%
|
|
\@backslashchar
|
|
\IntCalcMod#1!4!%
|
|
}
|
|
\def\HyPsd@HighD#1!{%
|
|
\ifcase\IntCalcDiv#1!8! %
|
|
0\or 1\or 2\or 3\or 4\or 5\or 6\or 7%
|
|
\fi
|
|
\ifcase\IntCalcMod#1!8! %
|
|
0\or 1\or 2\or 3\or 4\or 5\or 6\or 7%
|
|
\fi
|
|
}
|
|
\def\HyPsd@DecimalToOctalFirst#1{%
|
|
\9%
|
|
\ifcase#1 %
|
|
000\or 001\or 002\or 003\or 004\or 005\or 006\or 007%
|
|
\or 010\or 011\or 012\or 013\or 014\or 015\or 016\or 017%
|
|
\or 020\or 021\or 022\or 023\or 024\or 025\or 026\or 027%
|
|
\or 030\or 031\or 032\or 033\or 034\or 035\or 036\or 037%
|
|
\or 040\or 041\or 042\or 043\or 044\or 045\or 046\or 047%
|
|
\or 050\or 051\or 052\or 053\or 054\or 055\or 056\or 057%
|
|
\or 060\or 061\or 062\or 063\or 064\or 065\or 066\or 067%
|
|
\or 070\or 071\or 072\or 073\or 074\or 075\or 076\or 077%
|
|
\or 100\or 101\or 102\or 103\or 104\or 105\or 106\or 107%
|
|
\or 120\or 111\or 112\or 113\or 114\or 115\or 116\or 117%
|
|
\or 120\or 121\or 122\or 123\or 124\or 125\or 126\or 127%
|
|
\or 130\or 131\or 132\or 133\or 134\or 135\or 136\or 137%
|
|
\or 140\or 141\or 142\or 143\or 144\or 145\or 146\or 147%
|
|
\or 150\or 151\or 152\or 153\or 154\or 155\or 156\or 157%
|
|
\or 160\or 161\or 162\or 163\or 164\or 165\or 166\or 167%
|
|
\or 170\or 171\or 172\or 173\or 174\or 175\or 176\or 177%
|
|
\or 200\or 201\or 202\or 203\or 204\or 205\or 206\or 207%
|
|
\or 210\or 211\or 212\or 213\or 214\or 215\or 216\or 217%
|
|
\or 220\or 221\or 222\or 223\or 224\or 225\or 226\or 227%
|
|
\or 230\or 231\or 232\or 233\or 234\or 235\or 236\or 237%
|
|
\or 240\or 241\or 242\or 243\or 244\or 245\or 246\or 247%
|
|
\or 250\or 251\or 252\or 253\or 254\or 255\or 256\or 257%
|
|
\or 260\or 261\or 262\or 263\or 264\or 265\or 266\or 267%
|
|
\or 270\or 271\or 272\or 273\or 274\or 275\or 276\or 277%
|
|
\or 300\or 301\or 302\or 303\or 304\or 305\or 306\or 307%
|
|
\or 310\or 311\or 312\or 313\or 314\or 315\or 316\or 317%
|
|
\or 320\or 321\or 322\or 323\or 324\or 325\or 326\or 327%
|
|
\or 330\or 331\or 332\or 333\or 334\or 335\or 336\or 337%
|
|
\or 340\or 341\or 342\or 343\or 344\or 345\or 346\or 347%
|
|
\or 350\or 351\or 352\or 353\or 354\or 355\or 356\or 357%
|
|
\or 360\or 361\or 362\or 363\or 364\or 365\or 366\or 367%
|
|
\or 370\or 371\or 372\or 373\or 374\or 375\or 376\or 377%
|
|
\fi
|
|
}
|
|
\def\HyPsd@DecimalToOctalSecond#1{%
|
|
\ifcase #1 %
|
|
\000\or \001\or \002\or \003\or \004\or \005\or \006\or \007%
|
|
\or \010\or \011\or \012\or \013\or \014\or \015\or \016\or \017%
|
|
\or \020\or \021\or \022\or \023\or \024\or \025\or \026\or \027%
|
|
\or \030\or \031\or \032\or \033\or \034\or \035\or \036\or \037%
|
|
\or \040\or \041\or \042\or \043\or \044\or \045\or \046\or \047%
|
|
\or \050\or \051\or \052\or \053\or \054\or \055\or \056\or \057%
|
|
\or \060\or \061\or \062\or \063\or \064\or \065\or \066\or \067%
|
|
\or \070\or \071\or \072\or \073\or \074\or \075\or \076\or \077%
|
|
\or \100\or \101\or \102\or \103\or \104\or \105\or \106\or \107%
|
|
\or \110\or \111\or \112\or \113\or \114\or \115\or \116\or \117%
|
|
\or \120\or \121\or \122\or \123\or \124\or \125\or \126\or \127%
|
|
\or \130\or \131\or \132\or \133\or \134\or \135\or \136\or \137%
|
|
\or \140\or \141\or \142\or \143\or \144\or \145\or \146\or \147%
|
|
\or \150\or \151\or \152\or \153\or \154\or \155\or \156\or \157%
|
|
\or \160\or \161\or \162\or \163\or \164\or \165\or \166\or \167%
|
|
\or \170\or \171\or \172\or \173\or \174\or \175\or \176\or \177%
|
|
\or \200\or \201\or \202\or \203\or \204\or \205\or \206\or \207%
|
|
\or \210\or \211\or \212\or \213\or \214\or \215\or \216\or \217%
|
|
\or \220\or \221\or \222\or \223\or \224\or \225\or \226\or \227%
|
|
\or \230\or \231\or \232\or \233\or \234\or \235\or \236\or \237%
|
|
\or \240\or \241\or \242\or \243\or \244\or \245\or \246\or \247%
|
|
\or \250\or \251\or \252\or \253\or \254\or \255\or \256\or \257%
|
|
\or \260\or \261\or \262\or \263\or \264\or \265\or \266\or \267%
|
|
\or \270\or \271\or \272\or \273\or \274\or \275\or \276\or \277%
|
|
\or \300\or \301\or \302\or \303\or \304\or \305\or \306\or \307%
|
|
\or \310\or \311\or \312\or \313\or \314\or \315\or \316\or \317%
|
|
\or \320\or \321\or \322\or \323\or \324\or \325\or \326\or \327%
|
|
\or \330\or \331\or \332\or \333\or \334\or \335\or \336\or \337%
|
|
\or \340\or \341\or \342\or \343\or \344\or \345\or \346\or \347%
|
|
\or \350\or \351\or \352\or \353\or \354\or \355\or \356\or \357%
|
|
\or \360\or \361\or \362\or \363\or \364\or \365\or \366\or \367%
|
|
\or \370\or \371\or \372\or \373\or \374\or \375\or \376\or \377%
|
|
\fi
|
|
}
|
|
\def\HyPsd@CJKnumber#1{%
|
|
\ifnum#1<\z@
|
|
\CJK@minus
|
|
\expandafter\HyPsd@@CJKnumber\expandafter{\number-\number#1}%
|
|
\else
|
|
\expandafter\HyPsd@@CJKnumber\expandafter{\number#1}%
|
|
\fi
|
|
}
|
|
\def\HyPsd@@CJKnumber#1{%
|
|
\ifcase#1 %
|
|
\CJK@zero\or\CJK@one\or\CJK@two\or\CJK@three\or\CJK@four\or
|
|
\CJK@five\or\CJK@six\or\CJK@seven\or\CJK@eight\or\CJK@nine\or
|
|
\CJK@ten\or\CJK@ten\CJK@one\or\CJK@ten\CJK@two\or
|
|
\CJK@ten\CJK@three\or\CJK@ten\CJK@four\or\CJK@ten\CJK@five\or
|
|
\CJK@ten\CJK@six\or\CJK@ten\CJK@seven\or\CJK@ten\CJK@eight\or
|
|
\CJK@ten\CJK@nine
|
|
\else
|
|
\ifnum#1<10000 %
|
|
\HyPsd@CJKnumberFour#1!\@empty{20}%
|
|
\@empty
|
|
\else
|
|
\ifnum#1<100000000 %
|
|
\expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
|
|
\IntCalcDiv#1!10000!%
|
|
!{}{20}%
|
|
\CJK@tenthousand
|
|
\expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
|
|
\IntCalcMod#1!10000!%
|
|
!\CJK@zero{10}%
|
|
\@empty
|
|
\else
|
|
\expandafter\HyPsd@CJKnumberLarge
|
|
\number\IntCalcDiv#1!100000000!\expandafter!%
|
|
\number\IntCalcMod#1!100000000!!%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\HyPsd@CJKnumberLarge#1!#2!{%
|
|
\HyPsd@CJKnumberFour#1!{}{20}%
|
|
\CJK@hundredmillion
|
|
\ifnum#2=\z@
|
|
\else
|
|
\expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
|
|
\IntCalcDiv#2!10000!%
|
|
!\CJK@zero{10}%
|
|
\CJK@tenthousand
|
|
\expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
|
|
\IntCalcMod#2!10000!%
|
|
!\CJK@zero{10}%
|
|
\@empty
|
|
\fi
|
|
}
|
|
\def\HyPsd@CJKnumberFour#1!#2#3{%
|
|
\ifnum#1=\z@
|
|
\expandafter\@gobble
|
|
\else
|
|
\ifnum#1<1000 %
|
|
#2%
|
|
\HyPsd@CJKnumberThree#1!{}{#3}%
|
|
\else
|
|
\HyPsd@@CJKnumber{\IntCalcDiv#1!1000!}%
|
|
\CJK@thousand
|
|
\expandafter\expandafter\expandafter\HyPsd@CJKnumberThree
|
|
\IntCalcMod#1!1000!%
|
|
!\CJK@zero{10}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\HyPsd@CJKnumberThree#1!#2#3{%
|
|
\ifnum#1=\z@
|
|
\else
|
|
\ifnum#1<100 %
|
|
#2%
|
|
\HyPsd@CJKnumberTwo#1!{}{#3}%
|
|
\else
|
|
\HyPsd@@CJKnumber{\IntCalcDiv#1!100!}%
|
|
\CJK@hundred
|
|
\expandafter\expandafter\expandafter\HyPsd@CJKnumberTwo
|
|
\IntCalcMod#1!100!%
|
|
!\CJK@zero{10}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\HyPsd@CJKnumberTwo#1!#2#3{%
|
|
\ifnum#1=\z@
|
|
\else
|
|
\ifnum#1<#3 %
|
|
#2%
|
|
\HyPsd@@CJKnumber{#1}%
|
|
\else
|
|
\HyPsd@@CJKnumber{\IntCalcDiv#1!10!}%
|
|
\CJK@ten
|
|
\ifnum\IntCalcMod#1!10!=\z@
|
|
\else
|
|
\HyPsd@@CJKnumber{\IntCalcMod#1!10!}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\HyPsd@CJKdigits#1{%
|
|
\ifx*#1\relax
|
|
\expandafter\HyPsd@@CJKdigits\expandafter\CJK@zero
|
|
\else
|
|
\HyPsd@@CJKdigits\CJK@null{#1}%
|
|
\fi
|
|
}
|
|
\def\HyPsd@@CJKdigits#1#2{%
|
|
\ifx\\#2\\%
|
|
\else
|
|
\HyPsd@@@CJKdigits#1#2\@nil
|
|
\fi
|
|
}%
|
|
\def\HyPsd@@@CJKdigits#1#2#3\@nil{%
|
|
\HyPsd@CJKdigit#1{#2}%
|
|
\ifx\\#3\\%
|
|
\expandafter\@gobble
|
|
\else
|
|
\expandafter\@firstofone
|
|
\fi
|
|
{%
|
|
\HyPsd@@@CJKdigits#1#3\@nil
|
|
}%
|
|
}
|
|
\def\HyPsd@CJKdigit#1#2{%
|
|
\ifcase#2 %
|
|
#1\or
|
|
\CJK@one\or\CJK@two\or\CJK@three\or\CJK@four\or
|
|
\CJK@five\or\CJK@six\or\CJK@seven\or\CJK@eight\or\CJK@nine
|
|
\fi
|
|
}
|
|
\def\HyPsd@inmathwarn#1#2{%
|
|
\ifx#2\expandafter
|
|
\expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax
|
|
\HyPsd@GLYPHERR
|
|
\expandafter\@gobble\string#1%
|
|
>%
|
|
\expandafter\expandafter\expandafter\HyPsd@EndWithElse
|
|
\else
|
|
\expandafter\expandafter\expandafter\HyPsd@GobbleFiFi
|
|
\fi
|
|
\else
|
|
\expandafter#2%
|
|
\fi
|
|
}
|
|
\def\HyPsd@GobbleFiFi#1\fi#2\fi{}
|
|
\def\HyPsd@EndWithElse#1\else{\else}
|
|
\def\HyPsd@add@accent#1#2{%
|
|
\HyPsd@GLYPHERR\expandafter\@gobble\string#1+\string#2>%
|
|
#2%
|
|
}%
|
|
\def\HyPsd@LetUnexpandableSpace#1{%
|
|
\expandafter\futurelet\expandafter#1\expandafter\@gobble\space\relax
|
|
}
|
|
\HyPsd@LetUnexpandableSpace\HyPsd@UnexpandableSpace
|
|
\edef\HyPsd@XSPACE{\string#\string X}
|
|
\edef\HyPsd@ITALCORR{\string#\string I}
|
|
\edef\HyPsd@GLYPHERR{\string#\string G}
|
|
\def\HyPsd@hspace#1{\HyPsd@@hspace#1*\END}
|
|
\def\HyPsd@@hspace#1*#2\END{%
|
|
\ifx\\#2\\%
|
|
\HyPsd@hspacetest{#1}%
|
|
\else
|
|
\expandafter\HyPsd@hspacetest
|
|
\fi
|
|
}
|
|
\def\HyPsd@hspacetest#1{\ifdim#1>\z@\space\fi}
|
|
\ltx@IfUndefined{tocsection}{%
|
|
\let\HyPsd@AMSclassfix\relax
|
|
}{%
|
|
\def\HyPsd@AMSclassfix{%
|
|
\let\tocpart\HyPsd@tocsection
|
|
\let\tocchapter\HyPsd@tocsection
|
|
\let\tocappendix\HyPsd@tocsection
|
|
\let\tocsection\HyPsd@tocsection
|
|
\let\tocsubsection\HyPsd@tocsection
|
|
\let\tocsubsubsection\HyPsd@tocsection
|
|
\let\tocparagraph\HyPsd@tocsection
|
|
}%
|
|
\def\HyPsd@tocsection#1#2#3{%
|
|
\if @#2@\else\if @#1@\else#1 \fi#2. \fi
|
|
#3%
|
|
}%
|
|
}
|
|
\def\HyPsd@href#1#{\@secondoftwo}
|
|
\def\HyPsd@ref#1{\HyPsd@@ref#1*\END}%
|
|
\def\HyPsd@@ref#1*#2\END{%
|
|
\ifx\\#2\\%
|
|
\HyPsd@@@ref{#1}%
|
|
\else
|
|
\expandafter\HyPsd@@@ref
|
|
\fi
|
|
}%
|
|
\def\HyPsd@@@ref#1{%
|
|
\expandafter\ifx\csname r@#1\endcsname\relax
|
|
??%
|
|
\else
|
|
\expandafter\expandafter\expandafter
|
|
\@car\csname r@#1\endcsname\@nil
|
|
\fi
|
|
}
|
|
\def\HyPsd@pageref#1{\HyPsd@@pageref#1*\END}
|
|
\def\HyPsd@@pageref#1*#2\END{%
|
|
\ifx\\#2\\%
|
|
\HyPsd@@@pageref{#1}%
|
|
\else
|
|
\expandafter\HyPsd@@@pageref
|
|
\fi
|
|
}
|
|
\def\HyPsd@@@pageref#1{%
|
|
\expandafter\ifx\csname r@#1\endcsname\relax
|
|
??%
|
|
\else
|
|
\expandafter\expandafter\expandafter\expandafter
|
|
\expandafter\expandafter\expandafter\@car
|
|
\expandafter\expandafter\expandafter\@gobble
|
|
\csname r@#1\endcsname{}\@nil
|
|
\fi
|
|
}
|
|
\def\HyPsd@nameref#1{\HyPsd@@nameref#1*\END}
|
|
\def\HyPsd@@nameref#1*#2\END{%
|
|
\ifx\\#2\\%
|
|
\HyPsd@@@nameref{#1}%
|
|
\else
|
|
\expandafter\HyPsd@@@nameref
|
|
\fi
|
|
}
|
|
\def\HyPsd@@@nameref#1{%
|
|
\expandafter\ifx\csname r@#1\endcsname\relax
|
|
??%
|
|
\else
|
|
\expandafter\expandafter\expandafter\expandafter
|
|
\expandafter\expandafter\expandafter\@car
|
|
\expandafter\expandafter\expandafter\@gobbletwo
|
|
\csname r@#1\endcsname{}{}\@nil
|
|
\fi
|
|
}
|
|
\def\HyPsd@autoref#1{\HyPsd@@autoref#1*\END}
|
|
\def\HyPsd@@autoref#1*#2\END{%
|
|
\ifx\\#2\\%
|
|
\HyPsd@@@autoref{#1}%
|
|
\else
|
|
\expandafter\HyPsd@@@autoref
|
|
\fi
|
|
}
|
|
\def\HyPsd@@@autoref#1{%
|
|
\expandafter\ifx\csname r@#1\endcsname\relax
|
|
??%
|
|
\else
|
|
\expandafter\expandafter\expandafter\HyPsd@autorefname
|
|
\csname r@#1\endcsname{}{}{}{}\@nil
|
|
\expandafter\expandafter\expandafter
|
|
\@car\csname r@#1\endcsname\@nil
|
|
\fi
|
|
}
|
|
\def\HyPsd@autorefname#1#2#3#4#5\@nil{%
|
|
\ifx\\#4\\%
|
|
\else
|
|
\HyPsd@@autorefname#4.\@nil
|
|
\fi
|
|
}
|
|
\def\HyPsd@@autorefname#1.#2\@nil{%
|
|
\ltx@IfUndefined{#1autorefname}{%
|
|
\ltx@IfUndefined{#1name}{%
|
|
}{%
|
|
\csname#1name\endcsname\space
|
|
}%
|
|
}{%
|
|
\csname#1autorefname\endcsname\space
|
|
}%
|
|
}
|
|
\begingroup
|
|
\def\x#1#2{%
|
|
\endgroup
|
|
\let#1\def
|
|
\def\HyPsd@DefCommand##1##2##{%
|
|
#1%
|
|
\expandafter\noexpand
|
|
\csname\expandafter\@gobble\string##1\@empty\endcsname
|
|
\@gobble
|
|
}%
|
|
\let#2\let
|
|
\def\HyPsd@@LetCommand##1{%
|
|
\expandafter\ifx\csname##1\expandafter\endcsname
|
|
\csname iftrue\endcsname
|
|
\pdfstringdefWarn\let
|
|
\expandafter\@gobble
|
|
\else
|
|
\expandafter\ifx\csname##1\expandafter\endcsname
|
|
\csname iffalse\endcsname
|
|
\pdfstringdefWarn\let
|
|
\expandafter\expandafter\expandafter\@gobble
|
|
\else
|
|
#2%
|
|
\expandafter\noexpand
|
|
\csname##1\expandafter\expandafter\expandafter\endcsname
|
|
\fi
|
|
\fi
|
|
}%
|
|
}%
|
|
\expandafter\x\csname <def>-command\expandafter\endcsname
|
|
\csname <let>-command\endcsname
|
|
\def\HyPsd@LetCommand#1{%
|
|
\expandafter\expandafter\expandafter\HyPsd@@LetCommand
|
|
\expandafter\expandafter\expandafter{%
|
|
\expandafter\@gobble\string#1\@empty
|
|
}%
|
|
}
|
|
\def\HyPsd@ifnextchar#1{%
|
|
\pdfstringdefWarn#1%
|
|
\expandafter\@gobbletwo\@gobble
|
|
}
|
|
\def\HyPsd@protected@testopt#1{%
|
|
\pdfstringdefWarn#1%
|
|
\@gobbletwo
|
|
}
|
|
\def\HyPsd@Warning#1{%
|
|
\begingroup
|
|
\let\space\ltx@space
|
|
\Hy@Warning{#1}%
|
|
\endgroup
|
|
}
|
|
\RequirePackage{etexcmds}[2007/09/09]
|
|
\ifetex@unexpanded
|
|
\expandafter\@secondoftwo
|
|
\else
|
|
\expandafter\@firstoftwo
|
|
\fi
|
|
{%
|
|
\def\HyPsd@ProtectSpaces#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%
|
|
\HyPsd@fi
|
|
}%
|
|
\def\HyPsd@RemoveMask|#1|\HyPsd@End#2{%
|
|
\xdef#2{\etex@unexpanded\expandafter{#1}}%
|
|
}%
|
|
}
|
|
\def\HyPsd@RemoveBraces#1{%
|
|
\ifx\scrollmode#1\scrollmode
|
|
\else
|
|
\HyPsd@@RemoveBracesFi#1\HyPsd@End{#1}%
|
|
\fi
|
|
}
|
|
\def\HyPsd@@RemoveBracesFi#1#2\HyPsd@End#3\fi{%
|
|
\fi
|
|
\def\Hy@temp@A{#1#2}%
|
|
\def\Hy@temp@B{#3}%
|
|
\ifx\Hy@temp@A\Hy@temp@B
|
|
\expandafter\def\expandafter\HyPsd@String\expandafter{%
|
|
\HyPsd@String#1%
|
|
}%
|
|
\ifx\scrollmode#2\scrollmode
|
|
\else
|
|
\Hy@ReturnAfterFiFiEnd{%
|
|
\HyPsd@RemoveBraces{#2}%
|
|
}%
|
|
\fi
|
|
\else
|
|
\def\Hy@temp@A{#1}%
|
|
\HyPsd@AppendItalcorr\HyPsd@String
|
|
\ifx\Hy@temp@A\@empty
|
|
\Hy@ReturnAfterElseFiFiEnd{%
|
|
\HyPsd@RemoveBraces{#2}%
|
|
}%
|
|
\else
|
|
\HyPsd@ProtectSpaces\Hy@temp@A
|
|
\HyPsd@AppendItalcorr\Hy@temp@A
|
|
\Hy@ReturnAfterFiFiEnd{%
|
|
\expandafter\HyPsd@RemoveBraces\expandafter
|
|
{\Hy@temp@A#2}%
|
|
}%
|
|
\fi
|
|
\fi
|
|
\Hy@ReturnEnd
|
|
}
|
|
\def\HyPsd@AppendItalcorr#1{%
|
|
\expandafter\HyPsd@@AppendItalcorr\expandafter{\/}#1%
|
|
}
|
|
\def\HyPsd@@AppendItalcorr#1#2{%
|
|
\expandafter\def\expandafter#2\expandafter{#2#1}%
|
|
}
|
|
\ltx@IfUndefined{directlua}{%
|
|
}{%
|
|
\expandafter\ifx\csname\endcsname\relax\fi
|
|
}
|
|
\begingroup
|
|
\catcode`\Q=\active
|
|
\let Q\ltx@empty
|
|
\gdef\HyPsd@CheckCatcodes#1#2\HyPsd@End{%
|
|
\global\let\HyPsd@Rest\relax
|
|
\ifcat\relax\noexpand#1\relax
|
|
\ifx#1\protect
|
|
\else
|
|
\ifx#1\penalty
|
|
\setbox\z@=\hbox{%
|
|
\afterassignment\HyPsd@AfterCountRemove
|
|
\count@=#2\HyPsd@End
|
|
}%
|
|
\else
|
|
\ifx#1\kern
|
|
\setbox\z@=\hbox{%
|
|
\afterassignment\HyPsd@AfterDimenRemove
|
|
\dimen@=#2\HyPsd@End
|
|
}%
|
|
\else
|
|
\ifx#1\hskip
|
|
\setbox\z@=\hbox{%
|
|
\afterassignment\HyPsd@AfterSkipRemove
|
|
\skip@=#2\HyPsd@End
|
|
}%
|
|
\else
|
|
\HyPsd@CatcodeWarning{#1}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\else
|
|
\ifcat\noexpand#1\noexpandQ% active character
|
|
\expandafter\expandafter\expandafter\def
|
|
\expandafter\expandafter\expandafter\HyPsd@String
|
|
\expandafter\expandafter\expandafter{%
|
|
\expandafter\HyPsd@String\string#1%
|
|
}%
|
|
\else
|
|
\ifcat#1A% letter
|
|
\expandafter\def\expandafter\HyPsd@String\expandafter{%
|
|
\HyPsd@String#1%
|
|
}%
|
|
\else
|
|
\ifcat#1 % SPACE
|
|
\expandafter\def\expandafter\HyPsd@String\expandafter{%
|
|
\HyPsd@String\HyPsd@SPACEOPTI
|
|
}%
|
|
\else
|
|
\ifcat$#1%
|
|
\HyPsd@CatcodeWarning{math shift}%
|
|
\else
|
|
\ifcat%
|
|
\HyPsd@CatcodeWarning{alignment tab}%
|
|
\else
|
|
\ifcat^#1%
|
|
\HyPsd@CatcodeWarning{superscript}%
|
|
\else
|
|
\ifcat_#1%
|
|
\HyPsd@CatcodeWarning{subscript}%
|
|
\else
|
|
\expandafter\def\expandafter\HyPsd@String\expandafter{%
|
|
\HyPsd@String#1%
|
|
}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\ifx\HyPsd@Rest\relax
|
|
\ifx\scrollmode#2\scrollmode
|
|
\else
|
|
\Hy@ReturnAfterFiFiEnd{%
|
|
\HyPsd@CheckCatcodes#2\HyPsd@End
|
|
}%
|
|
\fi
|
|
\else
|
|
\ifx\HyPsd@Rest\@empty
|
|
\else
|
|
\Hy@ReturnAfterFiFiEnd{%
|
|
\expandafter\HyPsd@CheckCatcodes\HyPsd@Rest\HyPsd@End
|
|
}%
|
|
\fi
|
|
\fi
|
|
\Hy@ReturnEnd
|
|
}%
|
|
\endgroup
|
|
\def\HyPsd@AfterCountRemove#1\HyPsd@End{%
|
|
\gdef\HyPsd@Rest{#1}%
|
|
}
|
|
\def\HyPsd@AfterDimenRemove#1\HyPsd@End{%
|
|
\ifdim\ifx\HyPsd@String\@empty\z@\else\dimen@\fi>1ex %
|
|
\HyPsd@ReplaceSpaceWarning{\string\kern\space\the\dimen@}%
|
|
\gdef\HyPsd@Rest{\HyPsd@UnexpandableSpace #1}%
|
|
\else
|
|
\ifdim\dimen@=\z@
|
|
\else
|
|
\HyPsd@RemoveSpaceWarning{\string\kern\space\the\dimen@}%
|
|
\fi
|
|
\gdef\HyPsd@Rest{#1}%
|
|
\fi
|
|
}
|
|
\def\HyPsd@AfterSkipRemove#1\HyPsd@End{%
|
|
\ifdim\ifx\HyPsd@String\@empty\z@\else\skip@\fi>1ex %
|
|
\HyPsd@ReplaceSpaceWarning{\string\hskip\space\the\skip@}%
|
|
\gdef\HyPsd@Rest{\HyPsd@UnexpandableSpace #1}%
|
|
\else
|
|
\ifdim\skip@=\z@
|
|
\else
|
|
\HyPsd@RemoveSpaceWarning{\string\kern\space\the\skip@}%
|
|
\fi
|
|
\gdef\HyPsd@Rest{#1}%
|
|
\fi
|
|
}
|
|
\def\HyPsd@CatcodeWarning#1{%
|
|
\HyPsd@Warning{%
|
|
Token not allowed in a PDF string (%
|
|
\ifHy@unicode
|
|
Unicode%
|
|
\else
|
|
PDFDocEncoding%
|
|
\fi
|
|
):%
|
|
\MessageBreak removing `\HyPsd@RemoveCmdPrefix#1'%
|
|
}%
|
|
}
|
|
\begingroup
|
|
\catcode`\|=0 %
|
|
\catcode`\\=12 %
|
|
|gdef|HyPsd@RemoveCmdPrefix#1{%
|
|
|expandafter|HyPsd@@RemoveCmdPrefix
|
|
|string#1|@empty\<>-|@empty|@empty
|
|
}%
|
|
|gdef|HyPsd@@RemoveCmdPrefix#1\<>-#2|@empty#3|@empty{#1#2}%
|
|
|endgroup
|
|
\def\HyPsd@RemoveSpaceWarning#1{%
|
|
\HyPsd@Warning{%
|
|
Token not allowed in a PDF string (%
|
|
\ifHy@unicode
|
|
Unicode%
|
|
\else
|
|
PDFDocEncoding%
|
|
\fi
|
|
):%
|
|
\MessageBreak #1\MessageBreak
|
|
removed%
|
|
}%
|
|
}
|
|
\def\HyPsd@ReplaceSpaceWarning#1{%
|
|
\HyPsd@Warning{%
|
|
Token not allowed in a PDF string (%
|
|
\ifHy@unicode
|
|
Unicode%
|
|
\else
|
|
PDFDocEncoding%
|
|
\fi
|
|
):%
|
|
\MessageBreak #1\MessageBreak
|
|
replaced by space%
|
|
}%
|
|
}
|
|
\def\HyPsd@GlyphProcess#1\relax#2\@empty{%
|
|
\expandafter\def\expandafter\HyPsd@String\expandafter{%
|
|
\HyPsd@String#1%
|
|
}%
|
|
\ifx\\#2\\%
|
|
\else
|
|
\ltx@ReturnAfterFi{%
|
|
\HyPsd@GlyphProcessWarning#2\@empty
|
|
}%
|
|
\fi
|
|
}
|
|
\def\HyPsd@GlyphProcessWarning#1>#2\@empty{%
|
|
\HyPsd@@GlyphProcessWarning#1++>%
|
|
\HyPsd@GlyphProcess#2\@empty
|
|
}
|
|
\def\HyPsd@@GlyphProcessWarning#1+#2+#3>{%
|
|
\ifx\\#2\\%
|
|
\HyPsd@Warning{%
|
|
Glyph not defined in %
|
|
P\ifHy@unicode U\else D1\fi\space encoding,\MessageBreak
|
|
removing `\@backslashchar#1'%
|
|
}%
|
|
\else
|
|
\HyPsd@Warning{%
|
|
Composite letter `\@backslashchar#1+#2'\MessageBreak
|
|
not defined in P\ifHy@unicode U\else D1\fi\space encoding,%
|
|
\MessageBreak
|
|
removing `\@backslashchar#1'%
|
|
}%
|
|
\fi
|
|
}
|
|
\def\HyPsd@spaceopti#1{ % first space
|
|
\ifx\HyPsd@spaceopti#1%
|
|
\040%
|
|
\else
|
|
#1%
|
|
\fi
|
|
}%
|
|
\def\HyPsd@Subst#1#2#3{%
|
|
\def\HyPsd@@ReplaceFi##1#1##2\END\fi{%
|
|
\fi
|
|
##1%
|
|
\ifx\scrollmode##2\scrollmode
|
|
\else
|
|
#2%
|
|
\HyPsd@@ReplaceFi##2\END
|
|
\fi
|
|
}%
|
|
\xdef#3{%
|
|
\iftrue
|
|
\expandafter\HyPsd@@ReplaceFi#3#1\END
|
|
\fi
|
|
}%
|
|
}
|
|
\def\HyPsd@StringSubst#1{%
|
|
\expandafter\HyPsd@Subst\expandafter{\string#1}%
|
|
}
|
|
\begingroup
|
|
\lccode`\!=`\%%
|
|
\lccode`\|=`\\%
|
|
\lccode`\(=`\{%
|
|
\lccode`\)=`\}%
|
|
\lccode`0=\ltx@zero
|
|
\lccode`1=\ltx@zero
|
|
\lccode`3=\ltx@zero
|
|
\lccode`4=\ltx@zero
|
|
\lccode`5=\ltx@zero
|
|
\lccode`7=\ltx@zero
|
|
\lowercase{\endgroup
|
|
\def\HyPsd@EscapeTeX#1{%
|
|
\HyPsd@Subst!{|045}#1%
|
|
\HyPsd@Subst({|173}#1%
|
|
\HyPsd@Subst){|175}#1%
|
|
}%
|
|
}
|
|
\def\HyPsd@doxspace#1{%
|
|
\ifx#1\relax\else
|
|
\ifx#1.\else
|
|
\ifx#1:\else
|
|
\ifx#1,\else
|
|
\ifx#1;\else
|
|
\ifx#1!\else
|
|
\ifx#1?\else
|
|
\ifx#1/\else
|
|
\ifx#1-\else
|
|
\ifx#1'\else
|
|
\HyPsd@SPACEOPTI
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
#1%
|
|
}%
|
|
\begingroup
|
|
\catcode`\|=0 %
|
|
\catcode`\\=12 %
|
|
|gdef|HyPsd@ConvertToUnicode#1{%
|
|
|xdef#1{%
|
|
|expandafter|HyPsd@DoConvert#1|@empty|@empty|@empty
|
|
}%
|
|
|ifx#1|@empty
|
|
|else
|
|
|xdef#1{%
|
|
\376\377%
|
|
#1%
|
|
}%
|
|
|fi
|
|
}%
|
|
|gdef|HyPsd@DoConvert#1{%
|
|
|ifx#1|@empty
|
|
|else
|
|
|ltx@ReturnAfterFi{%
|
|
|ifx#1\%%
|
|
\%%
|
|
|expandafter|HyPsd@DoEscape
|
|
|else
|
|
|HyPsd@Char{#1}%
|
|
|expandafter|HyPsd@DoConvert
|
|
|fi
|
|
}%
|
|
|fi
|
|
}%
|
|
|gdef|HyPsd@DoEscape#1{%
|
|
|ifx#19%
|
|
|expandafter|HyPsd@GetTwoBytes
|
|
|else
|
|
|ltx@ReturnAfterFi{%
|
|
|ifx#18%
|
|
00%
|
|
|expandafter|HyPsd@GetTwoBytes
|
|
|else
|
|
#1%
|
|
|expandafter|HyPsd@GetOneByte
|
|
|fi
|
|
}%
|
|
|fi
|
|
}%
|
|
|gdef|HyPsd@GetTwoBytes#1\#2#3#4{%
|
|
#1\#2#3#4%
|
|
|HyPsd@DoConvert
|
|
}%
|
|
|gdef|HyPsd@GetOneByte#1#2{%
|
|
#1#2%
|
|
|HyPsd@DoConvert
|
|
}%
|
|
|endgroup
|
|
\def\HyPsd@GetNextTwoTokens#1#2#3\END#4{%
|
|
\xdef#4{#4#1#2}%
|
|
\HyPsd@@ConvertToUnicode#3\END#4%
|
|
}
|
|
\begingroup
|
|
\catcode0=9 %
|
|
\catcode`\^=7 %
|
|
\catcode`\^^^=12 %
|
|
\def\x{^^^^0000}%
|
|
\expandafter\endgroup
|
|
\ifx\x\@empty
|
|
\def\HyPsd@Char#1{%
|
|
\ifnum`#1<128 %
|
|
\@backslashchar 000#1%
|
|
\else
|
|
\ifnum`#1<65536 %
|
|
\expandafter\HyPsd@CharTwoByte\number`#1!%
|
|
\else
|
|
\expandafter\expandafter\expandafter\HyPsd@CharSurrogate
|
|
\intcalcSub{`#1}{65536}!%
|
|
\fi
|
|
\fi
|
|
}%
|
|
\def\HyPsd@CharTwoByte#1!{%
|
|
\expandafter\expandafter\expandafter\HyPsd@CharOctByte
|
|
\IntCalcDiv#1!256!!%
|
|
\expandafter\expandafter\expandafter\HyPsd@CharOctByte
|
|
\IntCalcMod#1!256!!%
|
|
}%
|
|
\def\HyPsd@CharOctByte#1!{%
|
|
\@backslashchar
|
|
\IntCalcDiv#1!64!%
|
|
\intcalcDiv{\IntCalcMod#1!64!}{8}%
|
|
\IntCalcMod#1!8!%
|
|
}%
|
|
\def\HyPsd@CharSurrogate#1!{%
|
|
\@backslashchar 33%
|
|
\IntCalcDiv#1!262144!%
|
|
\expandafter\expandafter\expandafter\HyPsd@CharOctByte
|
|
\intcalcDiv{\IntCalcMod#1!262144!}{1024}!%
|
|
\@backslashchar 33%
|
|
\expandafter\expandafter\expandafter\IntCalcAdd
|
|
\intcalcDiv{\IntCalcMod#1!1024!}{256}!4!%
|
|
\expandafter\expandafter\expandafter\HyPsd@CharOctByte
|
|
\IntCalcMod#1!256!!%
|
|
}%
|
|
\else
|
|
\def\HyPsd@Char#1{%
|
|
\@backslashchar 000#1%
|
|
}%
|
|
\fi
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname numexpr\endcsname\relax
|
|
\let\HyPsd@UTFviii\relax
|
|
\else
|
|
\begingroup
|
|
\lccode`\~=`^^f4\relax
|
|
\lowercase{\endgroup
|
|
\def\HyPsd@UTFviii{%
|
|
\let\UTFviii@two@octets\HyPsd@UTFviii@two
|
|
\let\UTFviii@three@octets\HyPsd@UTFviii@three
|
|
\let\UTFviii@four@octets\HyPsd@UTFviii@four
|
|
\ifx~\HyPsd@UTFviii@ccxliv@undef
|
|
\let~\HyPsd@UTFviii@ccxliv@def
|
|
\fi
|
|
\let\unichar\HyPsd@unichar
|
|
}%
|
|
}%
|
|
\def\HyPsd@UTFviii@ccxliv@undef{\@inpenc@undefined@{utf8}}%
|
|
\edef\HyPsd@UTFviii@ccxliv@def{%
|
|
\noexpand\UTFviii@four@octets\string ^^f4%
|
|
}%
|
|
\def\HyPsd@UTFviii@two#1#2{%
|
|
\expandafter\HyPsd@UTFviii@@two
|
|
\number\dimexpr.25\dimexpr`#1sp\expandafter\relax\expandafter|%
|
|
\number`#1\expandafter|%
|
|
\number\dimexpr.125\dimexpr`#2sp\expandafter\relax\expandafter|%
|
|
\number`#2 \@nil
|
|
}%
|
|
\def\HyPsd@UTFviii@@two#1|#2|#3|#4\@nil{%
|
|
\expandafter\8%
|
|
\number\numexpr #1-48\expandafter\relax
|
|
\csname\number\numexpr #2-4*#1\relax\expandafter\endcsname
|
|
\number\numexpr #3-8*%
|
|
\number\dimexpr.125\dimexpr#3sp\relax\relax\expandafter\relax
|
|
\number\numexpr #4-8*#3\relax
|
|
}%
|
|
\def\HyPsd@UTFviii@three#1#2#3{%
|
|
\expandafter\HyPsd@UTFviii@@three
|
|
\number\dimexpr.25\dimexpr`#1sp\expandafter\relax\expandafter|%
|
|
\number`#1\expandafter|%
|
|
\number\ifnum\numexpr`#2-128\relax <32 0\else 1\fi\expandafter|%
|
|
\number\dimexpr.25\dimexpr`#2sp\expandafter\relax\expandafter|%
|
|
\number`#2\expandafter|%
|
|
\number\dimexpr.125\dimexpr`#3sp\expandafter\relax\expandafter|%
|
|
\number`#3 \@nil
|
|
}%
|
|
\def\HyPsd@UTFviii@@three#1|#2|#3|#4|#5|#6|#7\@nil{%
|
|
\expandafter\9%
|
|
\number\numexpr #1-56\expandafter\relax
|
|
\number\numexpr 2*(#2-4*#1)+#3\expandafter\relax
|
|
\number\numexpr #4 - 32 -\ifcase#3 0\else 8\fi\expandafter\relax
|
|
\csname\number\numexpr #5-4*#4\relax\expandafter\endcsname
|
|
\number\numexpr #6-16\expandafter\relax
|
|
\number\numexpr #7-8*#6\relax
|
|
}%
|
|
\def\HyPsd@UTFviii@four#1#2{%
|
|
\expandafter\HyPsd@@UTFviii@four\number
|
|
\numexpr-1+(`#1-240)*4+\dimexpr.0625\dimexpr`#2sp-128sp%
|
|
\expandafter|\number
|
|
\numexpr`#2-16*\dimexpr.0625\dimexpr`#2sp|%
|
|
}%
|
|
\def\HyPsd@@UTFviii@four#1|#2|#3{%
|
|
\933\number\dimexpr.25\dimexpr#1sp\relax\relax
|
|
\csname\number\numexpr#1-4*\dimexpr.25\dimexpr#1sp\endcsname
|
|
\ifodd#2 %
|
|
\number\numexpr(#2-1)/2\relax
|
|
\else
|
|
\number\numexpr#2/2\relax
|
|
\fi
|
|
\number\numexpr\ifodd#2 4+\fi
|
|
\dimexpr.0625\dimexpr`#3sp-128sp\relax\relax\relax
|
|
\933%
|
|
\expandafter\HyPsd@@@UTFviii@four\number
|
|
\numexpr`#3-16*\dimexpr.0625\dimexpr`#3sp|%
|
|
}%
|
|
\def\HyPsd@@@UTFviii@four#1|#2{%
|
|
\number\numexpr4+\dimexpr.25\dimexpr#1sp\relax\relax\relax
|
|
\csname\number\numexpr#1-4*\dimexpr.25\dimexpr#1sp\endcsname
|
|
\number\dimexpr.125\dimexpr`#2sp-128sp\relax\relax
|
|
\number\numexpr`#2-8*\dimexpr.125\dimexpr`#2sp\relax\relax\relax
|
|
}%
|
|
\def\HyPsd@unichar#1{%
|
|
\ifHy@unicode
|
|
\ifnum#1>"10FFFF %
|
|
\HyPsd@UnicodeReplacementCharacter % illegal
|
|
\else
|
|
\ifnum#1>"FFFF %
|
|
\expandafter\HyPsd@unichar\expandafter{%
|
|
\number\numexpr 55296+%
|
|
\dimexpr.0009765625\dimexpr\number#1sp-\p@
|
|
\relax\relax\relax
|
|
}%
|
|
\expandafter\HyPsd@unichar\expandafter{%
|
|
\number\numexpr#1-9216%
|
|
-1024*\dimexpr.0009765625\dimexpr\number#1sp-\p@
|
|
\relax\relax\relax
|
|
}%
|
|
\else
|
|
\ifnum#1>"7FF %
|
|
\9%
|
|
\expandafter\HyPsd@unichar@first@byte\expandafter{%
|
|
\number
|
|
\dimexpr.00390625\dimexpr\number#1sp\relax\relax
|
|
}%
|
|
\else
|
|
\8%
|
|
\number\dimexpr.00390625\dimexpr\number#1sp\relax\relax
|
|
\fi
|
|
\expandafter\HyPsd@unichar@second@byte\expandafter{%
|
|
\number
|
|
\numexpr#1-256*\number
|
|
\dimexpr.00390625\dimexpr\number#1sp\relax\relax\relax
|
|
}%
|
|
\fi
|
|
\fi
|
|
\else
|
|
.% unsupported (Unicode -> PDF Doc Encoding)
|
|
\fi
|
|
}%
|
|
\def\HyPsd@UnicodeReplacementCharacter{\9377\375}%
|
|
\def\HyPsd@unichar@first@byte#1{%
|
|
\number\dimexpr.015625\dimexpr#1sp\relax\relax
|
|
\expandafter\HyPsd@unichar@octtwo\expandafter{%
|
|
\number
|
|
\numexpr#1-64*\number\dimexpr.015625\dimexpr#1sp%
|
|
\relax\relax\relax
|
|
}%
|
|
}%
|
|
\def\HyPsd@unichar@second@byte#1{%
|
|
\csname\number\dimexpr.015625\dimexpr#1sp\relax\relax\endcsname
|
|
\expandafter\HyPsd@unichar@octtwo\expandafter{%
|
|
\number
|
|
\numexpr#1-64*\number\dimexpr.015625\dimexpr#1sp%
|
|
\relax\relax\relax
|
|
}%
|
|
}%
|
|
\def\HyPsd@unichar@octtwo#1{%
|
|
\number\dimexpr.125\dimexpr#1sp\relax\relax
|
|
\number\numexpr#1-8*\number\dimexpr.125\dimexpr#1sp%
|
|
\relax\relax\relax
|
|
}%
|
|
\fi
|
|
\def\HyPsd@utf@viii@undeferr#1#2#3#4#5#6{%
|
|
\ifx\@gobble#1%
|
|
\else
|
|
[Please insert \textbackslash PrerenderUnicode%
|
|
\textbraceleft#1\textbraceright\space
|
|
into preamble]%
|
|
\fi
|
|
}%
|
|
\def\HyPsd@DieFace#1{%
|
|
\ifHy@unicode
|
|
\ifnum#1<1 %
|
|
\HyPsd@UnicodeReplacementCharacter
|
|
\else
|
|
\ifnum#1>6 %
|
|
\9046\205%
|
|
\expandafter\expandafter\expandafter
|
|
\HyPsd@DieFaceLarge\intcalcSub{#1}{6}!%
|
|
\else
|
|
\9046\20\intcalcDec{#1}%
|
|
\fi
|
|
\fi
|
|
\else
|
|
.% Die faces are not part of PDFDocEncoding
|
|
\fi
|
|
}
|
|
\def\HyPsd@DieFaceLarge#1!{%
|
|
\ifnum#1>6 %
|
|
\expandafter\ltx@firstoftwo
|
|
\else
|
|
\expandafter\ltx@secondoftwo
|
|
\fi
|
|
{%
|
|
\9046\205%
|
|
\expandafter\expandafter\expandafter
|
|
\HyPsd@DieFaceLarge\IntCalcSub#1!6!!%
|
|
}{%
|
|
\9046\20\IntCalcDec#1!%
|
|
}%
|
|
}
|
|
\def\HyPsd@MoonPha#1{%
|
|
\ifcase\intcalcNum{#1} %
|
|
\HyPsd@UnicodeReplacementCharacter
|
|
\or % 1
|
|
\9330\074\9337\032%
|
|
\or % 2
|
|
\HyPsd@UnicodeReplacementCharacter
|
|
\or % 3
|
|
\9330\074\9337\035%
|
|
\or % 4
|
|
\9330\074\9337\034%
|
|
\else
|
|
\HyPsd@UnicodeReplacementCharacter
|
|
\fi
|
|
}
|
|
\def\HyPsd@ding#1{%
|
|
\ifHy@unicode
|
|
\ifnum#1<32 %
|
|
\HyPsd@UnicodeReplacementCharacter
|
|
\else
|
|
\ifnum#1>254 %
|
|
\HyPsd@UnicodeReplacementCharacter
|
|
\else
|
|
\ifnum#1<127 %
|
|
\expandafter\expandafter\expandafter
|
|
\HyPsd@@ding\intcalcNum{#1}!%
|
|
\else
|
|
\ifnum#1>160 %
|
|
\expandafter\expandafter\expandafter
|
|
\HyPsd@@ding\intcalcNum{#1}!%
|
|
\else
|
|
\HyPsd@UnicodeReplacementCharacter
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\else
|
|
.% Dingbats are not part of PDFDocEncoding
|
|
\fi
|
|
}
|
|
\def\HyPsd@@ding#1!{%
|
|
\ltx@ifundefined{HyPsd@ding@#1}{%
|
|
\ifnum#1<127 %
|
|
\9047%
|
|
\HyPsd@DecimalToOctalSecond{\IntCalcSub#1!32!}%
|
|
\else
|
|
\ifnum#1<168 %
|
|
\9047\14\IntCalcSub#1!160!%
|
|
\else
|
|
\ifnum#1>181 %
|
|
\9047\HyPsd@DecimalToOctalSecond{\IntCalcSub#1!64!}%
|
|
\else
|
|
% 172..181 -> U+2460..U+2469
|
|
\9044\HyPsd@DecimalToOctalSecond{\IntCalcSub#1!76!}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}{%
|
|
\csname HyPsd@ding@#1\endcsname
|
|
}%
|
|
}
|
|
\@namedef{HyPsd@ding@32}{\space}
|
|
\@namedef{HyPsd@ding@37}{\9046\016}% U+260E
|
|
\@namedef{HyPsd@ding@42}{\9046\033}% U+261B
|
|
\@namedef{HyPsd@ding@43}{\9046\036}% U+261E
|
|
\@namedef{HyPsd@ding@72}{\9046\005}% U+2605
|
|
\@namedef{HyPsd@ding@108}{\9045\317}% U+25CF
|
|
\@namedef{HyPsd@ding@110}{\9045\240}% U+25A0
|
|
\@namedef{HyPsd@ding@115}{\9045\262}% U+25B2
|
|
\@namedef{HyPsd@ding@116}{\9045\274}% U+25BC
|
|
\@namedef{HyPsd@ding@117}{\9045\306}% U+25C6
|
|
\@namedef{HyPsd@ding@119}{\9045\327}% U+25D7
|
|
\@namedef{HyPsd@ding@168}{\textclubsuitblack}%
|
|
\@namedef{HyPsd@ding@169}{\textdiamondsuitblack}%
|
|
\@namedef{HyPsd@ding@170}{\textheartsuitblack}%
|
|
\@namedef{HyPsd@ding@171}{\textspadesuitblack}%
|
|
\@namedef{HyPsd@ding@213}{\textrightarrow}%
|
|
\@namedef{HyPsd@ding@214}{\textleftrightarrow}%
|
|
\@namedef{HyPsd@ding@215}{\textupdownarrow}%
|
|
\@namedef{HyPsd@ding@240}{\HyPsd@UnicodeReplacementCharacter}
|
|
\@ifclassloaded{memoir}{%
|
|
\Hy@AtEndOfPackage{\RequirePackage{memhfixc}}%
|
|
}{}
|
|
\@ifpackageloaded{subfigure}{%
|
|
\ltx@IfUndefined{sub@label}{%
|
|
\Hy@hypertexnamesfalse
|
|
}{%
|
|
\renewcommand*{\sub@label}[1]{%
|
|
\@bsphack
|
|
\subfig@oldlabel{#1}%
|
|
\if@filesw
|
|
\begingroup
|
|
\edef\@currentlabstr{%
|
|
\expandafter\strip@prefix\meaning\@currentlabelname
|
|
}%
|
|
\protected@write\@auxout{}{%
|
|
\string\newlabel{sub@#1}{%
|
|
{\@nameuse{@@thesub\@captype}}%
|
|
{\thepage}%
|
|
{%
|
|
\expandafter\strip@period\@currentlabstr
|
|
\relax.\relax\@@@%
|
|
}%
|
|
{\@currentHref}%
|
|
{}%
|
|
}%
|
|
}%
|
|
\endgroup
|
|
\fi
|
|
\@esphack
|
|
}%
|
|
\@ifpackagelater{subfigure}{2002/03/26}{}{%
|
|
\providecommand*{\toclevel@subfigure}{1}%
|
|
\providecommand*{\toclevel@subtable}{1}%
|
|
}%
|
|
}%
|
|
}{}
|
|
\ltx@IfUndefined{XR@addURL}{%
|
|
}{%
|
|
\def\XR@addURL#1{\XR@@dURL#1{}{}{}{}\\}%
|
|
\def\XR@@dURL#1#2#3#4#5\\{%
|
|
{#1}{#2}%
|
|
\if!#4!%
|
|
\else
|
|
{#3}{#4}{\XR@URL}%
|
|
\fi
|
|
}%
|
|
}
|
|
\def\Hy@true{true}
|
|
\def\Hy@false{false}
|
|
\let\literalps@out\@gobble
|
|
\newcommand\pdfbookmark[3][]{}
|
|
\def\Acrobatmenu#1#2{\leavevmode#2}
|
|
\def\Hy@writebookmark#1#2#3#4#5{}%
|
|
\let\HyperRaiseLinkHook\@empty
|
|
\def\HyperRaiseLinkDefault{\baselineskip}
|
|
\newcount\Hy@SavedSpaceFactor
|
|
\def\Hy@SaveSpaceFactor{%
|
|
\global\Hy@SavedSpaceFactor=\ifhmode\spacefactor\else\z@\fi
|
|
}
|
|
\def\Hy@RestoreSpaceFactor{%
|
|
\relax
|
|
\ifhmode
|
|
\ifnum\Hy@SavedSpaceFactor>\z@
|
|
\spacefactor=\Hy@SavedSpaceFactor
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\Hy@SaveSavedSpaceFactor{%
|
|
\edef\Hy@RestoreSavedSpaceFactor{%
|
|
\global\Hy@SavedSpaceFactor=\the\Hy@SavedSpaceFactor\relax
|
|
}%
|
|
}
|
|
\def\Hy@raisedlink#1{%
|
|
\ifvmode
|
|
#1%
|
|
\else
|
|
\Hy@SaveSpaceFactor
|
|
\penalty\@M
|
|
\smash{%
|
|
\begingroup
|
|
\let\HyperRaiseLinkLength\@tempdima
|
|
\setlength\HyperRaiseLinkLength\HyperRaiseLinkDefault
|
|
\HyperRaiseLinkHook
|
|
\expandafter\endgroup
|
|
\expandafter\raise\the\HyperRaiseLinkLength\hbox{%
|
|
\Hy@RestoreSpaceFactor
|
|
#1%
|
|
\Hy@SaveSpaceFactor
|
|
}%
|
|
}%
|
|
\Hy@RestoreSpaceFactor
|
|
\fi
|
|
}
|
|
\def\Hy@SaveLastskip{%
|
|
\let\Hy@RestoreLastskip\relax
|
|
\ifvmode
|
|
\ifdim\lastskip=\z@
|
|
\let\Hy@RestoreLastskip\nobreak
|
|
\else
|
|
\begingroup
|
|
\skip@=-\lastskip
|
|
\edef\x{%
|
|
\endgroup
|
|
\def\noexpand\Hy@RestoreLastskip{%
|
|
\noexpand\ifvmode
|
|
\noexpand\nobreak
|
|
\vskip\the\skip@
|
|
\vskip\the\lastskip\relax
|
|
\noexpand\fi
|
|
}%
|
|
}%
|
|
\x
|
|
\fi
|
|
\else
|
|
\ifhmode
|
|
\ifdim\lastskip=\z@
|
|
\let\Hy@RestoreLastskip\nobreak
|
|
\else
|
|
\begingroup
|
|
\skip@=-\lastskip
|
|
\edef\x{%
|
|
\endgroup
|
|
\def\noexpand\Hy@RestoreLastskip{%
|
|
\noexpand\ifhmode
|
|
\noexpand\nobreak
|
|
\hskip\the\skip@
|
|
\hskip\the\lastskip\relax
|
|
\noexpand\fi
|
|
}%
|
|
}%
|
|
\x
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}%
|
|
\SetupKeyvalOptions{%
|
|
family=Hyp,%
|
|
prefix=HyOpt%
|
|
}
|
|
\def\IfHyperBooleanExists#1{%
|
|
\ltx@ifundefined{Hy@#1false}\ltx@secondoftwo{%
|
|
\ltx@ifundefined{KV@Hyp@#1@default}\ltx@secondoftwo\ltx@firstoftwo
|
|
}%
|
|
}
|
|
\@namedef{KV@Hyp@stoppedearly@default}{}
|
|
\def\IfHyperBoolean#1{%
|
|
\IfHyperBooleanExists{#1}{%
|
|
\csname ifHy@#1\endcsname
|
|
\expandafter\ltx@firstoftwo
|
|
\else
|
|
\expandafter\ltx@secondoftwo
|
|
\fi
|
|
}\ltx@secondoftwo
|
|
}
|
|
\def\Hy@boolkey#1#2{%
|
|
\edef\Hy@tempa{#2}%
|
|
\lowercase\expandafter{%
|
|
\expandafter\def\expandafter\Hy@tempa\expandafter{\Hy@tempa}%
|
|
}%
|
|
\ifx\Hy@tempa\@empty
|
|
\let\Hy@tempa\Hy@true
|
|
\fi
|
|
\ifx\Hy@tempa\Hy@true
|
|
\else
|
|
\ifx\Hy@tempa\Hy@false
|
|
\else
|
|
\let\Hy@tempa\relax
|
|
\fi
|
|
\fi
|
|
\ifx\Hy@tempa\relax
|
|
\Hy@WarnOptionValue{#2}{#1}{`true' or 'false'}%
|
|
\else
|
|
\Hy@Info{Option `#1' set `\Hy@tempa'}%
|
|
\csname Hy@#1\Hy@tempa\endcsname
|
|
\fi
|
|
}
|
|
\def\Hy@WarnOptionValue#1#2#3{%
|
|
\Hy@Warning{%
|
|
Unexpected value `#1'\MessageBreak
|
|
of option `#2' instead of\MessageBreak
|
|
#3%
|
|
}%
|
|
}
|
|
\def\Hy@DisableOption#1{%
|
|
\ltx@ifundefined{KV@Hyp@#1@default}{%
|
|
\define@key{Hyp}{#1}%
|
|
}{%
|
|
\define@key{Hyp}{#1}[]%
|
|
}%
|
|
{\Hy@WarnOptionDisabled{#1}}%
|
|
}
|
|
|
|
\def\Hy@WarnOptionDisabled#1{%
|
|
\Hy@Warning{%
|
|
Option `#1' has already been used,\MessageBreak
|
|
setting the option has no effect%
|
|
}%
|
|
}
|
|
\def\Hy@CheckOptionValue#1#2#3{%
|
|
\begingroup
|
|
\edef\x{#1}%
|
|
\@onelevel@sanitize\x
|
|
\let\y=y%
|
|
\def\do##1##2{%
|
|
\def\z{##1}%
|
|
\@onelevel@sanitize\z
|
|
\ifx\x\z
|
|
\let\y=n%
|
|
\let\do\@gobbletwo
|
|
\fi
|
|
}%
|
|
#3%
|
|
\ifx\y y%
|
|
\def\do##1##2{%
|
|
* `##1'%
|
|
\ifx\\##2\\\else\space(##2)\fi
|
|
\MessageBreak
|
|
}%
|
|
\Hy@Warning{%
|
|
Values of option `#2':\MessageBreak
|
|
#3%
|
|
* An empty value disables the option.\MessageBreak
|
|
Unknown value `\x'%
|
|
}%
|
|
\fi
|
|
\endgroup
|
|
}
|
|
\def\Hy@DefNameKey#1{%
|
|
\expandafter\Hy@@DefNameKey\csname @#1\endcsname{#1}%
|
|
}
|
|
\def\Hy@@DefNameKey#1#2#3{%
|
|
\define@key{Hyp}{#2}{%
|
|
\edef#1{##1}%
|
|
\ifx#1\@empty
|
|
\else
|
|
\Hy@CheckOptionValue{##1}{#2}{#3}%
|
|
\fi
|
|
}%
|
|
\let#1\@empty
|
|
}
|
|
\def\Hy@UseNameKey#1#2{%
|
|
\ifx#2\@empty
|
|
\else
|
|
/#1/#2%
|
|
\fi
|
|
}
|
|
\define@key{Hyp}{implicit}[true]{%
|
|
\Hy@boolkey{implicit}{#1}%
|
|
}
|
|
\define@key{Hyp}{draft}[true]{%
|
|
\Hy@boolkey{draft}{#1}%
|
|
}
|
|
\define@key{Hyp}{final}[true]{%
|
|
\Hy@boolkey{final}{#1}%
|
|
}
|
|
\let\KV@Hyp@nolinks\KV@Hyp@draft
|
|
\def\Hy@ObsoletePaperOption#1{%
|
|
\Hy@WarningNoLine{%
|
|
Option `#1' is no longer used%
|
|
}%
|
|
\define@key{Hyp}{#1}[true]{}%
|
|
}
|
|
\def\Hy@temp#1{%
|
|
\define@key{Hyp}{#1}[true]{%
|
|
\Hy@ObsoletePaperOption{#1}%
|
|
}%
|
|
}
|
|
\Hy@temp{a4paper}
|
|
\Hy@temp{a5paper}
|
|
\Hy@temp{b5paper}
|
|
\Hy@temp{letterpaper}
|
|
\Hy@temp{legalpaper}
|
|
\Hy@temp{executivepaper}
|
|
\define@key{Hyp}{setpagesize}[true]{%
|
|
\Hy@boolkey{setpagesize}{#1}%
|
|
}
|
|
\define@key{Hyp}{debug}[true]{%
|
|
\Hy@boolkey{debug}{#1}%
|
|
}
|
|
\define@key{Hyp}{linktocpage}[true]{%
|
|
\Hy@boolkey{linktocpage}{#1}%
|
|
\ifHy@linktocpage
|
|
\let\Hy@linktoc\Hy@linktoc@page
|
|
\else
|
|
\let\Hy@linktoc\Hy@linktoc@section
|
|
\fi
|
|
}
|
|
\chardef\Hy@linktoc@none=0 %
|
|
\chardef\Hy@linktoc@section=1 %
|
|
\chardef\Hy@linktoc@page=2 %
|
|
\chardef\Hy@linktoc@all=3 %
|
|
\ifHy@linktocpage
|
|
\let\Hy@linktoc\Hy@linktoc@page
|
|
\else
|
|
\let\Hy@linktoc\Hy@linktoc@section
|
|
\fi
|
|
\define@key{Hyp}{linktoc}{%
|
|
\@ifundefined{Hy@linktoc@#1}{%
|
|
\Hy@Warning{%
|
|
Unexpected value `#1' of\MessageBreak
|
|
option `linktoc' instead of `none',\MessageBreak
|
|
`section', `page' or `all'%
|
|
}%
|
|
}{%
|
|
\expandafter\let\expandafter\Hy@linktoc
|
|
\csname Hy@linktoc@#1\endcsname
|
|
}%
|
|
}
|
|
\define@key{Hyp}{extension}{\def\XR@ext{#1}}
|
|
\let\XR@ext\relax
|
|
\define@key{Hyp}{verbose}[true]{%
|
|
\Hy@boolkey{verbose}{#1}%
|
|
}
|
|
\define@key{Hyp}{typexml}[true]{%
|
|
\Hy@boolkey{typexml}{#1}%
|
|
}
|
|
\define@key{Hyp}{raiselinks}[true]{%
|
|
\Hy@boolkey{raiselinks}{#1}%
|
|
}
|
|
\def\Hy@setbreaklinks#1{%
|
|
\csname breaklinks#1\endcsname
|
|
}
|
|
\def\Hy@breaklinks@unsupported{%
|
|
\ifx\Hy@setbreaklinks\@gobble
|
|
\ifHy@breaklinks
|
|
\Hy@WarningNoLine{%
|
|
You have enabled option `breaklinks'.\MessageBreak
|
|
But driver `\Hy@driver.def' does not suppport this.\MessageBreak
|
|
Expect trouble with the link areas of broken links%
|
|
}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\define@key{Hyp}{breaklinks}[true]{%
|
|
\Hy@boolkey{breaklinks}{#1}%
|
|
\let\Hy@setbreaklinks\@gobble
|
|
}
|
|
\define@key{Hyp}{localanchorname}[true]{%
|
|
\Hy@boolkey{localanchorname}{#1}%
|
|
}
|
|
\define@key{Hyp}{pageanchor}[true]{%
|
|
\Hy@boolkey{pageanchor}{#1}%
|
|
}
|
|
\define@key{Hyp}{plainpages}[true]{%
|
|
\Hy@boolkey{plainpages}{#1}%
|
|
}
|
|
\define@key{Hyp}{naturalnames}[true]{%
|
|
\Hy@boolkey{naturalnames}{#1}%
|
|
}
|
|
\define@key{Hyp}{hypertexnames}[true]{%
|
|
\Hy@boolkey{hypertexnames}{#1}%
|
|
}
|
|
\define@key{Hyp}{nesting}[true]{%
|
|
\Hy@boolkey{nesting}{#1}%
|
|
}
|
|
\define@key{Hyp}{destlabel}[true]{%
|
|
\Hy@boolkey{destlabel}{#1}%
|
|
}
|
|
\define@key{Hyp}{unicode}[true]{%
|
|
\Hy@boolkey{unicode}{#1}%
|
|
\ifHy@unicode
|
|
\def\HyPsd@pdfencoding{unicode}%
|
|
\HyPsd@LoadUnicode
|
|
\else
|
|
\def\HyPsd@pdfencoding{pdfdoc}%
|
|
\fi
|
|
}
|
|
\Hy@AtBeginDocument{%
|
|
\ifx\HyPsd@LoadUnicode\relax
|
|
\else
|
|
\def\HyPsd@LoadUnicode{%
|
|
\Hy@Error{%
|
|
Unicode support for bookmarks is not available.\MessageBreak
|
|
Activate unicode support by using one of the options\MessageBreak
|
|
`unicode', `pdfencoding=unicode', `pdfencoding=auto'\MessageBreak
|
|
in the preamble%
|
|
}\@ehc
|
|
\global\let\HyPsd@LoadUnicode\relax
|
|
\global\Hy@unicodefalse
|
|
\global\let\Hy@unicodetrue\Hy@unicodefalse
|
|
}%
|
|
\fi
|
|
}
|
|
\define@key{Hyp}{pdfencoding}{%
|
|
\edef\HyPsd@temp{#1}%
|
|
\ifx\HyPsd@temp\HyPsd@pdfencoding@pdfdoc
|
|
\let\HyPsd@pdfencoding\HyPsd@temp
|
|
\Hy@unicodefalse
|
|
\else
|
|
\ifcase\ifx\HyPsd@temp\HyPsd@pdfencoding@unicode
|
|
\z@
|
|
\else
|
|
\ifx\HyPsd@temp\HyPsd@pdfencoding@auto
|
|
\z@
|
|
\else
|
|
\@ne
|
|
\fi
|
|
\fi
|
|
\let\HyPsd@pdfencoding\HyPsd@temp
|
|
\hypersetup{unicode}%
|
|
\ifHy@unicode
|
|
\def\HyPsd@pdfencoding{#1}%
|
|
\ifx\HyPsd@pdfencoding\HyPsd@pdfencoding@auto
|
|
\HyPsd@LoadStringEnc
|
|
\fi
|
|
\else
|
|
\Hy@Warning{Cannot switch to unicode bookmarks}%
|
|
\let\HyPsd@pdfencoding\HyPsd@pdfencoding@pdfdoc
|
|
\fi
|
|
\else
|
|
\@onelevel@sanitize\HyPsd@temp
|
|
\Hy@Warning{%
|
|
Values of option `pdfencoding':\MessageBreak
|
|
`pdfdoc', `unicode', `auto'.\MessageBreak
|
|
Ignoring unknown value `\HyPsd@temp'%
|
|
}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\HyPsd@pdfencoding@auto{auto}
|
|
\def\HyPsd@pdfencoding@pdfdoc{pdfdoc}
|
|
\def\HyPsd@pdfencoding@unicode{unicode}
|
|
\let\HyPsd@pdfencoding\Hy@pdfencoding@pdfdoc
|
|
\def\HyPsd@LoadStringEnc{%
|
|
\RequirePackage{stringenc}[2009/12/15]%
|
|
\let\HyPsd@LoadStringEnc\relax
|
|
}
|
|
\Hy@AtBeginDocument{%
|
|
\@ifpackageloaded{stringenc}{%
|
|
\let\HyPsd@LoadStringEnc\relax
|
|
}{%
|
|
\def\HyPsd@LoadStringEnc{%
|
|
\Hy@WarningNoLine{%
|
|
Missing package `stringenc'. Use `pdfencoding=auto'\MessageBreak
|
|
in the preamble or load the package there%
|
|
}%
|
|
}%
|
|
}%
|
|
}
|
|
\define@key{Hyp}{psdextra}[true]{%
|
|
\Hy@boolkey{psdextra}{#1}%
|
|
\HyPsd@LoadExtra
|
|
}
|
|
\def\hypersetup{\kvsetkeys{Hyp}}
|
|
\newif\ifHy@setpdfversion
|
|
\define@key{Hyp}{pdfversion}{%
|
|
\@ifundefined{Hy@pdfversion@#1}{%
|
|
\PackageWarning{hyperref}{%
|
|
Unsupported PDF version `#1'.\MessageBreak
|
|
Valid values: 1.2-1.7, 2.0%
|
|
}%
|
|
}{%
|
|
\Hy@setpdfversiontrue
|
|
\@nameuse{Hy@pdfversion@#1}%
|
|
}%
|
|
}
|
|
\@namedef{Hy@pdfversion@1.2}{\def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{2}}%
|
|
\@namedef{Hy@pdfversion@1.3}{\def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{3}}%
|
|
\@namedef{Hy@pdfversion@1.4}{\def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{4}}%
|
|
\@namedef{Hy@pdfversion@1.5}{\def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{5}}%
|
|
\@namedef{Hy@pdfversion@1.6}{\def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{6}}%
|
|
\@namedef{Hy@pdfversion@1.7}{\def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{7}}%
|
|
\@namedef{Hy@pdfversion@2.0}{\def\Hy@pdf@majorversion{2}\def\Hy@pdf@minorversion{0}}%
|
|
\def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{5}
|
|
\let\Hy@pdfversion\Hy@pdf@minorversion
|
|
\def\Hy@pdf@majorminor@version{\numexpr100*\Hy@pdf@majorversion+\Hy@pdf@minorversion\relax}
|
|
\def\Hy@pdfmajorminor@version{\numexpr100*\Hy@pdfmajorversion+\Hy@pdfminorversion\relax}
|
|
\@ifundefined{pdfminorversion}{}{%
|
|
\@ifundefined{pdfmajorversion}{%
|
|
\newcount\pdfmajorversion
|
|
\pdfmajorversion=1
|
|
}{}%
|
|
}
|
|
\ifx\pdfmajorversion\@undefined\else
|
|
\def\Hy@pdfmajorversion{\pdfmajorversion}
|
|
\fi
|
|
\newif\ifHy@DviMode
|
|
\let\Hy@DviErrMsg\ltx@empty
|
|
\ifpdf
|
|
\def\Hy@DviErrMsg{pdfTeX or LuaTeX is running in PDF mode}%
|
|
\else
|
|
\ifxetex
|
|
\def\Hy@DviErrMsg{XeTeX is running}%
|
|
\else
|
|
\ifvtex
|
|
\ifnum\OpMode=\z@
|
|
\Hy@DviModetrue
|
|
\else
|
|
\def\Hy@DviErrMsg{VTeX is running, but not in DVI mode}%
|
|
\fi
|
|
\else
|
|
\Hy@DviModetrue
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\def\HyOpt@CheckDvi#1{%
|
|
\ifHy@DviMode
|
|
\expandafter\ltx@firstofone
|
|
\else
|
|
\Hy@Error{%
|
|
Wrong DVI mode driver option `#1',\MessageBreak
|
|
because \Hy@DviErrMsg
|
|
}\@ehc
|
|
\expandafter\ltx@gobble
|
|
\fi
|
|
}
|
|
\DeclareVoidOption{tex4ht}{%
|
|
\Hy@texhttrue
|
|
\kvsetkeys{Hyp}{colorlinks=true}%
|
|
\def\BeforeTeXIVht{\RequirePackage{color}}%
|
|
\def\Hy@driver{htex4ht}%
|
|
\def\MaybeStopEarly{%
|
|
\Hy@Message{Stopped early}%
|
|
\Hy@AtBeginDocument{%
|
|
\PDF@FinishDoc
|
|
\gdef\PDF@FinishDoc{}%
|
|
}%
|
|
\endinput
|
|
}%
|
|
}
|
|
\DeclareVoidOption{pdftex}{%
|
|
\ifpdf
|
|
\def\Hy@driver{hpdftex}%
|
|
\PassOptionsToPackage{pdftex}{color}%
|
|
\else
|
|
\Hy@Error{%
|
|
Wrong driver option `pdftex',\MessageBreak
|
|
because pdfTeX in PDF mode is not detected%
|
|
}\@ehc
|
|
\fi
|
|
}
|
|
\DeclareVoidOption{luatex}{%
|
|
\ifpdf
|
|
\ifx\pdfextension\@undefined
|
|
\def\Hy@driver{hpdftex}%
|
|
\PassOptionsToPackage{pdftex}{color}%
|
|
\else
|
|
\def\Hy@driver{hluatex}%
|
|
\PassOptionsToPackage{luatex}{color}%
|
|
\fi
|
|
\else
|
|
\Hy@Error{%
|
|
Wrong driver option `luatex',\MessageBreak
|
|
because luaTeX in PDF mode is not detected%
|
|
}\@ehc
|
|
\fi
|
|
}
|
|
\DeclareVoidOption{nativepdf}{%
|
|
\HyOpt@CheckDvi{nativepdf}{%
|
|
\def\Hy@driver{hdvips}%
|
|
\PassOptionsToPackage{dvips}{color}%
|
|
}%
|
|
}
|
|
\DeclareVoidOption{dvipdfm}{%
|
|
\HyOpt@CheckDvi{dvipdfm}{%
|
|
\def\Hy@driver{hdvipdfm}%
|
|
}%
|
|
}
|
|
\DeclareVoidOption{dvipdfmx}{%
|
|
\HyOpt@CheckDvi{dvipdfmx}{%
|
|
\def\Hy@driver{hdvipdfm}%
|
|
\PassOptionsToPackage{dvipdfmx}{color}%
|
|
}%
|
|
}
|
|
\define@key{Hyp}{dvipdfmx-outline-open}[true]{%
|
|
\expandafter\ifx\csname if#1\expandafter\endcsname
|
|
\csname iftrue\endcsname
|
|
\chardef\SpecialDvipdfmxOutlineOpen\@ne
|
|
\else
|
|
\chardef\SpecialDvipdfmxOutlineOpen\z@
|
|
\fi
|
|
}
|
|
\DeclareVoidOption{xetex}{%
|
|
\ifxetex
|
|
\def\Hy@driver{hxetex}%
|
|
\else
|
|
\Hy@Error{%
|
|
Wrong driver option `xetex',\MessageBreak
|
|
because XeTeX is not detected%
|
|
}\@ehc
|
|
\fi
|
|
}
|
|
\DeclareVoidOption{pdfmark}{%
|
|
\HyOpt@CheckDvi{pdfmark}{%
|
|
\def\Hy@driver{hdvips}%
|
|
}%
|
|
}
|
|
\DeclareVoidOption{dvips}{%
|
|
\HyOpt@CheckDvi{dvips}{%
|
|
\def\Hy@driver{hdvips}%
|
|
\PassOptionsToPackage{dvips}{color}%
|
|
}%
|
|
}
|
|
\DeclareVoidOption{hypertex}{%
|
|
\HyOpt@CheckDvi{hypertex}{%
|
|
\def\Hy@driver{hypertex}%
|
|
}%
|
|
}
|
|
\let\Hy@MaybeStopNow\relax
|
|
\DeclareVoidOption{vtex}{%
|
|
\ifvtex
|
|
\ifnum 0\ifnum\OpMode<1 1\fi \ifnum\OpMode>3 1\fi =0 %
|
|
\def\Hy@driver{hvtex}%
|
|
\else
|
|
\ifnum\OpMode=10\relax
|
|
\def\Hy@driver{hvtexhtm}%
|
|
\def\MaybeStopEarly{%
|
|
\Hy@Message{Stopped early}%
|
|
\Hy@AtBeginDocument{%
|
|
\PDF@FinishDoc
|
|
\gdef\PDF@FinishDoc{}%
|
|
}%
|
|
\endinput
|
|
}%
|
|
\else
|
|
\Hy@Error{%
|
|
Wrong driver option `vtex',\MessageBreak
|
|
because of wrong OpMode (\the\OpMode)%
|
|
}\@ehc
|
|
\fi
|
|
\fi
|
|
\else
|
|
\Hy@Error{%
|
|
Wrong driver option `vtex',\MessageBreak
|
|
because VTeX is not running%
|
|
}\@ehc
|
|
\fi
|
|
}
|
|
\DeclareVoidOption{vtexpdfmark}{%
|
|
\ifvtex
|
|
\ifnum 0\ifnum\OpMode<1 1\fi \ifnum\OpMode>3 1\fi =0 %
|
|
\def\Hy@driver{hvtexmrk}%
|
|
\else
|
|
\Hy@Error{%
|
|
Wrong driver option `vtexpdfmark',\MessageBreak
|
|
because of wrong OpMode (\the\OpMode)%
|
|
}\@ehc
|
|
\fi
|
|
\else
|
|
\Hy@Error{%
|
|
Wrong driver option `vtexpdfmark,\MessageBreak
|
|
because VTeX is not running%
|
|
}\@ehc
|
|
\fi
|
|
}
|
|
\DeclareVoidOption{dviwindo}{%
|
|
\HyOpt@CheckDvi{dviwindo}{%
|
|
\def\Hy@driver{hdviwind}%
|
|
\kvsetkeys{Hyp}{colorlinks}%
|
|
\PassOptionsToPackage{dviwindo}{color}%
|
|
}%
|
|
}
|
|
\DeclareVoidOption{dvipsone}{%
|
|
\HyOpt@CheckDvi{dvipsone}{%
|
|
\def\Hy@driver{hdvipson}%
|
|
\PassOptionsToPackage{dvipsone}{color}%
|
|
}%
|
|
}
|
|
\DeclareVoidOption{textures}{%
|
|
\HyOpt@CheckDvi{textures}{%
|
|
\def\Hy@driver{htexture}%
|
|
}%
|
|
}
|
|
\DeclareVoidOption{latex2html}{%
|
|
\HyOpt@CheckDvi{latex2html}{%
|
|
\Hy@AtBeginDocument{\@@latextohtmlX}%
|
|
}%
|
|
}
|
|
\DeclareVoidOption{ps2pdf}{%
|
|
\HyOpt@CheckDvi{ps2pdf}{%
|
|
\def\Hy@driver{hdvips}%
|
|
\PassOptionsToPackage{dvips}{color}%
|
|
}%
|
|
}
|
|
\let\HyOpt@DriverFallback\ltx@empty
|
|
\define@key{Hyp}{driverfallback}{%
|
|
\ifHy@DviMode
|
|
\def\HyOpt@DriverFallback{#1}%
|
|
\Hy@Match\HyOpt@DriverFallback{}{%
|
|
^(|dvipdfm|dvipdfmx|dvips|dvipsone|dviwindo|hypertex|ps2pdf|%
|
|
latex2html|tex4ht)$%
|
|
}{}{%
|
|
\Hy@Warning{%
|
|
Invalid driver `#1' for option\MessageBreak
|
|
`driverfallback'%
|
|
}%
|
|
\let\HyOpt@DriverFallback\ltx@empty
|
|
}%
|
|
\fi
|
|
}
|
|
\let\HyOpt@CustomDriver\ltx@empty
|
|
\define@key{Hyp}{customdriver}{%
|
|
\IfFileExists{#1.def}{%
|
|
\def\HyOpt@CustomDriver{#1}%
|
|
}{%
|
|
\Hy@Warning{%
|
|
Missing driver file `#1.def',\MessageBreak
|
|
ignoring custom driver%
|
|
}%
|
|
}%
|
|
}
|
|
\define@key{Hyp}{hyperfigures}[true]{%
|
|
\Hy@boolkey{hyperfigures}{#1}%
|
|
}
|
|
\define@key{Hyp}{hyperfootnotes}[true]{%
|
|
\Hy@boolkey{hyperfootnotes}{#1}%
|
|
}
|
|
\def\back@none{none}
|
|
\def\back@section{section}
|
|
\def\back@page{page}
|
|
\def\back@slide{slide}
|
|
\define@key{Hyp}{backref}[section]{%
|
|
\lowercase{\def\Hy@tempa{#1}}%
|
|
\ifx\Hy@tempa\@empty
|
|
\let\Hy@tempa\back@section
|
|
\fi
|
|
\ifx\Hy@tempa\Hy@false
|
|
\let\Hy@tempa\back@none
|
|
\fi
|
|
\ifx\Hy@tempa\back@slide
|
|
\let\Hy@tempa\back@section
|
|
\fi
|
|
\ifx\Hy@tempa\back@page
|
|
\PassOptionsToPackage{hyperpageref}{backref}%
|
|
\Hy@backreftrue
|
|
\else
|
|
\ifx\Hy@tempa\back@section
|
|
\PassOptionsToPackage{hyperref}{backref}%
|
|
\Hy@backreftrue
|
|
\else
|
|
\ifx\Hy@tempa\back@none
|
|
\Hy@backreffalse
|
|
\else
|
|
\Hy@WarnOptionValue{#1}{backref}{%
|
|
`section', `slide', `page', `none',\MessageBreak
|
|
or `false'}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}
|
|
\define@key{Hyp}{pagebackref}[true]{%
|
|
\edef\Hy@tempa{#1}%
|
|
\lowercase\expandafter{%
|
|
\expandafter\def\expandafter\Hy@tempa\expandafter{\Hy@tempa}%
|
|
}%
|
|
\ifx\Hy@tempa\@empty
|
|
\let\Hy@tempa\Hy@true
|
|
\fi
|
|
\ifx\Hy@tempa\Hy@true
|
|
\PassOptionsToPackage{hyperpageref}{backref}%
|
|
\Hy@backreftrue
|
|
\else
|
|
\ifx\Hy@tempa\Hy@false
|
|
\Hy@backreffalse
|
|
\else
|
|
\Hy@WarnOptionValue{#1}{pagebackref}{`true' or `false'}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\define@key{Hyp}{hyperindex}[true]{%
|
|
\Hy@boolkey{hyperindex}{#1}%
|
|
}
|
|
\define@key{Hyp}{encap}[\|]{%
|
|
\def\HyInd@EncapChar{#1}%
|
|
}
|
|
\def\HyLang@afrikaans{%
|
|
\def\equationautorefname{Vergelyking}%
|
|
\def\footnoteautorefname{Voetnota}%
|
|
\def\itemautorefname{Item}%
|
|
\def\figureautorefname{Figuur}%
|
|
\def\tableautorefname{Tabel}%
|
|
\def\partautorefname{Deel}%
|
|
\def\appendixautorefname{Bylae}%
|
|
\def\chapterautorefname{Hoofstuk}%
|
|
\def\sectionautorefname{Afdeling}%
|
|
\def\subsectionautorefname{Subafdeling}%
|
|
\def\subsubsectionautorefname{Subsubafdeling}%
|
|
\def\paragraphautorefname{Paragraaf}%
|
|
\def\subparagraphautorefname{Subparagraaf}%
|
|
\def\FancyVerbLineautorefname{Lyn}%
|
|
\def\theoremautorefname{Teorema}%
|
|
\def\pageautorefname{Bladsy}%
|
|
}
|
|
\def\HyLang@english{%
|
|
\def\equationautorefname{Equation}%
|
|
\def\footnoteautorefname{footnote}%
|
|
\def\itemautorefname{item}%
|
|
\def\figureautorefname{Figure}%
|
|
\def\tableautorefname{Table}%
|
|
\def\partautorefname{Part}%
|
|
\def\appendixautorefname{Appendix}%
|
|
\def\chapterautorefname{chapter}%
|
|
\def\sectionautorefname{section}%
|
|
\def\subsectionautorefname{subsection}%
|
|
\def\subsubsectionautorefname{subsubsection}%
|
|
\def\paragraphautorefname{paragraph}%
|
|
\def\subparagraphautorefname{subparagraph}%
|
|
\def\FancyVerbLineautorefname{line}%
|
|
\def\theoremautorefname{Theorem}%
|
|
\def\pageautorefname{page}%
|
|
}
|
|
\def\HyLang@french{%
|
|
\def\equationautorefname{\'Equation}%
|
|
\def\footnoteautorefname{note}%
|
|
\def\itemautorefname{item}%
|
|
\def\figureautorefname{Figure}%
|
|
\def\tableautorefname{Tableau}%
|
|
\def\partautorefname{Partie}%
|
|
\def\appendixautorefname{Appendice}%
|
|
\def\chapterautorefname{chapitre}%
|
|
\def\sectionautorefname{section}%
|
|
\def\subsectionautorefname{sous-section}%
|
|
\def\subsubsectionautorefname{sous-sous-section}%
|
|
\def\paragraphautorefname{paragraphe}%
|
|
\def\subparagraphautorefname{sous-paragraphe}%
|
|
\def\FancyVerbLineautorefname{ligne}%
|
|
\def\theoremautorefname{Th\'eor\`eme}%
|
|
\def\pageautorefname{page}%
|
|
}
|
|
\def\HyLang@german{%
|
|
\def\equationautorefname{Gleichung}%
|
|
\def\footnoteautorefname{Fu\ss note}%
|
|
\def\itemautorefname{Punkt}%
|
|
\def\figureautorefname{Abbildung}%
|
|
\def\tableautorefname{Tabelle}%
|
|
\def\partautorefname{Teil}%
|
|
\def\appendixautorefname{Anhang}%
|
|
\def\chapterautorefname{Kapitel}%
|
|
\def\sectionautorefname{Abschnitt}%
|
|
\def\subsectionautorefname{Unterabschnitt}%
|
|
\def\subsubsectionautorefname{Unterunterabschnitt}%
|
|
\def\paragraphautorefname{Absatz}%
|
|
\def\subparagraphautorefname{Unterabsatz}%
|
|
\def\FancyVerbLineautorefname{Zeile}%
|
|
\def\theoremautorefname{Theorem}%
|
|
\def\pageautorefname{Seite}%
|
|
}
|
|
\def\HyLang@italian{%
|
|
\def\equationautorefname{Equazione}%
|
|
\def\footnoteautorefname{nota}%
|
|
\def\itemautorefname{punto}%
|
|
\def\figureautorefname{Figura}%
|
|
\def\tableautorefname{Tabella}%
|
|
\def\partautorefname{Parte}%
|
|
\def\appendixautorefname{Appendice}%
|
|
\def\chapterautorefname{Capitolo}%
|
|
\def\sectionautorefname{sezione}%
|
|
\def\subsectionautorefname{sottosezione}%
|
|
\def\subsubsectionautorefname{sottosottosezione}%
|
|
\def\paragraphautorefname{paragrafo}%
|
|
\def\subparagraphautorefname{sottoparagrafo}%
|
|
\def\FancyVerbLineautorefname{linea}%
|
|
\def\theoremautorefname{Teorema}%
|
|
\def\pageautorefname{Pag.\@}%
|
|
}
|
|
\def\HyLang@magyar{%
|
|
\def\equationautorefname{Egyenlet}%
|
|
\def\footnoteautorefname{l\'abjegyzet}%
|
|
\def\itemautorefname{Elem}%
|
|
\def\figureautorefname{\'Abra}%
|
|
\def\tableautorefname{T\'abl\'azat}%
|
|
\def\partautorefname{R\'esz}%
|
|
\def\appendixautorefname{F\"uggel\'ek}%
|
|
\def\chapterautorefname{fejezet}%
|
|
\def\sectionautorefname{szakasz}%
|
|
\def\subsectionautorefname{alszakasz}%
|
|
\def\subsubsectionautorefname{alalszakasz}%
|
|
\def\paragraphautorefname{bekezd\'es}%
|
|
\def\subparagraphautorefname{albekezd\'es}%
|
|
\def\FancyVerbLineautorefname{sor}%
|
|
\def\theoremautorefname{T\'etel}%
|
|
\def\pageautorefname{oldal}%
|
|
}
|
|
\def\HyLang@portuges{%
|
|
\def\equationautorefname{Equa\c c\~ao}%
|
|
\def\footnoteautorefname{Nota de rodap\'e}%
|
|
\def\itemautorefname{Item}%
|
|
\def\figureautorefname{Figura}%
|
|
\def\tableautorefname{Tabela}%
|
|
\def\partautorefname{Parte}%
|
|
\def\appendixautorefname{Ap\^endice}%
|
|
\def\chapterautorefname{Cap\'itulo}%
|
|
\def\sectionautorefname{Se\c c\~ao}%
|
|
\def\subsectionautorefname{Subse\c c\~ao}%
|
|
\def\subsubsectionautorefname{Subsubse\c c\~ao}%
|
|
\def\paragraphautorefname{par\'agrafo}%
|
|
\def\subparagraphautorefname{subpar\'agrafo}%
|
|
\def\FancyVerbLineautorefname{linha}%
|
|
\def\theoremautorefname{Teorema}%
|
|
\def\pageautorefname{P\'agina}%
|
|
}
|
|
\def\HyLang@russian{%
|
|
\def\equationautorefname{\cyr\cyrv\cyrery\cyrr.}%
|
|
\def\footnoteautorefname{%
|
|
\cyr\cyrp\cyro\cyrd\cyrs\cyrt\cyrr.\ \cyrp\cyrr\cyri\cyrm.%
|
|
}%
|
|
\def\itemautorefname{\cyr\cyrp.}%
|
|
\def\figureautorefname{\cyr\cyrr\cyri\cyrs.}%
|
|
\def\tableautorefname{\cyr\cyrt\cyra\cyrb\cyrl.}%
|
|
\def\partautorefname{\cyr\cyrch.}%
|
|
\def\chapterautorefname{\cyr\cyrg\cyrl.}%
|
|
\def\sectionautorefname{\cyr\cyrr\cyra\cyrz\cyrd.}%
|
|
\def\appendixautorefname{\cyr\cyrp\cyrr\cyri\cyrl.}%
|
|
\def\subsectionautorefname{\cyr\cyrr\cyra\cyrz\cyrd.}%
|
|
\def\subsubsectionautorefname{\cyr\cyrr\cyra\cyrz\cyrd.}%
|
|
\def\paragraphautorefname{\cyr\cyrp.}%
|
|
\def\subparagraphautorefname{\cyr\cyrp.}%
|
|
\def\FancyVerbLineautorefname{\cyr\cyrs\cyrt\cyrr.}%
|
|
\def\theoremautorefname{\cyr\cyrt\cyre\cyro\cyrr.}%
|
|
\def\pageautorefname{\cyr\cyrs.}%
|
|
}
|
|
\def\HyLang@spanish{%
|
|
\def\equationautorefname{Ecuaci\'on}%
|
|
\def\footnoteautorefname{Nota a pie de p\'agina}%
|
|
\def\itemautorefname{Elemento}%
|
|
\def\figureautorefname{Figura}%
|
|
\def\tableautorefname{Tabla}%
|
|
\def\partautorefname{Parte}%
|
|
\def\appendixautorefname{Ap\'endice}%
|
|
\def\chapterautorefname{Cap\'itulo}%
|
|
\def\sectionautorefname{Secci\'on}%
|
|
\def\subsectionautorefname{Subsecci\'on}%
|
|
\def\subsubsectionautorefname{Subsubsecci\'on}%
|
|
\def\paragraphautorefname{P\'arrafo}%
|
|
\def\subparagraphautorefname{Subp\'arrafo}%
|
|
\def\FancyVerbLineautorefname{L\'inea}%
|
|
\def\theoremautorefname{Teorema}%
|
|
\def\pageautorefname{P\'agina}%
|
|
}
|
|
\def\HyLang@catalan{%
|
|
\def\equationautorefname{Equaci\'o}%
|
|
\def\footnoteautorefname{Nota al peu de p\`agina}%
|
|
\def\itemautorefname{Element}%
|
|
\def\figureautorefname{Figura}%
|
|
\def\tableautorefname{Taula}%
|
|
\def\partautorefname{Part}%
|
|
\def\appendixautorefname{Ap\`endix}%
|
|
\def\chapterautorefname{Cap\'itol}%
|
|
\def\sectionautorefname{Secci\'o}%
|
|
\def\subsectionautorefname{Subsecci\'o}%
|
|
\def\subsubsectionautorefname{Subsubsecci\'o}%
|
|
\def\paragraphautorefname{Par\`agraf}%
|
|
\def\subparagraphautorefname{Subpar\`agraf}%
|
|
\def\FancyVerbLineautorefname{L\'inia}%
|
|
\def\theoremautorefname{Teorema}%
|
|
\def\pageautorefname{P\`agina}%
|
|
}
|
|
\def\HyLang@vietnamese{%
|
|
\def\equationautorefname{Ph\uhorn{}\ohorn{}ng tr\`inh}%
|
|
\def\footnoteautorefname{Ch\'u th\'ich}%
|
|
\def\itemautorefname{m\d{u}c}%
|
|
\def\figureautorefname{H\`inh}%
|
|
\def\tableautorefname{B\h{a}ng}%
|
|
\def\partautorefname{Ph\`\acircumflex{}n}%
|
|
\def\appendixautorefname{Ph\d{u} l\d{u}c}%
|
|
\def\chapterautorefname{ch\uhorn{}\ohorn{}ng}%
|
|
\def\sectionautorefname{m\d{u}c}%
|
|
\def\subsectionautorefname{m\d{u}c}%
|
|
\def\subsubsectionautorefname{m\d{u}c}%
|
|
\def\paragraphautorefname{\dj{}o\d{a}n}%
|
|
\def\subparagraphautorefname{\dj{}o\d{a}n}%
|
|
\def\FancyVerbLineautorefname{d\`ong}%
|
|
\def\theoremautorefname{\DJ{}\d{i}nh l\'y}%
|
|
\def\pageautorefname{Trang}%
|
|
}
|
|
\def\HyLang@greek{%
|
|
\def\equationautorefname{\textEpsilon\textxi\acctonos\textiota\textsigma\textomega\textsigma\texteta}%
|
|
\def\footnoteautorefname{\textupsilon\textpi\textomicron\textsigma\texteta\textmu\textepsilon\acctonos\textiota\textomega\textsigma\texteta}%
|
|
\def\itemautorefname{\textalpha\textnu\texttau\textiota\textkappa\textepsilon\acctonos\textiota\textmu\textepsilon\textnu\textomicron}%
|
|
\def\figureautorefname{\textSigma\textchi\acctonos\texteta\textmu\textalpha}%
|
|
\def\tableautorefname{\textPi\acctonos\textiota\textnu\textalpha\textkappa\textalpha}%
|
|
\def\partautorefname{\textMu\acctonos\textepsilon\textrho\textomicron\textvarsigma}%
|
|
\def\appendixautorefname{\textPi\textalpha\textrho\acctonos\textalpha\textrho\texttau\texteta\textmu\textalpha}%
|
|
\def\chapterautorefname{\textkappa\textepsilon\textphi\acctonos\textalpha\textlambda\textalpha\textiota\textomicron}%
|
|
\def\sectionautorefname{\textepsilon\textnu\acctonos\textomicron\texttau\texteta\texttau\textalpha}%
|
|
\def\subsectionautorefname{\textupsilon\textpi\textomicron\textepsilon\textnu\acctonos\textomicron\texttau\texteta\texttau\textalpha}%
|
|
\def\subsubsectionautorefname{\textupsilon\textpi\textomicron-\textupsilon\textpi\textomicron\textepsilon\textnu\acctonos\textomicron\texttau\texteta\texttau\textalpha}%
|
|
\def\paragraphautorefname{\textpi\textalpha\textrho\acctonos\textalpha\textgamma\textrho\textalpha\textphi\textomicron\textvarsigma}%
|
|
\def\subparagraphautorefname{\textupsilon\textpi\textomicron\textpi\textalpha\textrho\acctonos\textalpha\textgamma\textrho\textalpha\textphi\textomicron\textvarsigma}%
|
|
\def\FancyVerbLineautorefname{\textgamma\textrho\textalpha\textmu\textmu\acctonos\texteta}%
|
|
\def\theoremautorefname{\textTheta\textepsilon\acctonos\textomega\textrho\texteta\textmu\textalpha}%
|
|
\def\pageautorefname{\textsigma\textepsilon\textlambda\acctonos\textiota\textdelta\textalpha}%
|
|
}
|
|
\def\HyLang@dutch{%
|
|
\def\equationautorefname{Vergelijking}%
|
|
\def\footnoteautorefname{voetnoot}%
|
|
\def\itemautorefname{punt}%
|
|
\def\figureautorefname{Figuur}%
|
|
\def\tableautorefname{Tabel}%
|
|
\def\partautorefname{Deel}%
|
|
\def\appendixautorefname{Bijlage}%
|
|
\def\chapterautorefname{hoofdstuk}%
|
|
\def\sectionautorefname{paragraaf}%
|
|
\def\subsectionautorefname{deelparagraaf}%
|
|
\def\subsubsectionautorefname{deel-deelparagraaf}%
|
|
\def\paragraphautorefname{alinea}%
|
|
\def\subparagraphautorefname{deelalinea}%
|
|
\def\FancyVerbLineautorefname{regel}%
|
|
\def\theoremautorefname{Stelling}%
|
|
\def\pageautorefname{pagina}%
|
|
}
|
|
\def\HyLang@addto#1#2{%
|
|
#2%
|
|
\@temptokena{#2}%
|
|
\ifx#1\relax
|
|
\let#1\@empty
|
|
\fi
|
|
\ifx#1\@undefined
|
|
\edef#1{\the\@temptokena}%
|
|
\else
|
|
\toks@\expandafter{#1}%
|
|
\edef#1{\the\toks@\the\@temptokena}%
|
|
\fi
|
|
\@temptokena{}\toks@\@temptokena
|
|
}
|
|
\def\HyLang@DeclareLang#1#2#3{%
|
|
\@ifpackagewith{babel}{#1}{%
|
|
\expandafter\HyLang@addto
|
|
\csname extras#1\expandafter\endcsname
|
|
\csname HyLang@#2\endcsname
|
|
\begingroup
|
|
\edef\x{\endgroup
|
|
#3%
|
|
}%
|
|
\x
|
|
\@namedef{HyLang@#1@done}{}%
|
|
}{}%
|
|
\begingroup
|
|
\edef\x##1##2{%
|
|
\noexpand\ifx##2\relax
|
|
\errmessage{No definitions for language #2' found!}%
|
|
\noexpand\fi
|
|
\endgroup
|
|
\noexpand\define@key{Hyp}{#1}[]{%
|
|
\noexpand\@ifundefined{HyLang@#1@done}{%
|
|
\noexpand\HyLang@addto{\noexpand##1}{\noexpand##2}%
|
|
#3%
|
|
\noexpand\@namedef{HyLang@#1@done}{}%
|
|
}{}%
|
|
}%
|
|
}%
|
|
\expandafter\x\csname extras#1\expandafter\endcsname
|
|
\csname HyLang@#2\endcsname
|
|
}
|
|
\HyLang@DeclareLang{english}{english}{}
|
|
\HyLang@DeclareLang{UKenglish}{english}{}
|
|
\HyLang@DeclareLang{british}{english}{}
|
|
\HyLang@DeclareLang{USenglish}{english}{}
|
|
\HyLang@DeclareLang{american}{english}{}
|
|
\HyLang@DeclareLang{german}{german}{}
|
|
\HyLang@DeclareLang{austrian}{german}{}
|
|
\HyLang@DeclareLang{ngerman}{german}{}
|
|
\HyLang@DeclareLang{naustrian}{german}{}
|
|
\HyLang@DeclareLang{russian}{russian}{\noexpand\hypersetup{unicode}}
|
|
\HyLang@DeclareLang{brazil}{portuges}{}
|
|
\HyLang@DeclareLang{brazilian}{portuges}{}
|
|
\HyLang@DeclareLang{portuguese}{portuges}{}
|
|
\HyLang@DeclareLang{spanish}{spanish}{}
|
|
\HyLang@DeclareLang{catalan}{catalan}{}
|
|
\HyLang@DeclareLang{afrikaans}{afrikaans}{}
|
|
\HyLang@DeclareLang{french}{french}{}
|
|
\HyLang@DeclareLang{frenchb}{french}{}
|
|
\HyLang@DeclareLang{francais}{french}{}
|
|
\HyLang@DeclareLang{acadian}{french}{}
|
|
\HyLang@DeclareLang{canadien}{french}{}
|
|
\HyLang@DeclareLang{italian}{italian}{}
|
|
\HyLang@DeclareLang{magyar}{magyar}{}
|
|
\HyLang@DeclareLang{hungarian}{magyar}{}
|
|
\HyLang@DeclareLang{greek}{greek}{}
|
|
\HyLang@DeclareLang{dutch}{dutch}{}
|
|
\DeclareVoidOption{vietnamese}{%
|
|
\HyLang@addto\extrasvietnamese\HyLang@vietnamese
|
|
\Hy@AtEndOfPackage{%
|
|
\@ifundefined{T@PU}{}{%
|
|
\input{puvnenc.def}%
|
|
}%
|
|
}%
|
|
}
|
|
\DeclareVoidOption{vietnam}{%
|
|
\HyLang@addto\extrasvietnam\HyLang@vietnamese
|
|
\Hy@AtEndOfPackage{%
|
|
\@ifundefined{T@PU}{}{%
|
|
\input{puvnenc.def}%
|
|
}%
|
|
}%
|
|
}
|
|
\DeclareVoidOption{arabic}{%
|
|
\Hy@AtEndOfPackage{%
|
|
\@ifundefined{T@PU}{}{%
|
|
\input{puarenc.def}%
|
|
}%
|
|
}%
|
|
}
|
|
\define@key{Hyp}{colorlinks}[true]{%
|
|
\Hy@boolkey{colorlinks}{#1}%
|
|
}
|
|
\DeclareVoidOption{hidelinks}{%
|
|
\Hy@colorlinksfalse
|
|
\Hy@ocgcolorlinksfalse
|
|
\Hy@frenchlinksfalse
|
|
\def\Hy@colorlink##1{\begingroup}%
|
|
\def\Hy@endcolorlink{\endgroup}%
|
|
\def\@pdfborder{0 0 0}%
|
|
\let\@pdfborderstyle\ltx@empty
|
|
}
|
|
\define@key{Hyp}{ocgcolorlinks}[true]{%
|
|
\Hy@boolkey{ocgcolorlinks}{#1}%
|
|
}
|
|
\Hy@AtBeginDocument{%
|
|
\begingroup
|
|
\@ifundefined{OBJ@OCG@view}{%
|
|
\ifHy@ocgcolorlinks
|
|
\Hy@Warning{%
|
|
Driver does not support `ocgcolorlinks',\MessageBreak
|
|
using `colorlinks' instead%
|
|
}%
|
|
\fi
|
|
}{}%
|
|
\endgroup
|
|
}
|
|
\define@key{Hyp}{frenchlinks}[true]{%
|
|
\Hy@boolkey{frenchlinks}{#1}%
|
|
}
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname chapter\endcsname\relax
|
|
\def\toclevel@part{0}%
|
|
\else
|
|
\def\toclevel@part{-1}%
|
|
\fi
|
|
\def\toclevel@chapter{0}
|
|
\def\toclevel@section{1}
|
|
\def\toclevel@subsection{2}
|
|
\def\toclevel@subsubsection{3}
|
|
\def\toclevel@paragraph{4}
|
|
\def\toclevel@subparagraph{5}
|
|
\def\toclevel@figure{0}
|
|
\def\toclevel@table{0}
|
|
\@ifpackageloaded{listings}{%
|
|
\providecommand*\theHlstlisting{\thelstlisting}%
|
|
\providecommand*\toclevel@lstlisting{0}%
|
|
}{}
|
|
\@ifpackageloaded{listing}{%
|
|
\providecommand*\theHlisting{\thelisting}%
|
|
\providecommand*\toclevel@listing{0}%
|
|
}{}
|
|
\define@key{Hyp}{bookmarks}[true]{%
|
|
\Hy@boolkey{bookmarks}{#1}%
|
|
}
|
|
\define@key{Hyp}{bookmarksopen}[true]{%
|
|
\Hy@boolkey{bookmarksopen}{#1}%
|
|
}
|
|
\let\Hy@bookmarksdepth\c@tocdepth
|
|
\define@key{Hyp}{bookmarksdepth}[]{%
|
|
\begingroup
|
|
\edef\x{#1}%
|
|
\ifx\x\empty
|
|
\global\let\Hy@bookmarksdepth\c@tocdepth
|
|
\else
|
|
\@ifundefined{toclevel@\x}{%
|
|
\@onelevel@sanitize\x
|
|
\edef\y{\expandafter\@car\x\@nil}%
|
|
\ifcase 0\expandafter\ifx\y-1\fi
|
|
\expandafter\ifnum\expandafter`\y>47 %
|
|
\expandafter\ifnum\expandafter`\y<58 1\fi\fi\relax
|
|
\Hy@Warning{Unknown document division name (\x)}%
|
|
\else
|
|
\setbox\z@=\hbox{%
|
|
\count@=\x
|
|
\xdef\Hy@bookmarksdepth{\the\count@}%
|
|
}%
|
|
\fi
|
|
}{%
|
|
\setbox\z@=\hbox{%
|
|
\count@=\csname toclevel@\x\endcsname
|
|
\xdef\Hy@bookmarksdepth{\the\count@}%
|
|
}%
|
|
}%
|
|
\fi
|
|
\endgroup
|
|
}
|
|
\define@key{Hyp}{bookmarksopenlevel}{%
|
|
\def\@bookmarksopenlevel{#1}%
|
|
}
|
|
\def\@bookmarksopenlevel{\maxdimen}
|
|
\define@key{Hyp}{bookmarkstype}{%
|
|
\def\Hy@bookmarkstype{#1}%
|
|
}
|
|
\def\Hy@bookmarkstype{toc}
|
|
\define@key{Hyp}{bookmarksnumbered}[true]{%
|
|
\Hy@boolkey{bookmarksnumbered}{#1}%
|
|
}
|
|
\define@key{Hyp}{CJKbookmarks}[true]{%
|
|
\Hy@boolkey{CJKbookmarks}{#1}%
|
|
}
|
|
\def\Hy@temp#1{%
|
|
\expandafter\Hy@@temp\csname @#1color\endcsname{#1}%
|
|
}
|
|
\def\Hy@@temp#1#2#3{%
|
|
\define@key{Hyp}{#2color}{%
|
|
\HyColor@HyperrefColor{##1}#1%
|
|
}%
|
|
\def#1{#3}%
|
|
}
|
|
\Hy@temp{link}{red}
|
|
\Hy@temp{anchor}{black}
|
|
\Hy@temp{cite}{green}
|
|
\Hy@temp{file}{cyan}
|
|
\Hy@temp{url}{magenta}
|
|
\Hy@temp{menu}{red}
|
|
\Hy@temp{run}{\@filecolor}
|
|
\define@key{Hyp}{pagecolor}{%
|
|
\Hy@WarningPageColor
|
|
}
|
|
\def\Hy@WarningPageColor{%
|
|
\Hy@WarningNoLine{Option `pagecolor' is not available anymore}%
|
|
\global\let\Hy@WarningPageColor\relax
|
|
}
|
|
\define@key{Hyp}{allcolors}{%
|
|
\HyColor@HyperrefColor{#1}\@linkcolor
|
|
\HyColor@HyperrefColor{#1}\@anchorcolor
|
|
\HyColor@HyperrefColor{#1}\@citecolor
|
|
\HyColor@HyperrefColor{#1}\@filecolor
|
|
\HyColor@HyperrefColor{#1}\@urlcolor
|
|
\HyColor@HyperrefColor{#1}\@menucolor
|
|
\HyColor@HyperrefColor{#1}\@runcolor
|
|
}
|
|
\def\hyperbaseurl#1{\def\@baseurl{#1}}
|
|
\define@key{Hyp}{baseurl}{\hyperbaseurl{#1}}
|
|
\let\@baseurl\@empty
|
|
\def\hyperlinkfileprefix#1{\def\Hy@linkfileprefix{#1}}
|
|
\define@key{Hyp}{linkfileprefix}{\hyperlinkfileprefix{#1}}
|
|
\hyperlinkfileprefix{file:}
|
|
\let\@pdfpagetransition\relax
|
|
\define@key{Hyp}{pdfpagetransition}{%
|
|
\def\@pdfpagetransition{#1}%
|
|
}
|
|
\let\@pdfpageduration\relax
|
|
\define@key{Hyp}{pdfpageduration}{%
|
|
\def\@pdfpageduration{#1}%
|
|
\Hy@Match\@pdfpageduration{}{%
|
|
^(|[0-9]+\.?[0-9]*|[0-9]*\.?[0-9]+)$%
|
|
}{}{%
|
|
\Hy@Warning{%
|
|
Invalid value `\@pdfpageduration'\MessageBreak
|
|
of option `pdfpageduration'\MessageBreak
|
|
is replaced by an empty value%
|
|
}%
|
|
\let\@pdfpageduration\ltx@empty
|
|
}%
|
|
}
|
|
\newif\ifHy@useHidKey
|
|
\Hy@useHidKeyfalse
|
|
\define@key{Hyp}{pdfpagehidden}[true]{%
|
|
\Hy@boolkey{pdfpagehidden}{#1}%
|
|
\ifHy@pdfpagehidden
|
|
\global\Hy@useHidKeytrue
|
|
\fi
|
|
}
|
|
\def\Hy@ColorList{cite,file,link,menu,run,url}
|
|
\@for\Hy@temp:=\Hy@ColorList\do{%
|
|
\edef\Hy@temp{%
|
|
\noexpand\define@key{Hyp}{\Hy@temp bordercolor}{%
|
|
\noexpand\HyColor@HyperrefBorderColor
|
|
{##1}%
|
|
\expandafter\noexpand\csname @\Hy@temp bordercolor\endcsname
|
|
{hyperref}%
|
|
{\Hy@temp bordercolor}%
|
|
}%
|
|
}%
|
|
\Hy@temp
|
|
}
|
|
\define@key{Hyp}{pagebordercolor}{%
|
|
\Hy@WarningPageBorderColor
|
|
}
|
|
\def\Hy@WarningPageBorderColor{%
|
|
\Hy@WarningNoLine{Option `pagebordercolor' is not available anymore}%
|
|
\global\let\Hy@WarningPageBorderColor\relax
|
|
}
|
|
\define@key{Hyp}{allbordercolors}{%
|
|
\def\Hy@temp##1##2{%
|
|
\HyColor@HyperrefBorderColor{#1}##1{hyperref}{##2bordercolor}%
|
|
}%
|
|
\Hy@temp\@citebordercolor{cite}%
|
|
\Hy@temp\@filebordercolor{file}%
|
|
\Hy@temp\@linkbordercolor{link}%
|
|
\Hy@temp\@menubordercolor{menu}%
|
|
\Hy@temp\@runbordercolor{run}%
|
|
\Hy@temp\@urlbordercolor{url}%
|
|
}
|
|
\define@key{Hyp}{pdfhighlight}{\def\@pdfhighlight{#1}}
|
|
\Hy@DefNameKey{pdfhighlight}{%
|
|
\do{/I}{Invert}%
|
|
\do{/N}{None}%
|
|
\do{/O}{Outline}%
|
|
\do{/P}{Push}%
|
|
}
|
|
\def\Hy@setpdfhighlight{%
|
|
\ifx\@pdfhighlight\@empty
|
|
\else
|
|
/H\@pdfhighlight
|
|
\fi
|
|
}
|
|
\define@key{Hyp}{pdfborder}{%
|
|
\let\Hy@temp\@pdfborder
|
|
\def\@pdfborder{#1}%
|
|
\Hy@Match\@pdfborder{}{%
|
|
^\HyPat@NonNegativeReal/ %
|
|
\HyPat@NonNegativeReal/ %
|
|
\HyPat@NonNegativeReal/%
|
|
( ?\[\HyPat@NonNegativeReal/( \HyPat@NonNegativeReal/)*])?$%
|
|
}{}{%
|
|
\Hy@Warning{%
|
|
Invalid value `\@pdfborder'\MessageBreak
|
|
for option `pdfborder'.\MessageBreak
|
|
Option setting is ignored%
|
|
}%
|
|
\let\@pdfborder\Hy@temp
|
|
}%
|
|
}
|
|
\define@key{Hyp}{pdfborderstyle}{%
|
|
\let\Hy@temp\@pdfborderstyle
|
|
\def\@pdfborderstyle{#1}%
|
|
\Hy@Match\@pdfborderstyle{}{%
|
|
^%
|
|
( */Type */Border%
|
|
| */W +\HyPat@NonNegativeReal/%
|
|
| */S */[SDBIU]%
|
|
| */D *\[ *(\HyPat@NonNegativeReal/( \HyPat@NonNegativeReal/)?)?]%
|
|
)* *$%
|
|
}{}{%
|
|
\Hy@Warning{%
|
|
Invalid value `\@pdfborderstyle'\MessageBreak
|
|
for option `pdfborderstyle'.\MessageBreak
|
|
Option setting is ignored%
|
|
}%
|
|
\let\@pdfborderstyle\Hy@temp
|
|
}%
|
|
}
|
|
\def\Hy@setpdfborder{%
|
|
\ifx\@pdfborder\@empty
|
|
\else
|
|
/Border[\@pdfborder]%
|
|
\fi
|
|
\ifx\@pdfborderstyle\@empty
|
|
\else
|
|
/BS<<\@pdfborderstyle>>%
|
|
\fi
|
|
}
|
|
\Hy@DefNameKey{pdfpagemode}{%
|
|
\do{UseNone}{}%
|
|
\do{UseOutlines}{}%
|
|
\do{UseThumbs}{}%
|
|
\do{FullScreen}{}%
|
|
\do{UseOC}{PDF 1.5}%
|
|
\do{UseAttachments}{PDF 1.6}%
|
|
}
|
|
\Hy@DefNameKey{pdfnonfullscreenpagemode}{%
|
|
\do{UseNone}{}%
|
|
\do{UseOutlines}{}%
|
|
\do{UseThumbs}{}%
|
|
\do{FullScreen}{}%
|
|
\do{UseOC}{PDF 1.5}%
|
|
\do{UseAttachments}{PDF 1.6}%
|
|
}
|
|
\Hy@DefNameKey{pdfdirection}{%
|
|
\do{L2R}{Left to right}%
|
|
\do{R2L}{Right to left}%
|
|
}
|
|
\Hy@DefNameKey{pdfviewarea}{%
|
|
\do{MediaBox}{}%
|
|
\do{CropBox}{}%
|
|
\do{BleedBox}{}%
|
|
\do{TrimBox}{}%
|
|
\do{ArtBox}{}%
|
|
}
|
|
\Hy@DefNameKey{pdfviewclip}{%
|
|
\do{MediaBox}{}%
|
|
\do{CropBox}{}%
|
|
\do{BleedBox}{}%
|
|
\do{TrimBox}{}%
|
|
\do{ArtBox}{}%
|
|
}
|
|
\Hy@DefNameKey{pdfprintarea}{%
|
|
\do{MediaBox}{}%
|
|
\do{CropBox}{}%
|
|
\do{BleedBox}{}%
|
|
\do{TrimBox}{}%
|
|
\do{ArtBox}{}%
|
|
}
|
|
\Hy@DefNameKey{pdfprintclip}{%
|
|
\do{MediaBox}{}%
|
|
\do{CropBox}{}%
|
|
\do{BleedBox}{}%
|
|
\do{TrimBox}{}%
|
|
\do{ArtBox}{}%
|
|
}
|
|
\Hy@DefNameKey{pdfprintscaling}{%
|
|
\do{AppDefault}{}%
|
|
\do{None}{}%
|
|
}
|
|
\Hy@DefNameKey{pdfduplex}{%
|
|
\do{Simplex}{}%
|
|
\do{DuplexFlipShortEdge}{}%
|
|
\do{DuplexFlipLongEdge}{}%
|
|
}
|
|
\Hy@DefNameKey{pdfpicktraybypdfsize}{%
|
|
\do{true}{}%
|
|
\do{false}{}%
|
|
}
|
|
\define@key{Hyp}{pdfprintpagerange}{%
|
|
\def\@pdfprintpagerange{#1}%
|
|
}
|
|
\Hy@DefNameKey{pdfnumcopies}{%
|
|
\do{2}{two copies}%
|
|
\do{3}{three copies}%
|
|
\do{4}{four copies}%
|
|
\do{5}{five copies}%
|
|
}
|
|
\define@key{Hyp}{pdfusetitle}[true]{%
|
|
\Hy@boolkey{pdfusetitle}{#1}%
|
|
}
|
|
\def\HyXeTeX@CheckUnicode{%
|
|
\ifxetex
|
|
\ifHy@unicode
|
|
\else
|
|
\Hy@WarningNoLine{%
|
|
XeTeX driver only supports unicode.\MessageBreak
|
|
Enabling option `unicode'%
|
|
}%
|
|
\kvsetkeys{Hyp}{unicode}%
|
|
\fi
|
|
\else
|
|
\let\HyXeTeX@CheckUnicode\relax
|
|
\fi
|
|
}
|
|
\def\HyPsd@PrerenderUnicode#1{%
|
|
\begingroup
|
|
\expandafter\ifx\csname PrerenderUnicode\endcsname\relax
|
|
\else
|
|
\sbox0{%
|
|
\let\GenericInfo\@gobbletwo
|
|
\let\GenericWarning\@gobbletwo
|
|
\let\GenericError\@gobblefour
|
|
\PrerenderUnicode{#1}%
|
|
}%
|
|
\fi
|
|
\endgroup
|
|
}
|
|
\define@key{Hyp}{pdftitle}{%
|
|
\HyXeTeX@CheckUnicode
|
|
\HyPsd@PrerenderUnicode{#1}%
|
|
\pdfstringdef\@pdftitle{#1}%
|
|
}
|
|
\define@key{Hyp}{pdfauthor}{%
|
|
\HyXeTeX@CheckUnicode
|
|
\HyPsd@PrerenderUnicode{#1}%
|
|
\pdfstringdef\@pdfauthor{#1}%
|
|
}
|
|
\define@key{Hyp}{pdfproducer}{%
|
|
\HyXeTeX@CheckUnicode
|
|
\HyPsd@PrerenderUnicode{#1}%
|
|
\pdfstringdef\@pdfproducer{#1}%
|
|
}
|
|
\define@key{Hyp}{pdfcreator}{%
|
|
\HyXeTeX@CheckUnicode
|
|
\HyPsd@PrerenderUnicode{#1}%
|
|
\pdfstringdef\@pdfcreator{#1}%
|
|
}
|
|
\define@key{Hyp}{addtopdfcreator}{%
|
|
\HyXeTeX@CheckUnicode
|
|
\HyPsd@PrerenderUnicode{#1}%
|
|
\pdfstringdef\@pdfcreator{\@pdfcreator, #1}%
|
|
}
|
|
\define@key{Hyp}{pdfcreationdate}{%
|
|
\begingroup
|
|
\Hy@unicodefalse
|
|
\pdfstringdef\@pdfcreationdate{#1}%
|
|
\endgroup
|
|
}
|
|
\define@key{Hyp}{pdfmoddate}{%
|
|
\begingroup
|
|
\Hy@unicodefalse
|
|
\pdfstringdef\@pdfmoddate{#1}%
|
|
\endgroup
|
|
}
|
|
\define@key{Hyp}{pdfsubject}{%
|
|
\HyXeTeX@CheckUnicode
|
|
\HyPsd@PrerenderUnicode{#1}%
|
|
\pdfstringdef\@pdfsubject{#1}%
|
|
}
|
|
\define@key{Hyp}{pdfkeywords}{%
|
|
\HyXeTeX@CheckUnicode
|
|
\HyPsd@PrerenderUnicode{#1}%
|
|
\pdfstringdef\@pdfkeywords{#1}%
|
|
}
|
|
\define@key{Hyp}{pdftrapped}{%
|
|
\lowercase{\edef\Hy@temp{#1}}%
|
|
\ifx\Hy@temp\HyInfo@trapped@true
|
|
\def\@pdftrapped{True}%
|
|
\else
|
|
\ifx\Hy@temp\HyInfo@trapped@false
|
|
\def\@pdftrapped{False}%
|
|
\else
|
|
\ifx\Hy@temp\HyInfo@trapped@unknown
|
|
\def\@pdftrapped{Unknown}%
|
|
\else
|
|
\ifx\Hy@temp\@empty
|
|
\else
|
|
\Hy@Warning{%
|
|
Unsupported value `#1'\MessageBreak
|
|
for option `pdftrapped'%
|
|
}%
|
|
\fi
|
|
\def\@pdftrapped{}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\HyInfo@trapped@true{true}
|
|
\def\HyInfo@trapped@false{false}
|
|
\def\HyInfo@trapped@unknown{unknown}
|
|
\def\HyInfo@TrappedUnsupported{%
|
|
\ifx\@pdftrapped\@empty
|
|
\else
|
|
\Hy@WarningNoLine{`pdftrapped' is not supported by this driver}%
|
|
\gdef\HyInfo@TrappedUnsupported{}%
|
|
\fi
|
|
}
|
|
\define@key{Hyp}{pdfinfo}{%
|
|
\kvsetkeys{pdfinfo}{#1}%
|
|
}
|
|
\def\Hy@temp#1{%
|
|
\lowercase{\Hy@temp@A{#1}}{#1}%
|
|
}
|
|
\def\Hy@temp@A#1#2{%
|
|
\define@key{pdfinfo}{#2}{%
|
|
\hypersetup{pdf#1={##1}}%
|
|
}%
|
|
}
|
|
\Hy@temp{Title}
|
|
\Hy@temp{Author}
|
|
\Hy@temp{Keywords}
|
|
\Hy@temp{Subject}
|
|
\Hy@temp{Creator}
|
|
\Hy@temp{Producer}
|
|
\Hy@temp{CreationDate}
|
|
\Hy@temp{ModDate}
|
|
\Hy@temp{Trapped}
|
|
\newif\ifHyInfo@AddonUnsupported
|
|
\kv@set@family@handler{pdfinfo}{%
|
|
\HyInfo@AddonHandler{#1}{#2}%
|
|
}
|
|
\let\HyInfo@do\relax
|
|
\def\HyInfo@AddonHandler#1#2{%
|
|
\ifx\kv@value\relax
|
|
\Hy@Warning{%
|
|
Option `pdfinfo': ignoring key `\kv@key' without value%
|
|
}%
|
|
\else
|
|
\EdefEscapeName\HyInfo@KeyEscaped{\kv@key}%
|
|
\EdefUnescapeName\HyInfo@Key{\HyInfo@KeyEscaped}%
|
|
\expandafter\ifx\csname KV@pdfinfo@\HyInfo@Key\endcsname\relax
|
|
\ifHyInfo@AddonUnsupported
|
|
\Hy@Warning{%
|
|
This driver does not support additional\MessageBreak
|
|
information entries, therefore\MessageBreak
|
|
`\kv@key' is ignored%
|
|
}%
|
|
\else
|
|
\def\HyInfo@tmp##1{%
|
|
\kv@define@key{pdfinfo}{##1}{%
|
|
\HyXeTeX@CheckUnicode
|
|
\HyPsd@PrerenderUnicode{####1}%
|
|
\pdfstringdef\HyInfo@Value{####1}%
|
|
\global\expandafter
|
|
\let\csname HyInfo@Value@##1\endcsname
|
|
\HyInfo@Value
|
|
}%
|
|
}%
|
|
\expandafter\HyInfo@tmp\expandafter{\HyInfo@Key}%
|
|
\global\expandafter
|
|
\let\csname KV@pdfinfo@\HyInfo@Key\expandafter\endcsname
|
|
\csname KV@pdfinfo@\HyInfo@Key\endcsname
|
|
\xdef\HyInfo@AddonList{%
|
|
\HyInfo@AddonList
|
|
\HyInfo@do{\HyInfo@Key}%
|
|
}%
|
|
\kv@parse@normalized{%
|
|
\HyInfo@Key={#2}%
|
|
}{%
|
|
\kv@processor@default{pdfinfo}%
|
|
}%
|
|
\fi
|
|
\else
|
|
\kv@parse@normalized{%
|
|
\HyInfo@Key={#2}%
|
|
}{%
|
|
\kv@processor@default{pdfinfo}%
|
|
}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\HyInfo@GenerateAddons{%
|
|
\ifHyInfo@AddonUnsupported
|
|
\def\HyInfo@Addons{}%
|
|
\else
|
|
\begingroup
|
|
\toks@{}%
|
|
\def\HyInfo@do##1{%
|
|
\EdefEscapeName\HyInfo@Key{##1}%
|
|
\edef\x{%
|
|
\toks@{%
|
|
\the\toks@
|
|
/\HyInfo@Key(\csname HyInfo@Value@##1\endcsname)%
|
|
}%
|
|
}%
|
|
\x
|
|
}%
|
|
\HyInfo@AddonList
|
|
\edef\x{\endgroup
|
|
\def\noexpand\HyInfo@Addons{\the\toks@}%
|
|
}%
|
|
\x
|
|
\fi
|
|
}
|
|
\global\let\HyInfo@AddonList\ltx@empty
|
|
\define@key{Hyp}{pdfview}{\calculate@pdfview#1 \\}
|
|
\define@key{Hyp}{pdflinkmargin}{\setpdflinkmargin{#1}}
|
|
\let\setpdflinkmargin\@gobble
|
|
\def\calculate@pdfview#1 #2\\{%
|
|
\def\@pdfview{#1}%
|
|
\ifx\\#2\\%
|
|
\def\@pdfviewparams{ -32768}%
|
|
\else
|
|
\def\@pdfviewparams{ #2}%
|
|
\fi
|
|
}
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname numexpr\endcsname\relax
|
|
\def\Hy@number#1{%
|
|
\expandafter\@firstofone\expandafter{\number#1}%
|
|
}%
|
|
\else
|
|
\def\Hy@number#1{%
|
|
\the\numexpr#1\relax
|
|
}%
|
|
\fi
|
|
\define@key{Hyp}{pdfstartpage}{%
|
|
\ifx\\#1\\%
|
|
\let\@pdfstartpage\ltx@empty
|
|
\else
|
|
\edef\@pdfstartpage{\Hy@number{#1}}%
|
|
\fi
|
|
}%
|
|
\define@key{Hyp}{pdfstartview}{%
|
|
\ifx\\#1\\%
|
|
\let\@pdfstartview\ltx@empty
|
|
\else
|
|
\hypercalcbpdef\@pdfstartview{/#1}%
|
|
\fi
|
|
}
|
|
\def\HyPat@NonNegativeReal/{%
|
|
\ *([0-9]+\.?[0-9]*|[0-9]*\.?[0-9]+) *%
|
|
}
|
|
\define@key{Hyp}{pdfremotestartview}{%
|
|
\ifx\\#1\\%
|
|
\def\@pdfremotestartview{/Fit}%
|
|
\else
|
|
\hypercalcbpdef\@pdfremotestartview{#1}%
|
|
\edef\@pdfremotestartview{\@pdfremotestartview}%
|
|
\Hy@Match\@pdfremotestartview{}{%
|
|
^(XYZ(%
|
|
()| %
|
|
(null|-?\HyPat@NonNegativeReal/) %
|
|
(null|-?\HyPat@NonNegativeReal/) %
|
|
(null|\HyPat@NonNegativeReal/)%
|
|
)|% end of "XYZ"
|
|
Fit(%
|
|
()|%
|
|
B|%
|
|
(H|V|BH|BV)(%
|
|
()| %
|
|
(null|\HyPat@NonNegativeReal/)%
|
|
)|%
|
|
R %
|
|
\HyPat@NonNegativeReal/ %
|
|
\HyPat@NonNegativeReal/ %
|
|
\HyPat@NonNegativeReal/ %
|
|
\HyPat@NonNegativeReal/%
|
|
)% end of "Fit"
|
|
)$%
|
|
}{}{%
|
|
\Hy@Warning{%
|
|
Invalid value `\@pdfremotestartview'\MessageBreak
|
|
of `pdfremotestartview'\MessageBreak
|
|
is replaced by `Fit'%
|
|
}%
|
|
\let\@pdfremotestartview\@empty
|
|
}%
|
|
\ifx\@pdfremotestartview\@empty
|
|
\def\@pdfremotestartview{/Fit}%
|
|
\else
|
|
\edef\@pdfremotestartview{/\@pdfremotestartview}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\define@key{Hyp}{pdfpagescrop}{\edef\@pdfpagescrop{#1}}
|
|
\define@key{Hyp}{pdftoolbar}[true]{%
|
|
\Hy@boolkey{pdftoolbar}{#1}%
|
|
}
|
|
\define@key{Hyp}{pdfmenubar}[true]{%
|
|
\Hy@boolkey{pdfmenubar}{#1}%
|
|
}
|
|
\define@key{Hyp}{pdfwindowui}[true]{%
|
|
\Hy@boolkey{pdfwindowui}{#1}%
|
|
}
|
|
\define@key{Hyp}{pdffitwindow}[true]{%
|
|
\Hy@boolkey{pdffitwindow}{#1}%
|
|
}
|
|
\define@key{Hyp}{pdfcenterwindow}[true]{%
|
|
\Hy@boolkey{pdfcenterwindow}{#1}%
|
|
}
|
|
\define@key{Hyp}{pdfdisplaydoctitle}[true]{%
|
|
\Hy@boolkey{pdfdisplaydoctitle}{#1}%
|
|
}
|
|
\define@key{Hyp}{pdfa}[true]{%
|
|
\Hy@boolkey{pdfa}{#1}%
|
|
}
|
|
\define@key{Hyp}{pdfnewwindow}[true]{%
|
|
\def\Hy@temp{#1}%
|
|
\ifx\Hy@temp\@empty
|
|
\Hy@pdfnewwindowsetfalse
|
|
\else
|
|
\Hy@pdfnewwindowsettrue
|
|
\Hy@boolkey{pdfnewwindow}{#1}%
|
|
\fi
|
|
}
|
|
\def\Hy@SetNewWindow{%
|
|
\ifHy@pdfnewwindowset
|
|
/NewWindow %
|
|
\ifHy@pdfnewwindow true\else false\fi
|
|
\fi
|
|
}
|
|
\Hy@DefNameKey{pdfpagelayout}{%
|
|
\do{SinglePage}{}%
|
|
\do{OneColumn}{}%
|
|
\do{TwoColumnLeft}{}%
|
|
\do{TwoColumnRight}{}%
|
|
\do{TwoPageLeft}{PDF 1.5}%
|
|
\do{TwoPageRight}{PDF 1.5}%
|
|
}
|
|
\define@key{Hyp}{pdflang}{%
|
|
\edef\@pdflang{#1}%
|
|
\def\Hy@temp{\relax}%
|
|
\ifx\@pdflang\Hy@temp
|
|
\let\@pdflang\relax
|
|
\fi
|
|
\ifx\@pdflang\relax
|
|
\else
|
|
\ifx\@pdflang\ltx@empty
|
|
\else
|
|
\Hy@Match\@pdflang{icase}{%
|
|
^%
|
|
[a-z]{1,8}%
|
|
(-[a-z0-9]{1,8})*%
|
|
$%
|
|
}{%
|
|
\Hy@Match\@pdflang{icase}{%
|
|
^%
|
|
(%
|
|
% langtag
|
|
(% language
|
|
[a-z]{2,3}%
|
|
([a-z]{3}(-[a-z]{3}){0,2})?% extlang
|
|
|[a-z]{4}% reserved for future use
|
|
|[a-z]{5,8}% registered language subtag
|
|
)%
|
|
(-[a-z]{4})?% script
|
|
(-([a-z]{2}|[0-9]{3}))?% region
|
|
(-([a-z]{5,8}|[0-9][a-z0-9]{3}))*% variant
|
|
(-[0-9a-wyz](-[a-z0-9]{2,8})+)*% extension
|
|
(-x(-[a-z0-9]{1,8})+)?% privateuse
|
|
% privateuse
|
|
|x-([a-z0-9]{1,8})+%
|
|
% grandfathered/irregular
|
|
|en-GB-oed%
|
|
|i-(ami|bnn|default|enochian|hak|klingon|lux|%
|
|
mingo|navajo|pwn|tao|tay|tsu)%
|
|
|sgn-(BE-FR|BE-NL|CH-DE)%
|
|
% grandfathered/regular
|
|
|art-lojban%
|
|
|cel-gaulish%
|
|
|no-(bok|nyn)%
|
|
|zh-(guoyu|hakka|min|min-nan|xiang)%
|
|
)%
|
|
$%
|
|
}{%
|
|
\Hy@Match{-\@pdflang}{icase}{-[a-wyz0-9]-}{%
|
|
\Hy@Match\@pdflang{icase}{^x-}{}{%
|
|
% remove privateuse
|
|
\edef\Hy@temp{-\@pdflang}%
|
|
\Hy@Match\Hy@temp{icase}{%
|
|
^%
|
|
(%
|
|
(-[a-wyz0-9]|-[a-z0-9]{2,8})*%
|
|
)%
|
|
-x-%
|
|
}{%
|
|
\edef\Hy@temp{%
|
|
\expandafter\strip@prefix\pdflastmatch1%
|
|
}%
|
|
}{}%
|
|
\Hy@Match\Hy@temp{icase}{%
|
|
(-[a-wyz0-9]-).*\ltx@backslashchar1%
|
|
}{%
|
|
\Hy@Warning{%
|
|
Invalid language identifier `#1'\MessageBreak
|
|
for option `pdflang', because it violates\MessageBreak
|
|
well-formedness defined in RFC 4646\MessageBreak
|
|
by duplicate singleton subtags%
|
|
}%
|
|
\let\@pdflang\relax
|
|
}{}%
|
|
}%
|
|
}{}%
|
|
\ifx\@pdflang\relax
|
|
\else
|
|
\Hy@Match\@pdflang{icase}{%
|
|
^%
|
|
[a-zA-Z]{2}-%
|
|
(%
|
|
aa|AA|%
|
|
[qQ][m-zM-Z]|%
|
|
[xX][a-zA-Z]|%
|
|
zz|ZZ%
|
|
)%
|
|
(-|$)%
|
|
}{%
|
|
\Hy@Warning{%
|
|
Invalid language identifier `#1'\MessageBreak
|
|
for option `pdflang' because of invalid country code%
|
|
\MessageBreak
|
|
in second subtag (RFC 3066)%
|
|
}%
|
|
\let\@pdflang\relax
|
|
}{}%
|
|
\fi
|
|
}{%
|
|
\Hy@Warning{%
|
|
Invalid language identifier `#1'\MessageBreak
|
|
for option `pdflang', because it violates\MessageBreak
|
|
well-formedness defined in RFC 5646%
|
|
}%
|
|
\let\@pdflang\relax
|
|
}%
|
|
}{%
|
|
\Hy@Warning{%
|
|
Invalid language identifier `#1'\MessageBreak
|
|
for option `pdflang' (RFC 3066)%
|
|
}%
|
|
\let\@pdflang\relax
|
|
}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\define@key{Hyp}{pdfpagelabels}[true]{%
|
|
\Hy@boolkey{pdfpagelabels}{#1}%
|
|
}
|
|
\define@key{Hyp}{pdfescapeform}[true]{%
|
|
\Hy@boolkey{pdfescapeform}{#1}%
|
|
}
|
|
\def\@linkbordercolor{1 0 0}
|
|
\def\@urlbordercolor{0 1 1}
|
|
\def\@menubordercolor{1 0 0}
|
|
\def\@filebordercolor{0 .5 .5}
|
|
\def\@runbordercolor{0 .7 .7}
|
|
\def\@citebordercolor{0 1 0}
|
|
\def\@pdfhighlight{/I}
|
|
\let\@pdftitle\ltx@empty
|
|
\let\@pdfauthor\ltx@empty
|
|
\let\@pdfproducer\relax
|
|
\def\@pdfcreator{LaTeX with hyperref}
|
|
\let\@pdfcreationdate\ltx@empty
|
|
\let\@pdfmoddate\ltx@empty
|
|
\let\@pdfsubject\ltx@empty
|
|
\let\@pdfkeywords\ltx@empty
|
|
\let\@pdftrapped\ltx@empty
|
|
\let\@pdfpagescrop\ltx@empty
|
|
\def\@pdfstartview{/Fit}
|
|
\def\@pdfremotestartview{/Fit}
|
|
\def\@pdfstartpage{1}
|
|
\let\@pdfprintpagerange\ltx@empty
|
|
\let\@pdflang\relax
|
|
\let\PDF@SetupDoc\@empty
|
|
\let\PDF@FinishDoc\@empty
|
|
\let\phantomsection\@empty
|
|
\let\special@paper\@empty
|
|
\def\HyperDestNameFilter#1{#1}
|
|
\Hy@AtBeginDocument{%
|
|
\begingroup
|
|
\edef\x{\@ifundefined{stockheight}\paperheight\stockheight}%
|
|
\dimen@=\x\relax
|
|
\ifdim\dimen@>\z@
|
|
\else
|
|
\dimen@=11in\relax
|
|
\Hy@WarningNoLine{%
|
|
Height of page (\expandafter\string\x) %
|
|
is invalid (\the\x),\MessageBreak
|
|
using 11in%
|
|
}%
|
|
\fi
|
|
\dimen@=0.99626401\dimen@
|
|
\xdef\Hy@pageheight{\strip@pt\dimen@}%
|
|
\endgroup
|
|
}
|
|
\def\HyInd@EncapChar{\|}
|
|
\let\hyper@normalise\ExecuteOptions
|
|
\let\ExecuteOptions\hypersetup
|
|
\Hy@RestoreCatcodes
|
|
\InputIfFileExists{hyperref.cfg}{}{}
|
|
\Hy@SetCatcodes
|
|
\let\ExecuteOptions\hyper@normalise
|
|
\ifx\Hy@MaybeStopNow\relax
|
|
\else
|
|
\Hy@stoppedearlytrue
|
|
\expandafter\Hy@MaybeStopNow
|
|
\fi
|
|
\Hy@stoppedearlyfalse
|
|
\SetupKeyvalOptions{family=Hyp}
|
|
\DeclareLocalOptions{%
|
|
a4paper,a5paper,b5paper,letterpaper,legalpaper,executivepaper%
|
|
}
|
|
\@ifpackagewith{hyperref}{tex4ht}{%
|
|
}{%
|
|
\@ifpackageloaded{tex4ht}{%
|
|
\PassOptionsToPackage{tex4ht}{hyperref}%
|
|
}{%
|
|
\ltx@IfUndefined{HCode}{%
|
|
}{%
|
|
\begingroup
|
|
\def\Hy@pkg{tex4ht}%
|
|
\def\Hy@temp@A#1\RequirePackage[#2]#3#4\Hy@NIL{%
|
|
\def\Hy@param{#2#3}%
|
|
\ifx\Hy@param\ltx@empty
|
|
\expandafter\ltx@gobble
|
|
\else
|
|
\def\Hy@param{#3}%
|
|
\ifx\Hy@param\Hy@pkg
|
|
\PassOptionsToPackage{#2}{tex4ht}%
|
|
\expandafter\expandafter\expandafter\@gobble
|
|
\else
|
|
\expandafter\expandafter\expandafter\ltx@firstofone
|
|
\fi
|
|
\fi
|
|
{\Hy@temp@A#4\Hy@NIL}%
|
|
}%
|
|
\expandafter
|
|
\Hy@temp@A\@documentclasshook\RequirePackage[]{}\Hy@NIL
|
|
\endgroup
|
|
\PassOptionsToPackage{tex4ht}{hyperref}%
|
|
}%
|
|
}%
|
|
}
|
|
\let\ReadBookmarks\relax
|
|
\ProcessKeyvalOptions{Hyp}
|
|
\def\Hy@xspace@end{}
|
|
\ltx@IfUndefined{xspaceaddexceptions}{%
|
|
\Hy@AtBeginDocument{%
|
|
\ltx@IfUndefined{xspaceaddexceptions}{%
|
|
}{%
|
|
\def\Hy@xspace@end{%
|
|
\ltx@gobble{end for xspace}%
|
|
}%
|
|
\xspaceaddexceptions{%
|
|
\Hy@xspace@end,\hyper@linkend,\hyper@anchorend
|
|
}%
|
|
}%
|
|
}%
|
|
}{%
|
|
\def\Hy@xspace@end{%
|
|
\ltx@gobble{end for xspace}%
|
|
}%
|
|
\xspaceaddexceptions{\Hy@xspace@end,\hyper@linkend,\hyper@anchorend}%
|
|
}
|
|
\Hy@AtBeginDocument{%
|
|
\ifHy@draft
|
|
\let\hyper@@anchor\@gobble
|
|
\gdef\hyper@link#1#2#3{#3\Hy@xspace@end}%
|
|
\def\hyper@anchorstart#1#2{#2\Hy@xspace@end}%
|
|
\def\hyper@anchorend{\Hy@xspace@end}%
|
|
\let\hyper@linkstart\@gobbletwo
|
|
\def\hyper@linkend{\Hy@xspace@end}%
|
|
\def\hyper@linkurl#1#2{#1\Hy@xspace@end}%
|
|
\def\hyper@linkfile#1#2#3{#1\Hy@xspace@end}%
|
|
\def\hyper@link@[#1]#2#3#4{#4\Hy@xspace@end}%
|
|
\def\Acrobatmenu#1#2{\leavevmode#2\Hy@xspace@end}%
|
|
\let\PDF@SetupDoc\@empty
|
|
\let\PDF@FinishDoc\@empty
|
|
\let\@fifthoffive\@secondoftwo
|
|
\let\@secondoffive\@secondoftwo
|
|
\let\ReadBookmarks\relax
|
|
\let\WriteBookmarks\relax
|
|
\Hy@WarningNoLine{Draft mode on}%
|
|
\fi
|
|
\Hy@DisableOption{draft}%
|
|
\Hy@DisableOption{nolinks}%
|
|
\Hy@DisableOption{final}%
|
|
}
|
|
\Hy@DisableOption{pdfa}
|
|
\ifHy@pdfa
|
|
\ifnum \Hy@pdf@majorminor@version< 104
|
|
\kvsetkeys{Hyp}{pdfversion=1.4}%
|
|
\fi
|
|
\Hy@DisableOption{pdfversion}%
|
|
\def\Hy@Acrobatmenu#1#2{%
|
|
\leavevmode
|
|
\begingroup
|
|
\edef\x{#1}%
|
|
\@onelevel@sanitize\x
|
|
\ifx\x\Hy@NextPage
|
|
\let\y=Y%
|
|
\else
|
|
\ifx\x\Hy@PrevPage
|
|
\let\y=Y%
|
|
\else
|
|
\ifx\x\Hy@FirstPage
|
|
\let\y=Y%
|
|
\else
|
|
\ifx\x\Hy@LastPage
|
|
\let\y=Y%
|
|
\else
|
|
\let\y=N%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\expandafter\endgroup
|
|
\ifx\y Y%
|
|
\else
|
|
\Hy@Error{%
|
|
PDF/A: Named action `#1' is not permitted%
|
|
}\@ehc
|
|
{#2}%
|
|
\expandafter\@gobble
|
|
\fi
|
|
}%
|
|
\def\Hy@temp#1{%
|
|
\expandafter\def\csname Hy@#1\endcsname{#1}%
|
|
\expandafter\@onelevel@sanitize\csname Hy@#1\endcsname
|
|
}%
|
|
\Hy@temp{NextPage}%
|
|
\Hy@temp{PrevPage}%
|
|
\Hy@temp{FirstPage}%
|
|
\Hy@temp{LastPage}%
|
|
\else
|
|
\def\Hy@Acrobatmenu#1#2{\leavevmode}%
|
|
\fi
|
|
\Hy@nextfalse
|
|
\ltx@IfUndefined{spanish@sh@"@sel}{}{\Hy@nexttrue}
|
|
\ltx@IfUndefined{galician@sh@"@sel}{}{\Hy@nexttrue}
|
|
\ltx@IfUndefined{estonian@sh@"@sel}{}{\Hy@nexttrue}
|
|
\ifHy@next
|
|
\let\texttilde\~%
|
|
\fi
|
|
\def\Hy@wrapper@babel#1#2{%
|
|
\begingroup
|
|
\Hy@safe@activestrue
|
|
\set@display@protect
|
|
\edef\x{#2}%
|
|
\@onelevel@sanitize\x
|
|
\toks@{#1}%
|
|
\edef\x{\endgroup\the\toks@{\x}}%
|
|
\x
|
|
}
|
|
\def\Hy@WrapperDef#1{%
|
|
\begingroup
|
|
\escapechar=\m@ne
|
|
\xdef\Hy@gtemp{%
|
|
\expandafter\noexpand\csname HyWrap@\string#1\endcsname
|
|
}%
|
|
\endgroup
|
|
\edef#1{%
|
|
\noexpand\Hy@wrapper@babel
|
|
\expandafter\noexpand\Hy@gtemp
|
|
}%
|
|
\expandafter\def\Hy@gtemp
|
|
}
|
|
\ifHy@hyperfigures
|
|
\Hy@Info{Hyper figures ON}%
|
|
\else
|
|
\Hy@Info{Hyper figures OFF}%
|
|
\fi
|
|
\ifHy@nesting
|
|
\Hy@Info{Link nesting ON}%
|
|
\else
|
|
\Hy@Info{Link nesting OFF}%
|
|
\fi
|
|
\ifHy@hyperindex
|
|
\Hy@Info{Hyper index ON}%
|
|
\else
|
|
\Hy@Info{Hyper index OFF}%
|
|
\fi
|
|
\ifHy@plainpages
|
|
\Hy@Info{Plain pages ON}%
|
|
\else
|
|
\Hy@Info{Plain pages OFF}%
|
|
\fi
|
|
\ifHy@backref
|
|
\Hy@Info{Backreferencing ON}%
|
|
\else
|
|
\Hy@Info{Backreferencing OFF}%
|
|
\fi
|
|
\ifHy@typexml
|
|
\Hy@AtEndOfPackage{%
|
|
\RequirePackage{color}%
|
|
\RequirePackage{nameref}[2012/07/28]%
|
|
}%
|
|
\fi
|
|
\Hy@DisableOption{typexml}
|
|
\ifHy@implicit
|
|
\Hy@InfoNoLine{Implicit mode ON; LaTeX internals redefined}%
|
|
\else
|
|
\Hy@InfoNoLine{Implicit mode OFF; no redefinition of LaTeX internals}%
|
|
\def\MaybeStopEarly{%
|
|
\Hy@Message{Stopped early}%
|
|
\Hy@AtBeginDocument{%
|
|
\PDF@FinishDoc
|
|
\gdef\PDF@FinishDoc{}%
|
|
}%
|
|
\endinput
|
|
}%
|
|
\Hy@AtBeginDocument{%
|
|
\let\autoref\ref
|
|
\let\autopageref\pageref
|
|
\ifx\@pdfpagemode\@empty
|
|
\gdef\@pdfpagemode{UseNone}%
|
|
\fi
|
|
\global\Hy@backreffalse
|
|
}%
|
|
\Hy@AtEndOfPackage{%
|
|
\global\let\ReadBookmarks\relax
|
|
\global\let\WriteBookmarks\relax
|
|
}%
|
|
\fi
|
|
\Hy@DisableOption{implicit}
|
|
\Hy@AtEndOfPackage{%
|
|
\@ifpackageloaded{tex4ht}{%
|
|
\def\Hy@driver{htex4ht}%
|
|
\Hy@texhttrue
|
|
}{}%
|
|
\ifx\Hy@driver\@empty
|
|
\else
|
|
\ifx\pdfextension\@undefined
|
|
\def\Hy@temp{hpdftex}%
|
|
\else
|
|
\def\Hy@temp{hluatex}%
|
|
\fi
|
|
\ifpdf
|
|
\ifx\Hy@driver\Hy@temp
|
|
\else
|
|
\Hy@WarningNoLine{%
|
|
Wrong driver `\Hy@driver.def';\MessageBreak
|
|
pdfTeX is running in PDF mode.\MessageBreak
|
|
Forcing driver `\Hy@temp.def'%
|
|
}%
|
|
\let\Hy@driver\Hy@temp
|
|
\fi
|
|
\else
|
|
\ifx\Hy@driver\Hy@temp
|
|
\Hy@WarningNoLine{%
|
|
Wrong driver `\Hy@driver.def';\MessageBreak
|
|
pdfTeX is not running in PDF mode.\MessageBreak
|
|
Using default driver%
|
|
}%
|
|
\let\Hy@driver\@empty
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\ifHy@texht
|
|
\else
|
|
\ifx\Hy@driver\@empty
|
|
\else
|
|
\def\Hy@temp{hxetex}%
|
|
\ifxetex
|
|
\ifx\Hy@driver\Hy@temp
|
|
\else
|
|
\Hy@WarningNoLine{%
|
|
Wrong driver `\Hy@driver.def';\MessageBreak
|
|
XeTeX is running.\MessageBreak
|
|
Forcing driver `\Hy@temp.def' for XeTeX%
|
|
}%
|
|
\let\Hy@driver\Hy@temp
|
|
\fi
|
|
\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
|
|
\else
|
|
\Hy@WarningNoLine{%
|
|
Wrong driver `\Hy@driver.def';\MessageBreak
|
|
VTeX is running in HTML mode.\MessageBreak
|
|
Forcing driver `\Hy@temp.def'%
|
|
}%
|
|
\let\Hy@driver\Hy@temp
|
|
\fi
|
|
\else
|
|
\ifx\Hy@driver\Hy@temp
|
|
\Hy@WarningNoLine{%
|
|
Wrong driver `\Hy@driver.def';\MessageBreak
|
|
VTeX is not running in HTML mode.\MessageBreak
|
|
Using default driver%
|
|
}%
|
|
\let\Hy@driver\@empty
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\let\HyOpt@DriverType\ltx@empty
|
|
\ifx\HyOpt@CustomDriver\ltx@empty
|
|
\ifx\Hy@driver\@empty
|
|
\def\HyOpt@DriverType{ (autodetected)}%
|
|
\providecommand*{\Hy@defaultdriver}{hdvips}%
|
|
\ifpdf
|
|
\ifx\pdfextension\@undefined
|
|
\def\Hy@driver{hpdftex}%
|
|
\else
|
|
\def\Hy@driver{hluatex}%
|
|
\fi
|
|
\else
|
|
\ifxetex
|
|
\def\Hy@driver{hxetex}%
|
|
\else
|
|
\ifnum\ifvtex\OpMode\else\m@ne\fi=10 %
|
|
\def\Hy@driver{hvtexhtm}%
|
|
\def\MaybeStopEarly{%
|
|
\Hy@Message{Stopped early}%
|
|
\Hy@AtBeginDocument{%
|
|
\PDF@FinishDoc
|
|
\gdef\PDF@FinishDoc{}%
|
|
}%
|
|
\endinput
|
|
}%
|
|
\else
|
|
\ifnum\ifvtex\OpMode\else\m@ne\fi=\@ne
|
|
\def\Hy@driver{hvtex}%
|
|
\else
|
|
\ifnum\ifvtex\OpMode\else\m@ne\fi=\tw@
|
|
\def\Hy@driver{hvtex}%
|
|
\else
|
|
\ifx\HyOpt@DriverFallback\ltx@empty
|
|
\let\Hy@driver\Hy@defaultdriver
|
|
\def\HyOpt@DriverType{ (default)}%
|
|
\else
|
|
\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
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\ifx\Hy@driver\Hy@defaultdriver
|
|
\def\Hy@temp{hdviwind}%
|
|
\ifx\Hy@temp\Hy@driver
|
|
\kvsetkeys{Hyp}{colorlinks}%
|
|
\PassOptionsToPackage{dviwindo}{color}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\else
|
|
\def\HyOpt@DriverType{ (custom)}%
|
|
\let\Hy@driver\HyOpt@CustomDriver
|
|
\fi
|
|
\Hy@InfoNoLine{Driver\HyOpt@DriverType: \Hy@driver}%
|
|
\chardef\Hy@VersionChecked=0 %
|
|
\input{\Hy@driver.def}%
|
|
\ifcase\Hy@VersionChecked
|
|
\Hy@VersionCheck{\Hy@driver.def}%
|
|
\fi
|
|
\let\@unprocessedoptions\relax
|
|
\Hy@RestoreCatcodes
|
|
\Hy@DisableOption{tex4ht}%
|
|
\Hy@DisableOption{pdftex}%
|
|
\Hy@DisableOption{nativepdf}%
|
|
\Hy@DisableOption{dvipdfm}%
|
|
\Hy@DisableOption{dvipdfmx}%
|
|
\Hy@DisableOption{dvipdfmx-outline-open}%
|
|
\Hy@DisableOption{pdfmark}%
|
|
\Hy@DisableOption{dvips}%
|
|
\Hy@DisableOption{hypertex}%
|
|
\Hy@DisableOption{vtex}%
|
|
\Hy@DisableOption{vtexpdfmark}%
|
|
\Hy@DisableOption{dviwindo}%
|
|
\Hy@DisableOption{dvipsone}%
|
|
\Hy@DisableOption{textures}%
|
|
\Hy@DisableOption{latex2html}%
|
|
\Hy@DisableOption{ps2pdf}%
|
|
\Hy@DisableOption{xetex}%
|
|
\Hy@DisableOption{driverfallback}%
|
|
\Hy@DisableOption{customdriver}%
|
|
\Hy@DisableOption{pdfversion}%
|
|
}
|
|
\newif\ifHy@DvipdfmxOutlineOpen
|
|
\ifxetex
|
|
\ifdim\number\XeTeXversion\XeTeXrevision in<0.9995in %
|
|
\else
|
|
\chardef\SpecialDvipdfmxOutlineOpen\@ne
|
|
\Hy@DvipdfmxOutlineOpentrue
|
|
\fi
|
|
\fi
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname SpecialDvipdfmxOutlineOpen\endcsname\relax
|
|
\else
|
|
\ifnum\SpecialDvipdfmxOutlineOpen>\z@
|
|
\Hy@DvipdfmxOutlineOpentrue
|
|
\fi
|
|
\fi
|
|
\def\WriteBookmarks{0}
|
|
\def\@bookmarkopenstatus#1{%
|
|
\ifHy@bookmarksopen
|
|
\ifnum#1<\expandafter\@firstofone\expandafter
|
|
{\number\@bookmarksopenlevel} % explicit space
|
|
\else
|
|
-%
|
|
\fi
|
|
\else
|
|
-%
|
|
\fi
|
|
}
|
|
\ifHy@bookmarks
|
|
\Hy@Info{Bookmarks ON}%
|
|
\ifx\@pdfpagemode\@empty
|
|
\def\@pdfpagemode{UseOutlines}%
|
|
\fi
|
|
\else
|
|
\let\@bookmarkopenstatus\ltx@gobble
|
|
\Hy@Info{Bookmarks OFF}%
|
|
\Hy@AtEndOfPackage{%
|
|
\global\let\ReadBookmarks\relax
|
|
\global\let\WriteBookmarks\relax
|
|
}%
|
|
\ifx\@pdfpagemode\@empty
|
|
\def\@pdfpagemode{UseNone}%
|
|
\fi
|
|
\fi
|
|
\Hy@DisableOption{bookmarks}
|
|
\def\Hy@CatcodeWrapper#1{%
|
|
\let\Hy@EndWrap\ltx@empty
|
|
\def\TMP@EnsureCode##1##2{%
|
|
\edef\Hy@EndWrap{%
|
|
\Hy@EndWrap
|
|
\catcode##1 \the\catcode##1\relax
|
|
}%
|
|
\catcode##1 ##2\relax
|
|
}%
|
|
\TMP@EnsureCode{10}{12}% ^^J
|
|
\TMP@EnsureCode{33}{12}% !
|
|
\TMP@EnsureCode{34}{12}% "
|
|
\TMP@EnsureCode{36}{3}% $ (math)
|
|
\TMP@EnsureCode{38}{4}% & (alignment)
|
|
\TMP@EnsureCode{39}{12}% '
|
|
\TMP@EnsureCode{40}{12}% (
|
|
\TMP@EnsureCode{41}{12}% )
|
|
\TMP@EnsureCode{42}{12}% *
|
|
\TMP@EnsureCode{43}{12}% +
|
|
\TMP@EnsureCode{44}{12}% ,
|
|
\TMP@EnsureCode{45}{12}% -
|
|
\TMP@EnsureCode{46}{12}% .
|
|
\TMP@EnsureCode{47}{12}% /
|
|
\TMP@EnsureCode{58}{12}% :
|
|
\TMP@EnsureCode{59}{12}% ;
|
|
\TMP@EnsureCode{60}{12}% <
|
|
\TMP@EnsureCode{61}{12}% =
|
|
\TMP@EnsureCode{62}{12}% >
|
|
\TMP@EnsureCode{63}{12}% ?
|
|
\TMP@EnsureCode{91}{12}% [
|
|
\TMP@EnsureCode{93}{12}% ]
|
|
\TMP@EnsureCode{94}{7}% ^ (superscript)
|
|
\TMP@EnsureCode{95}{8}% _ (subscript)
|
|
\TMP@EnsureCode{96}{12}% `
|
|
\TMP@EnsureCode{124}{12}% |
|
|
\TMP@EnsureCode{126}{13}% ~ (active)
|
|
#1\relax
|
|
\Hy@EndWrap
|
|
}
|
|
\Hy@AtBeginDocument{%
|
|
\ifHy@ocgcolorlinks
|
|
\kvsetkeys{Hyp}{colorlinks}%
|
|
\ifHy@pdfa
|
|
\Hy@Warning{%
|
|
PDF/A: Optional Content Groups are prohibited,\MessageBreak
|
|
using `colorlinks' instead of `ocgcolorlinks'%
|
|
}%
|
|
\Hy@ocgcolorlinksfalse
|
|
\fi
|
|
\fi
|
|
\ifHy@ocgcolorlinks
|
|
\else
|
|
\Hy@DisableOption{ocgcolorlinks}%
|
|
\fi
|
|
\ifHy@colorlinks
|
|
\def\@pdfborder{0 0 0}%
|
|
\let\@pdfborderstyle\@empty
|
|
\ifHy@typexml
|
|
\else
|
|
\Hy@CatcodeWrapper{%
|
|
\RequirePackage{color}%
|
|
}%
|
|
\fi
|
|
\def\Hy@colorlink#1{%
|
|
\begingroup
|
|
\HyColor@UseColor#1%
|
|
}%
|
|
\def\Hy@endcolorlink{\endgroup}%
|
|
\Hy@Info{Link coloring ON}%
|
|
\else
|
|
\ifHy@frenchlinks
|
|
\def\Hy@colorlink#1{\begingroup\fontshape{\scdefault}\selectfont}%
|
|
\def\Hy@endcolorlink{\endgroup}%
|
|
\Hy@Info{French linking ON}%
|
|
\else
|
|
\def\Hy@colorlink#1{\begingroup}%
|
|
\def\Hy@endcolorlink{\endgroup}%
|
|
\Hy@Info{Link coloring OFF}%
|
|
\fi
|
|
\fi
|
|
\Hy@DisableOption{colorlinks}%
|
|
\Hy@DisableOption{frenchlinks}%
|
|
\ifHy@texht
|
|
\long\def\@firstoffive#1#2#3#4#5{#1}%
|
|
\long\def\@secondoffive#1#2#3#4#5{#2}%
|
|
\long\def\@thirdoffive#1#2#3#4#5{#3}%
|
|
\long\def\@fourthoffive#1#2#3#4#5{#4}%
|
|
\long\def\@fifthoffive#1#2#3#4#5{#5}%
|
|
\providecommand*\@safe@activestrue{}%
|
|
\providecommand*\@safe@activesfalse{}%
|
|
\def\T@ref#1{%
|
|
\Hy@safe@activestrue
|
|
\expandafter\@setref\csname r@#1\endcsname\@firstoffive{#1}%
|
|
\Hy@safe@activesfalse
|
|
}%
|
|
\def\T@pageref#1{%
|
|
\Hy@safe@activestrue
|
|
\expandafter\@setref\csname r@#1\endcsname\@secondoffive{#1}%
|
|
\Hy@safe@activesfalse
|
|
}%
|
|
\else
|
|
\ifHy@typexml
|
|
\else
|
|
\Hy@CatcodeWrapper{%
|
|
\RequirePackage{nameref}[2012/07/28]%
|
|
}%
|
|
\fi
|
|
\fi
|
|
\DeclareRobustCommand\ref{%
|
|
\@ifstar\@refstar\T@ref
|
|
}%
|
|
\DeclareRobustCommand\pageref{%
|
|
\@ifstar\@pagerefstar\T@pageref
|
|
}%
|
|
\DeclareRobustCommand*{\nameref}{%
|
|
\@ifstar\@namerefstar\T@nameref
|
|
}%
|
|
\ifHy@implicit
|
|
\else
|
|
\let \@pagerefstar\T@pageref
|
|
\let \@refstar\T@ref
|
|
\let \@namerefstar\T@nameref
|
|
\fi
|
|
}
|
|
\Hy@AtBeginDocument{%
|
|
\ifHy@texht
|
|
\else
|
|
\Hy@CatcodeWrapper\ReadBookmarks
|
|
\fi
|
|
}
|
|
\ifHy@backref
|
|
\RequirePackage{backref}%
|
|
\else
|
|
\let\Hy@backout\@gobble
|
|
\fi
|
|
\Hy@DisableOption{backref}
|
|
\Hy@DisableOption{pagebackref}
|
|
\Hy@activeanchorfalse
|
|
\begingroup
|
|
\endlinechar=-1 %
|
|
\catcode`\^^A=14 %
|
|
\catcode`\^^M\active
|
|
\catcode`\%\active
|
|
\catcode`\#\active
|
|
\catcode`\_\active
|
|
\catcode`\$\active
|
|
\catcode`\&\active
|
|
\gdef\hyper@normalise{^^A
|
|
\begingroup
|
|
\catcode`\^^M\active
|
|
\def^^M{ }^^A
|
|
\catcode`\%\active
|
|
\let%\@percentchar
|
|
\let\%\@percentchar
|
|
\catcode`\#\active
|
|
\def#{\hyper@hash}^^A
|
|
\def\#{\hyper@hash}^^A
|
|
\@makeother\&^^A
|
|
\edef&{\string&}^^A
|
|
\edef\&{\string&}^^A
|
|
\edef\textunderscore{\string_}^^A
|
|
\let\_\textunderscore
|
|
\catcode`\_\active
|
|
\let_\textunderscore
|
|
\let~\hyper@tilde
|
|
\let\~\hyper@tilde
|
|
\let\textasciitilde\hyper@tilde
|
|
\let\\\@backslashchar
|
|
\edef${\string$}^^A
|
|
\Hy@safe@activestrue
|
|
\hyper@n@rmalise
|
|
}^^A
|
|
\catcode`\#=6 ^^A
|
|
\gdef\Hy@ActiveCarriageReturn{^^M}^^A
|
|
\gdef\hyper@n@rmalise#1#2{^^A
|
|
\def\Hy@tempa{#2}^^A
|
|
\ifx\Hy@tempa\Hy@ActiveCarriageReturn
|
|
\ltx@ReturnAfterElseFi{^^A
|
|
\hyper@@normalise{#1}^^A
|
|
}^^A
|
|
\else
|
|
\ltx@ReturnAfterFi{^^A
|
|
\hyper@@normalise{#1}{#2}^^A
|
|
}^^A
|
|
\fi
|
|
}^^A
|
|
\gdef\hyper@@normalise#1#2{^^A
|
|
\edef\Hy@tempa{^^A
|
|
\endgroup
|
|
\noexpand#1{\Hy@RemovePercentCr#2%^^M\@nil}^^A
|
|
}^^A
|
|
\Hy@tempa
|
|
}^^A
|
|
\gdef\Hy@RemovePercentCr#1%^^M#2\@nil{^^A
|
|
#1^^A
|
|
\ifx\limits#2\limits
|
|
\else
|
|
\ltx@ReturnAfterFi{^^A
|
|
\Hy@RemovePercentCr #2\@nil
|
|
}^^A
|
|
\fi
|
|
}^^A
|
|
\endgroup
|
|
\providecommand*\hyper@chars{%
|
|
\let\#\hyper@hash
|
|
\let\%\@percentchar
|
|
\Hy@safe@activestrue
|
|
}
|
|
\def\hyperlink#1#2{%
|
|
\hyper@@link{}{#1}{#2}%
|
|
}
|
|
\def\Hy@VerboseLinkStart#1#2{%
|
|
\ifHy@verbose
|
|
\begingroup
|
|
\Hy@safe@activestrue
|
|
\xdef\Hy@VerboseGlobalTemp{(#1) `#2'}%
|
|
\Hy@Info{Reference \Hy@VerboseGlobalTemp}%
|
|
\xdef\Hy@VerboseGlobalTemp{%
|
|
\Hy@VerboseGlobalTemp, %
|
|
line \the\inputlineno
|
|
}%
|
|
\endgroup
|
|
\let\Hy@VerboseLinkInfo\Hy@VerboseGlobalTemp
|
|
\@onelevel@sanitize\Hy@VerboseLinkInfo
|
|
\fi
|
|
}
|
|
\def\Hy@VerboseLinkInfo{<VerboseLinkInfo>}
|
|
\def\Hy@VerboseLinkStop{%
|
|
\ifHy@verbose
|
|
\begingroup
|
|
\edef\x{\endgroup
|
|
\write\m@ne{%
|
|
Package `hyperref' Info: %
|
|
End of reference \Hy@VerboseLinkInfo.%
|
|
}%
|
|
}%
|
|
\x
|
|
\fi
|
|
}
|
|
\def\Hy@VerboseAnchor#1{%
|
|
\ifHy@verbose
|
|
\begingroup
|
|
\Hy@safe@activestrue
|
|
\Hy@Info{Anchor `\HyperDestNameFilter{#1}'}%
|
|
\endgroup
|
|
\fi
|
|
}
|
|
\def\Hy@AllowHyphens{%
|
|
\relax
|
|
\ifhmode
|
|
\penalty\@M
|
|
\hskip\z@skip
|
|
\fi
|
|
}
|
|
\DeclareRobustCommand*{\href}[1][]{%
|
|
\begingroup
|
|
\setkeys{href}{#1}%
|
|
\@ifnextchar\bgroup\Hy@href{\hyper@normalise\href@}%
|
|
}
|
|
\def\Hy@href#{%
|
|
\hyper@normalise\href@
|
|
}
|
|
\begingroup
|
|
\catcode`\$=6 %
|
|
\catcode`\#=12 %
|
|
\gdef\href@$1{\expandafter\href@split$1##\\}%
|
|
\gdef\href@split$1#$2#$3\\$4{%
|
|
\hyper@@link{$1}{$2}{$4}%
|
|
\endgroup
|
|
}%
|
|
\endgroup
|
|
\define@key{href}{page}{%
|
|
\def\Hy@href@page{#1}%
|
|
}
|
|
\let\Hy@href@page\@empty
|
|
\newcount\c@Hy@tempcnt
|
|
\def\theHy@tempcnt{\the\c@Hy@tempcnt}
|
|
\def\Hy@MakeRemoteAction{%
|
|
\ifx\Hy@href@page\@empty
|
|
\def\Hy@href@page{0}%
|
|
\else
|
|
\setcounter{Hy@tempcnt}{\Hy@href@page}%
|
|
\ifnum\c@Hy@tempcnt<\@ne
|
|
\Hy@Warning{%
|
|
Invalid page number (\theHy@tempcnt)\MessageBreak
|
|
for remote PDF file.\MessageBreak
|
|
Using page 1%
|
|
}%
|
|
\def\Hy@href@page{0}%
|
|
\else
|
|
\global\advance\c@Hy@tempcnt\m@ne
|
|
\edef\Hy@href@page{\theHy@tempcnt}%
|
|
\fi
|
|
\fi
|
|
\ifx\Hy@href@nextactionraw\@empty
|
|
\else
|
|
\Hy@pdfnewwindowsettrue
|
|
\Hy@pdfnewwindowtrue
|
|
\fi
|
|
}
|
|
\define@key{href}{pdfremotestartview}{%
|
|
\setkeys{Hyp}{pdfremotestartview={#1}}%
|
|
}
|
|
\let\KV@href@pdfnewwindow\KV@Hyp@pdfnewwindow
|
|
\let\KV@href@pdfnewwindow@default\KV@Hyp@pdfnewwindow@default
|
|
\newif\ifHy@href@ismap
|
|
\define@key{href}{ismap}[true]{%
|
|
\ltx@IfUndefined{Hy@href@ismap#1}{%
|
|
\Hy@Error{%
|
|
Invalid value (#1) for key `ismap'.\MessageBreak
|
|
Permitted values are `true' or `false'.\MessageBreak
|
|
Ignoring `ismap'%
|
|
}\@ehc
|
|
}{%
|
|
\csname Hy@href@ismap#1\endcsname
|
|
}%
|
|
}
|
|
\let\Hy@href@nextactionraw\@empty
|
|
\define@key{href}{nextactionraw}{%
|
|
\edef\Hy@href@nextactionraw{#1}%
|
|
\ifx\Hy@href@nextactionraw\@empty
|
|
\else
|
|
\Hy@Match\Hy@href@nextactionraw{}{%
|
|
^(\HyPat@ObjRef/|<<.*/S[ /].+>>|%
|
|
\[( ?\HyPat@ObjRef/|<<.*/S[ /].+>>)+ ?])$%
|
|
}{}{%
|
|
\Hy@Warning{Invalid value for `nextactionraw':\MessageBreak
|
|
\Hy@href@nextactionraw\MessageBreak
|
|
The action is discarded%
|
|
}%
|
|
}%
|
|
\ifx\Hy@href@nextactionraw\@empty
|
|
\else
|
|
\edef\Hy@href@nextactionraw{/Next \Hy@href@nextactionraw}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\HyPat@ObjRef/{.+}
|
|
\RequirePackage{url}
|
|
\let\HyOrg@url\url
|
|
\def\Hurl{\begingroup \Url}
|
|
\DeclareRobustCommand*{\nolinkurl}{\hyper@normalise\nolinkurl@}
|
|
\def\nolinkurl@#1{\Hurl{#1}}
|
|
\DeclareRobustCommand*{\url}{\hyper@normalise\url@}
|
|
\def\url@#1{\hyper@linkurl{\Hurl{#1}}{#1}}
|
|
\DeclareRobustCommand*{\hyperimage}{\hyper@normalise\hyper@image}
|
|
\providecommand\hyper@image[2]{#2}
|
|
\def\hypertarget#1#2{%
|
|
\ifHy@nesting
|
|
\hyper@@anchor{#1}{#2}%
|
|
\else
|
|
\hyper@@anchor{#1}{\relax}#2%
|
|
\fi
|
|
}
|
|
\DeclareRobustCommand*{\hyperref}{%
|
|
\@ifnextchar[{\Hy@babelnormalise\label@hyperref}\@hyperref
|
|
}
|
|
\def\Hy@babelnormalise#1[#2]{%
|
|
\begingroup
|
|
\Hy@safe@activestrue
|
|
\edef\Hy@tempa{%
|
|
\endgroup
|
|
\noexpand#1[{#2}]%
|
|
}%
|
|
\Hy@tempa
|
|
}
|
|
\def\@hyperref{\hyper@normalise\@@hyperref}
|
|
\def\@@hyperref#1#2#3{%
|
|
\edef\ref@one{\ifx\\#2\\\else#2.\fi#3}%
|
|
\expandafter\tryhyper@link\ref@one\\{#1}%
|
|
}
|
|
\def\tryhyper@link#1\\#2{%
|
|
\hyper@@link{#2}{#1}%
|
|
}
|
|
\def\hyperdef{\@ifnextchar[{\label@hyperdef}{\@hyperdef}}
|
|
\def\@hyperdef#1#2#3{%, category, name, text
|
|
\ifx\\#1\\%
|
|
\def\Hy@AnchorName{#2}%
|
|
\else
|
|
\def\Hy@AnchorName{#1.#2}%
|
|
\fi
|
|
\ifHy@nesting
|
|
\expandafter\hyper@@anchor\expandafter{\Hy@AnchorName}{#3}%
|
|
\else
|
|
\expandafter\hyper@@anchor\expandafter{\Hy@AnchorName}{\relax}#3%
|
|
\fi
|
|
}
|
|
\let\hyperrefundefinedlink\@firstofone
|
|
\def\label@hyperref[#1]{%
|
|
\expandafter\label@@hyperref\csname r@#1\endcsname{#1}%
|
|
}%
|
|
\def\label@@hyperref#1#2#3{%
|
|
\ifx#1\relax
|
|
\protect\G@refundefinedtrue
|
|
\@latex@warning{%
|
|
Hyper reference `#2' on page \thepage \space undefined%
|
|
}%
|
|
\begingroup
|
|
\hyperrefundefinedlink{#3}%
|
|
\endgroup
|
|
\else
|
|
\hyper@@link{\expandafter\@fifthoffive#1}%
|
|
{\expandafter\@fourthoffive#1\@empty\@empty}{#3}%
|
|
\fi
|
|
}
|
|
\def\label@hyperdef[#1]#2#3#4{% label name, category, name,
|
|
% anchor text
|
|
\@bsphack
|
|
\ifx\\#2\\%
|
|
\def\Hy@AnchorName{#3}%
|
|
\else
|
|
\def\Hy@AnchorName{#2.#3}%
|
|
\fi
|
|
\if@filesw
|
|
\protected@write\@auxout{}{%
|
|
\string\newlabel{#1}{{}{}{}{\Hy@AnchorName}{}}%
|
|
}%
|
|
\fi
|
|
\@esphack
|
|
\ifHy@nesting
|
|
\expandafter\hyper@@anchor\expandafter{\Hy@AnchorName}{#4}%
|
|
\else
|
|
\expandafter\hyper@@anchor\expandafter{\Hy@AnchorName}{\relax}#4%
|
|
\fi
|
|
}
|
|
\newdimen\XeTeXLinkMargin
|
|
\setlength{\XeTeXLinkMargin}{2pt}
|
|
\ifxetex
|
|
\font\XeTeXLink@font=pzdr at 1sp\relax
|
|
\newcommand*{\XeTeXLink@space}{%
|
|
\begingroup
|
|
\XeTeXLink@font
|
|
\@xxxii
|
|
\endgroup
|
|
}%
|
|
\newcommand{\XeTeXLinkBox}[1]{%
|
|
\begingroup
|
|
\leavevmode
|
|
\sbox\z@{#1}%
|
|
\begingroup
|
|
\dimen@=\dp\z@
|
|
\advance\dimen@\XeTeXLinkMargin
|
|
\setbox\tw@=\llap{%
|
|
\hb@xt@\XeTeXLinkMargin{%
|
|
\lower\dimen@\hbox{\XeTeXLink@space}%
|
|
\hss
|
|
}%
|
|
}%
|
|
\dp\tw@=\dp\z@
|
|
\ht\tw@=\ht\z@
|
|
\copy\tw@
|
|
\endgroup
|
|
\copy\z@
|
|
\dimen@=\ht\z@
|
|
\advance\dimen@\XeTeXLinkMargin
|
|
\setbox\tw@=\rlap{%
|
|
\hb@xt@\XeTeXLinkMargin{%
|
|
\hss
|
|
\raise\dimen@\hbox{\XeTeXLink@space}%
|
|
}%
|
|
}%
|
|
\dp\tw@=\dp\z@
|
|
\ht\tw@=\ht\z@
|
|
\copy\tw@
|
|
\endgroup
|
|
}%
|
|
\else
|
|
\newcommand*{\XeTeXLinkBox}[1]{%
|
|
\begingroup
|
|
\leavevmode
|
|
\sbox\z@{#1}%
|
|
\copy\z@
|
|
\endgroup
|
|
}%
|
|
\fi
|
|
\def\hyper@@link{\let\Hy@reserved@a\relax
|
|
\@ifnextchar[{\hyper@link@}{\hyper@link@[link]}%
|
|
}
|
|
\def\hyper@link@[#1]#2#3#4{%
|
|
\ltx@ifempty{#4}{% link text
|
|
\Hy@Warning{Suppressing empty link}%
|
|
}{%
|
|
\begingroup
|
|
\protected@edef\Hy@tempa{#2}%
|
|
\edef\Hy@tempb{#3}%
|
|
\ifx\Hy@tempa\ltx@empty
|
|
\ifx\Hy@tempb\ltx@empty
|
|
\Hy@Warning{Suppressing link with empty target}%
|
|
\toks@{%
|
|
\endgroup
|
|
\ltx@secondoftwo
|
|
}%
|
|
\else
|
|
\toks@{%
|
|
\endgroup
|
|
\hyper@link{#1}%
|
|
}%
|
|
\fi
|
|
\else
|
|
\toks@{%
|
|
\endgroup
|
|
\expandafter\hyper@readexternallink#2\\{#1}%
|
|
}%
|
|
\fi
|
|
\Hy@safe@activesfalse
|
|
\toks@\expandafter{%
|
|
\the\expandafter\toks@
|
|
\expandafter{\Hy@tempb}{#4}%
|
|
}%
|
|
\the\toks@
|
|
}%
|
|
}
|
|
\def\hyper@readexternallink#1\\#2#3#4{%
|
|
\begingroup
|
|
\let\\\relax
|
|
\expandafter\endgroup
|
|
\expandafter\@@hyper@@readexternallink#1\\{#2}{#3}{#4}%
|
|
}
|
|
\def\@@hyper@@readexternallink#1\\#2#3#4{%
|
|
\@hyper@readexternallink{#2}{#3}{#4}#1::\\{#1}%
|
|
}
|
|
\def\@pdftempwordfile{file}%
|
|
\def\@pdftempwordrun{run}%
|
|
\def\@hyper@readexternallink#1#2#3#4:#5:#6\\#7{%
|
|
\ifx\\#6\\%
|
|
\@hyper@linkfile file:#7\\{#3}{#2}{#7}%
|
|
\else
|
|
\ifx\\#4\\%
|
|
\@hyper@linkfile file:#7\\{#3}{#2}{#7}%
|
|
\else
|
|
\def\@pdftempa{#4}%
|
|
\ifx\@pdftempa\@pdftempwordfile
|
|
\@hyper@linkfile#7\\{#3}{#2}{#7}%
|
|
\else
|
|
\ifx\@pdftempa\@pdftempwordrun
|
|
\ifHy@pdfa
|
|
\Hy@Error{%
|
|
PDF/A: Launch action is prohibited%
|
|
}\@ehc
|
|
\begingroup
|
|
\leavevmode
|
|
#2%
|
|
\endgroup
|
|
\else
|
|
\@hyper@launch#7\\{#3}{#2}%
|
|
\fi
|
|
\else
|
|
\hyper@linkurl{#3}{#7\ifx\\#2\\\else\hyper@hash#2\fi}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\@hyper@launch run:#1\\#2#3{% filename, anchor text, linkname
|
|
\hyper@linkurl{#2}{%
|
|
\Hy@linkfileprefix
|
|
#1%
|
|
\ifx\\#3\\%
|
|
\else
|
|
\hyper@hash
|
|
#3%
|
|
\fi
|
|
}%
|
|
}
|
|
\def\@hyper@linkfile file:#1\\#2#3#4{%
|
|
%file url,link string, name, original uri
|
|
\filename@parse{#1}%
|
|
\ifx\filename@ext\relax
|
|
\edef\filename@ext{\XR@ext}%
|
|
\fi
|
|
\def\use@file{\filename@area\filename@base.\filename@ext}%
|
|
\Hy@IfStringEndsWith\filename@ext\XR@ext{%
|
|
\hyper@linkfile{#2}{\use@file}{#3}%
|
|
}{%
|
|
\ifx\@baseurl\@empty
|
|
\hyper@linkurl{#2}{%
|
|
#4\ifx\\#3\\\else\hyper@hash#3\fi
|
|
}%
|
|
\else
|
|
\hyper@linkurl{#2}{\use@file\ifx\\#3\\\else\hyper@hash#3\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
|
|
}
|
|
\def\Hy@StringLocalhost{localhost}
|
|
\@onelevel@sanitize\Hy@StringLocalhost
|
|
\def\Hy@CleanupFile#1{%
|
|
\edef#1{#1}%
|
|
\expandafter\Hy@@CleanupFile#1\hbox///\hbox\@nil{#1}%
|
|
}
|
|
\def\Hy@@CleanupFile#1//#2/#3\hbox#4\@nil#5{%
|
|
\begingroup
|
|
\toks@{\endgroup}%
|
|
\def\x{#1}%
|
|
\ifx\x\@empty
|
|
\def\x{#2}%
|
|
\ifx\x\@empty
|
|
\toks@{\endgroup\def#5{/#3}}%
|
|
\else
|
|
\@onelevel@sanitize\x
|
|
\ifx\x\Hy@StringLocalhost
|
|
\toks@{\endgroup\def#5{/#3}}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\the\toks@
|
|
}
|
|
\long\def\hyper@@anchor#1#2{\@hyper@@anchor#1\relax#2\relax}
|
|
\long\def\@hyper@@anchor#1\relax#2#3\relax{%
|
|
\ifx\\#1\\%
|
|
#2\Hy@Warning{Ignoring empty anchor}%
|
|
\else
|
|
\def\anchor@spot{#2#3}%
|
|
\let\put@me@back\@empty
|
|
\ifx\relax#2\relax
|
|
\else
|
|
\ifHy@nesting
|
|
\else
|
|
\ifcat a\noexpand#2\relax
|
|
\else
|
|
\ifcat 0\noexpand#2 \relax
|
|
\else
|
|
\let\anchor@spot\@empty
|
|
\def\put@me@back{#2#3}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\ifHy@activeanchor
|
|
\anchor@spot
|
|
\else
|
|
\hyper@anchor{#1}%
|
|
\fi
|
|
\expandafter\put@me@back
|
|
\fi
|
|
\let\anchor@spot\@empty
|
|
}
|
|
\let\anchor@spot\ltx@empty
|
|
\ifHy@destlabel
|
|
\def\hyper@newdestlabel#1#2{%
|
|
\begingroup
|
|
\Hy@safe@activestrue
|
|
\edef\x{\endgroup
|
|
\noexpand\@newl@bel{HyDL}{#1}{#2}%
|
|
}%
|
|
\x
|
|
}%
|
|
\providecommand*{\hyper@destlabel@hook}{}%
|
|
\newcommand*{\Hy@DestRename}[2]{%
|
|
\ltx@IfUndefined{HyDL!#1}{%
|
|
\begingroup
|
|
\Hy@safe@activestrue
|
|
\edef\dest@name{#1}%
|
|
\edef\label@name{#2}%
|
|
\hyper@destlabel@hook
|
|
\Hy@IsNotEmpty{dest@name}{%
|
|
\Hy@IsNotEmpty{label@name}{%
|
|
\global\expandafter
|
|
\let\csname HyDL!#1\endcsname\ltx@empty
|
|
\if@filesw
|
|
\protected@write\@auxout{}{%
|
|
\string\hyper@newdestlabel
|
|
{#1}%
|
|
{\label@name}%
|
|
}%
|
|
\fi
|
|
}%
|
|
}%
|
|
\endgroup
|
|
}{}%
|
|
}%
|
|
\newcommand*{\HyperDestRename}[2]{%
|
|
\AtBeginDocument{%
|
|
\Hy@DestRename{#1}{#2}%
|
|
}%
|
|
}%
|
|
\AtBeginDocument{%
|
|
\let\HyperDestRename\Hy@DestRename
|
|
}%
|
|
\def\Hy@IsNotEmpty#1{%
|
|
\ltx@IfUndefined{#1}\ltx@gobble{%
|
|
\expandafter\ifx\csname#1\endcsname\ltx@empty
|
|
\expandafter\ltx@gobble
|
|
\else
|
|
\expandafter\ltx@firstofone
|
|
\fi
|
|
}%
|
|
}%
|
|
\ltx@GlobalAppendToMacro\label@hook{%
|
|
\HyperDestRename\@currentHref\label@name
|
|
}%
|
|
\def\HyperDestLabelReplace#1{%
|
|
\ltx@ifundefined{HyDL@#1}{%
|
|
#1%
|
|
}{%
|
|
\csname HyDL@#1\endcsname
|
|
}%
|
|
}%
|
|
\let\HyperDestNameFilter\HyperDestLabelReplace
|
|
\else
|
|
\let\hyper@newdestlabel\ltx@gobbletwo
|
|
\let\HyperDestLabelReplace\ltx@firstofone
|
|
\let\HyperDestRename\ltx@gobbletwo
|
|
\fi
|
|
\Hy@DisableOption{destlabel}
|
|
\AddLineBeginAux{%
|
|
\string\providecommand\string\hyper@newdestlabel[2]{}%
|
|
}
|
|
\let\htmladdimg\hyperimage
|
|
\def\htmladdnormallink#1#2{\href{#2}{#1}}
|
|
\def\htmladdnormallinkfoot#1#2{\href{#2}{#1}\footnote{#2}}
|
|
\def\htmlref#1#2{% anchor text, label
|
|
\label@hyperref[{#2}]{#1}%
|
|
}
|
|
\def\@@latextohtmlX{%
|
|
\let\hhyperref\hyperref
|
|
\def\hyperref##1##2##3##4{% anchor text for HTML
|
|
% text to print before label in print
|
|
% label
|
|
% post-label text in print
|
|
##2\ref{##4}##3%
|
|
}%
|
|
}
|
|
\RequirePackage{bitset}
|
|
\def\HyField@NewFlag#1#2{%
|
|
\lowercase{\HyField@NewOption{#2}}%
|
|
\lowercase{\HyField@NewBitsetFlag{#2}}{#2}{#1}%
|
|
}
|
|
\def\HyField@NewFlagOnly#1#2{%
|
|
\lowercase{\HyField@NewBitsetFlag{#2}}{#2}{#1}%
|
|
}
|
|
\def\HyField@NewOption#1{%
|
|
\expandafter\newif\csname ifFld@#1\endcsname
|
|
\define@key{Field}{#1}[true]{%
|
|
\lowercase{\Field@boolkey{##1}}{#1}%
|
|
}%
|
|
}
|
|
\def\HyField@NewBitsetFlag#1#2#3#4{%
|
|
\begingroup
|
|
\count@=#4\relax
|
|
\advance\count@\m@ne
|
|
\def\x##1{%
|
|
\endgroup
|
|
\expandafter\def\csname HyField@#3@#1\endcsname{##1}%
|
|
\expandafter\ifx\csname HyField@#3@##1\endcsname\relax
|
|
\expandafter\edef\csname HyField@#3@##1\endcsname{%
|
|
(\number#4) #2%
|
|
}%
|
|
\else
|
|
\expandafter\edef\csname HyField@#3@##1\endcsname{%
|
|
\csname HyField@#3@##1\endcsname
|
|
/#2%
|
|
}%
|
|
\fi
|
|
}%
|
|
\expandafter\x\expandafter{\the\count@}%
|
|
}
|
|
\def\HyField@UseFlag#1#2{%
|
|
\lowercase{\HyField@@UseFlag{#2}}{#1}%
|
|
}
|
|
\def\HyField@@UseFlag#1#2{%
|
|
\bitsetSetValue{HyField@#2}{%
|
|
\csname HyField@#2@#1\endcsname
|
|
}{%
|
|
\csname ifFld@#1\endcsname 1\else 0\fi
|
|
}%
|
|
}
|
|
\def\HyField@SetFlag#1#2{%
|
|
\lowercase{\HyField@@SetFlag{#2}}{#1}%
|
|
}
|
|
\def\HyField@@SetFlag#1#2{%
|
|
\bitsetSetValue{HyField@#2}{%
|
|
\csname HyField@#2@#1\endcsname
|
|
}{1}%
|
|
}
|
|
\def\HyField@PrintFlags#1#2{%
|
|
\ifHy@verbose
|
|
\begingroup
|
|
\let\Hy@temp\@empty
|
|
\let\MessageBreak\relax
|
|
\expandafter\@for\expandafter\x\expandafter:\expandafter=%
|
|
\bitsetGetSetBitList{HyField@#1}\do{%
|
|
\edef\Hy@temp{%
|
|
\Hy@temp
|
|
\csname HyField@#1@\x\endcsname\MessageBreak
|
|
}%
|
|
}%
|
|
\edef\x{\endgroup
|
|
\noexpand\Hy@Info{%
|
|
Field flags: %
|
|
\expandafter\ifx\@car#1\@nil S\else/\fi
|
|
#1 %
|
|
\bitsetGetDec{HyField@#1} %
|
|
(0x\bitsetGetHex{HyField@#1}{32})\MessageBreak
|
|
\Hy@temp
|
|
for #2%
|
|
}%
|
|
}\x
|
|
\fi
|
|
}
|
|
\HyField@NewFlag{Ff}{ReadOnly}{1}
|
|
\HyField@NewFlag{Ff}{Required}{2}
|
|
\HyField@NewFlag{Ff}{NoExport}{3}
|
|
\HyField@NewFlag{Ff}{NoToggleToOff}{15}
|
|
\HyField@NewFlag{Ff}{Radio}{16}
|
|
\HyField@NewFlag{Ff}{Pushbutton}{17}
|
|
\HyField@NewFlag{Ff}{RadiosInUnison}{26}
|
|
\HyField@NewFlag{Ff}{Multiline}{13}
|
|
\HyField@NewFlag{Ff}{Password}{14}
|
|
\HyField@NewFlag{Ff}{FileSelect}{21}% PDF 1.4
|
|
\HyField@NewFlag{Ff}{DoNotSpellCheck}{23}% PDF 1.4
|
|
\HyField@NewFlag{Ff}{DoNotScroll}{24}% PDF 1.4
|
|
\HyField@NewFlag{Ff}{Comb}{25}% PDF 1.4
|
|
\HyField@NewFlag{Ff}{RichText}{26}% PDF 1.5
|
|
\HyField@NewFlag{Ff}{Combo}{18}
|
|
\HyField@NewFlag{Ff}{Edit}{19}
|
|
\HyField@NewFlag{Ff}{Sort}{20}
|
|
\HyField@NewFlag{Ff}{MultiSelect}{22}% PDF 1.4
|
|
\HyField@NewFlag{Ff}{CommitOnSelChange}{27}% PDF 1.5
|
|
\newif\ifFld@popdown
|
|
\define@key{Field}{popdown}[true]{%
|
|
\lowercase{\Field@boolkey{#1}}{popdown}%
|
|
}
|
|
\HyField@NewFlag{F}{Invisible}{1}
|
|
\HyField@NewFlag{F}{Hidden}{2}% PDF 1.2
|
|
\HyField@NewFlag{F}{Print}{3}% PDF 1.2
|
|
\HyField@NewFlag{F}{NoZoom}{4}% PDF 1.2
|
|
\HyField@NewFlag{F}{NoRotate}{5}% PDF 1.3
|
|
\HyField@NewFlag{F}{NoView}{6}% PDF 1.3
|
|
\HyField@NewFlag{F}{Locked}{8}% PDF 1.4
|
|
\HyField@NewFlag{F}{ToggleNoView}{9}% PDF 1.5
|
|
\HyField@NewFlag{F}{LockedContents}{10}% PDF 1.7
|
|
\ifHy@pdfa
|
|
\def\HyField@PDFAFlagWarning#1#2{%
|
|
\Hy@Warning{%
|
|
PDF/A: Annotation flag `#1' must\MessageBreak
|
|
be set to `#2'%
|
|
}%
|
|
}%
|
|
\Fld@invisiblefalse
|
|
\def\Fld@invisibletrue{%
|
|
\HyField@PDFAFlagWarning{invisible}{false}%
|
|
}%
|
|
\Fld@hiddenfalse
|
|
\def\Fld@hiddentrue{%
|
|
\HyField@PDFAFlagWarning{hidden}{false}%
|
|
}%
|
|
\Fld@printtrue
|
|
\def\Fld@printfalse{%
|
|
\HyField@PDFAFlagWarning{print}{true}%
|
|
}%
|
|
\Fld@nozoomtrue
|
|
\def\Fld@nozoomfalse{%
|
|
\HyField@PDFAFlagWarning{nozoom}{true}%
|
|
}%
|
|
\Fld@norotatetrue
|
|
\def\Fld@norotatefalse{%
|
|
\HyField@PDFAFlagWarning{norotate}{true}%
|
|
}%
|
|
\Fld@noviewfalse
|
|
\def\Fld@noviewtrue{%
|
|
\HyField@PDFAFlagWarning{noview}{false}%
|
|
}%
|
|
\fi
|
|
\HyField@NewFlag{Submit}{IncludeNoValueFields}{2}
|
|
\HyField@NewFlagOnly{Submit}{ExportFormat}{3}
|
|
\HyField@NewFlag{Submit}{GetMethod}{4}
|
|
\HyField@NewFlag{Submit}{SubmitCoordinates}{5}
|
|
\HyField@NewFlagOnly{Submit}{XFDF}{6}
|
|
\HyField@NewFlag{Submit}{IncludeAppendSaves}{7}
|
|
\HyField@NewFlag{Submit}{IncludeAnnotations}{8}
|
|
\HyField@NewFlagOnly{Submit}{SubmitPDF}{9}
|
|
\HyField@NewFlag{Submit}{CanonicalFormat}{10}
|
|
\HyField@NewFlag{Submit}{ExclNonUserAnnots}{11}
|
|
\HyField@NewFlag{Submit}{ExclFKey}{12}
|
|
\HyField@NewFlag{Submit}{EmbedForm}{14}
|
|
\define@key{Field}{export}{%
|
|
\lowercase{\def\Hy@temp{#1}}%
|
|
\@ifundefined{Fld@export@\Hy@temp}{%
|
|
\@onelevel@sanitize\Hy@temp
|
|
\Hy@Error{%
|
|
Unknown export format `\Hy@temp'.\MessageBreak
|
|
Known formats are `FDF', `HTML', `XFDF', and `PDF'%
|
|
}\@ehc
|
|
}{%
|
|
\let\Fld@export\Hy@temp
|
|
}%
|
|
}
|
|
\def\Fld@export{fdf}
|
|
\@namedef{Fld@export@fdf}{0}%
|
|
\@namedef{Fld@export@html}{1}%
|
|
\@namedef{Fld@export@xfdf}{2}%
|
|
\@namedef{Fld@export@pdf}{3}%
|
|
\def\HyField@FlagsSubmit{%
|
|
\bitsetReset{HyField@Submit}%
|
|
\ifcase\@nameuse{Fld@export@\Fld@export} %
|
|
% FDF
|
|
\HyField@UseFlag{Submit}{IncludeNoValueFields}%
|
|
\HyField@UseFlag{Submit}{SubmitCoordinates}%
|
|
\HyField@UseFlag{Submit}{IncludeAppendSaves}%
|
|
\HyField@UseFlag{Submit}{IncludeAnnotations}%
|
|
\HyField@UseFlag{Submit}{CanonicalFormat}%
|
|
\HyField@UseFlag{Submit}{ExclNonUserAnnots}%
|
|
\HyField@UseFlag{Submit}{ExclFKey}%
|
|
\HyField@UseFlag{Submit}{EmbedForm}%
|
|
\or % HTML
|
|
\HyField@SetFlag{Submit}{ExportFormat}%
|
|
\HyField@UseFlag{Submit}{IncludeNoValueFields}%
|
|
\HyField@UseFlag{Submit}{GetMethod}%
|
|
\HyField@UseFlag{Submit}{SubmitCoordinates}%
|
|
\HyField@UseFlag{Submit}{CanonicalFormat}%
|
|
\or % XFDF
|
|
\HyField@SetFlag{Submit}{XFDF}%
|
|
\HyField@UseFlag{Submit}{IncludeNoValueFields}%
|
|
\HyField@UseFlag{Submit}{SubmitCoordinates}%
|
|
\HyField@UseFlag{Submit}{CanonicalFormat}%
|
|
\or % PDF
|
|
\HyField@SetFlag{Submit}{SubmitPDF}%
|
|
\HyField@UseFlag{Submit}{GetMethod}%
|
|
\fi
|
|
\HyField@PrintFlags{Submit}{submit button field}%
|
|
\bitsetIsEmpty{HyField@Submit}{%
|
|
\let\Fld@submitflags\ltx@empty
|
|
}{%
|
|
\edef\Fld@submitflags{/Flags \bitsetGetDec{HyField@Submit}}%
|
|
}%
|
|
}
|
|
\def\HyField@FlagsAnnot#1{%
|
|
\bitsetReset{HyField@F}%
|
|
\HyField@UseFlag{F}{Invisible}%
|
|
\HyField@UseFlag{F}{Hidden}%
|
|
\HyField@UseFlag{F}{Print}%
|
|
\HyField@UseFlag{F}{NoZoom}%
|
|
\HyField@UseFlag{F}{NoRotate}%
|
|
\HyField@UseFlag{F}{NoView}%
|
|
\HyField@UseFlag{F}{Locked}%
|
|
\HyField@UseFlag{F}{ToggleNoView}%
|
|
\HyField@UseFlag{F}{LockedContents}%
|
|
\HyField@PrintFlags{F}{#1}%
|
|
\bitsetIsEmpty{HyField@F}{%
|
|
\let\Fld@annotflags\ltx@empty
|
|
}{%
|
|
\edef\Fld@annotflags{/F \bitsetGetDec{HyField@F}}%
|
|
}%
|
|
}
|
|
\def\HyField@FlagsPushButton{%
|
|
\HyField@FlagsAnnot{push button field}%
|
|
\bitsetReset{HyField@Ff}%
|
|
\HyField@UseFlag{Ff}{ReadOnly}%
|
|
\HyField@UseFlag{Ff}{Required}%
|
|
\HyField@UseFlag{Ff}{NoExport}%
|
|
\HyField@SetFlag{Ff}{Pushbutton}%
|
|
\HyField@PrintFlags{Ff}{push button field}%
|
|
\bitsetIsEmpty{HyField@Ff}{%
|
|
\let\Fld@flags\ltx@empty
|
|
}{%
|
|
\edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
|
|
}%
|
|
}
|
|
\def\HyField@FlagsCheckBox{%
|
|
\HyField@FlagsAnnot{check box field}%
|
|
\bitsetReset{HyField@Ff}%
|
|
\HyField@UseFlag{Ff}{ReadOnly}%
|
|
\HyField@UseFlag{Ff}{Required}%
|
|
\HyField@UseFlag{Ff}{NoExport}%
|
|
\HyField@PrintFlags{Ff}{check box field}%
|
|
\bitsetIsEmpty{HyField@Ff}{%
|
|
\let\Fld@flags\ltx@empty
|
|
}{%
|
|
\edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
|
|
}%
|
|
}
|
|
\def\HyField@FlagsRadioButton{%
|
|
\HyField@FlagsAnnot{radio button field}%
|
|
\bitsetReset{HyField@Ff}%
|
|
\HyField@UseFlag{Ff}{ReadOnly}%
|
|
\HyField@UseFlag{Ff}{Required}%
|
|
\HyField@UseFlag{Ff}{NoExport}%
|
|
\HyField@UseFlag{Ff}{NoToggleToOff}%
|
|
\HyField@SetFlag{Ff}{Radio}%
|
|
\HyField@UseFlag{Ff}{RadiosInUnison}%
|
|
\HyField@PrintFlags{Ff}{radio button field}%
|
|
\bitsetIsEmpty{HyField@Ff}{%
|
|
\let\Fld@flags\ltx@empty
|
|
}{%
|
|
\edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
|
|
}%
|
|
}
|
|
\def\HyField@FlagsText{%
|
|
\HyField@FlagsAnnot{text field}%
|
|
\bitsetReset{HyField@Ff}%
|
|
\HyField@UseFlag{Ff}{ReadOnly}%
|
|
\HyField@UseFlag{Ff}{Required}%
|
|
\HyField@UseFlag{Ff}{NoExport}%
|
|
\HyField@UseFlag{Ff}{Multiline}%
|
|
\HyField@UseFlag{Ff}{Password}%
|
|
\HyField@UseFlag{Ff}{FileSelect}%
|
|
\HyField@UseFlag{Ff}{DoNotSpellCheck}%
|
|
\HyField@UseFlag{Ff}{DoNotScroll}%
|
|
\ifFld@comb
|
|
\ifcase0\ifFld@multiline
|
|
\else\ifFld@password
|
|
\else\ifFld@fileselect
|
|
\else 1\fi\fi\fi\relax
|
|
\Hy@Error{%
|
|
Field option `comb' cannot used together with\MessageBreak
|
|
`multiline', `password', or `fileselect'%
|
|
}\@ehc
|
|
\else
|
|
\HyField@UseFlag{Ff}{Comb}%
|
|
\fi
|
|
\fi
|
|
\HyField@UseFlag{Ff}{RichText}%
|
|
\HyField@PrintFlags{Ff}{text field}%
|
|
\bitsetIsEmpty{HyField@Ff}{%
|
|
\let\Fld@flags\ltx@empty
|
|
}{%
|
|
\edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
|
|
}%
|
|
}
|
|
\def\HyField@FlagsChoice{%
|
|
\HyField@FlagsAnnot{choice field}%
|
|
\bitsetReset{HyField@Ff}%
|
|
\HyField@UseFlag{Ff}{ReadOnly}%
|
|
\HyField@UseFlag{Ff}{Required}%
|
|
\HyField@UseFlag{Ff}{NoExport}%
|
|
\HyField@UseFlag{Ff}{Combo}%
|
|
\ifFld@combo
|
|
\HyField@UseFlag{Ff}{Edit}%
|
|
\fi
|
|
\HyField@UseFlag{Ff}{Sort}%
|
|
\HyField@UseFlag{Ff}{MultiSelect}%
|
|
\ifFld@combo
|
|
\ifFld@edit
|
|
\HyField@UseFlag{Ff}{DoNotSpellCheck}%
|
|
\fi
|
|
\fi
|
|
\HyField@UseFlag{Ff}{CommitOnSelChange}%
|
|
\HyField@PrintFlags{Ff}{choice field}%
|
|
\bitsetIsEmpty{HyField@Ff}{%
|
|
\let\Fld@flags\ltx@empty
|
|
}{%
|
|
\edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}%
|
|
}%
|
|
}
|
|
\def\HyField@PDFChoices#1{%
|
|
\begingroup
|
|
\global\let\Fld@choices\ltx@empty
|
|
\let\HyTmp@optlist\ltx@empty
|
|
\let\HyTmp@optitem\relax
|
|
\count@=0 %
|
|
\kv@parse{#1}{%
|
|
\Hy@pdfstringdef\kv@key\kv@key
|
|
\ifx\kv@value\relax
|
|
\ifnum\Hy@pdf@majorminor@version<103 % implementation note 122, PDF spec 1.7
|
|
\xdef\Fld@choices{\Fld@choices[(\kv@key)(\kv@key)]}%
|
|
\else
|
|
\xdef\Fld@choices{\Fld@choices(\kv@key)}%
|
|
\fi
|
|
\else
|
|
\Hy@pdfstringdef\kv@value\kv@value
|
|
\xdef\Fld@choices{\Fld@choices[(\kv@value)(\kv@key)]}%
|
|
\fi
|
|
\edef\HyTmp@optlist{%
|
|
\HyTmp@optlist
|
|
\HyTmp@optitem{\the\count@}{\kv@key}0%
|
|
}%
|
|
\advance\count@ by 1 %
|
|
\@gobbletwo
|
|
}%
|
|
\xdef\Fld@choices{/Opt[\Fld@choices]}%
|
|
\ifFld@multiselect
|
|
\HyField@@PDFChoices{DV}\Fld@default
|
|
\HyField@@PDFChoices{V}\Fld@value
|
|
\else
|
|
\ifx\Fld@default\relax
|
|
\else
|
|
\pdfstringdef\Hy@gtemp\Fld@default
|
|
\xdef\Fld@choices{\Fld@choices/DV(\Hy@gtemp)}%
|
|
\fi
|
|
\ifx\Fld@value\relax
|
|
\else
|
|
\pdfstringdef\Hy@gtemp\Fld@value
|
|
\xdef\Fld@choices{\Fld@choices/V(\Hy@gtemp)}%
|
|
\fi
|
|
\fi
|
|
\endgroup
|
|
}
|
|
\def\HyField@@PDFChoices#1#2{%
|
|
\ifx#2\relax
|
|
\else
|
|
\count@=0 %
|
|
\def\HyTmp@optitem##1##2##3{%
|
|
\def\HyTmp@key{##2}%
|
|
\ifx\HyTmp@key\Hy@gtemp
|
|
\expandafter\def\expandafter\HyTmp@optlist\expandafter{%
|
|
\HyTmp@optlist
|
|
\HyTmp@optitem{##1}{##2}1%
|
|
}%
|
|
\let\HyTmp@found=Y%
|
|
\else
|
|
\expandafter\def\expandafter\HyTmp@optlist\expandafter{%
|
|
\HyTmp@optlist
|
|
\HyTmp@optitem{##1}{##2}##3%
|
|
}%
|
|
\fi
|
|
}%
|
|
\expandafter\comma@parse\expandafter{#2}{%
|
|
\pdfstringdef\Hy@gtemp\comma@entry
|
|
\let\HyTmp@found=N %
|
|
\expandafter\let\expandafter\HyTmp@optlist\expandafter\@empty
|
|
\HyTmp@optlist
|
|
\ifx\HyTmp@found Y%
|
|
\advance\count@ by 1 %
|
|
\else
|
|
\@onelevel@sanitize\comma@entry
|
|
\PackageWarning{hyperref}{%
|
|
\string\ChoiceBox: Ignoring value `\comma@entry',%
|
|
\MessageBreak
|
|
it cannot be found in the choices%
|
|
}%
|
|
\fi
|
|
\@gobble
|
|
}%
|
|
\def\HyTmp@optitem##1##2##3{%
|
|
\ifnum##3=1 %
|
|
(##2)%
|
|
\fi
|
|
}%
|
|
\ifcase\count@
|
|
\or
|
|
\xdef\Fld@choices{\Fld@choices/#1\HyTmp@optlist}%
|
|
\else
|
|
\xdef\Fld@choices{\Fld@choices/#1[\HyTmp@optlist]}%
|
|
\ifx#1V%
|
|
\def\HyTmp@optitem##1##2##3{%
|
|
\ifnum##3=1 %
|
|
\@firstofone{ ##1}%
|
|
\fi
|
|
}%
|
|
\edef\HyTmp@optlist{\HyTmp@optlist}%
|
|
\xdef\Fld@choices{%
|
|
\Fld@choices
|
|
/I[\expandafter\@firstofone\HyTmp@optlist]%
|
|
}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\HyField@SetKeys{%
|
|
\kvsetkeys{Field}%
|
|
}
|
|
\newif\ifFld@checked
|
|
\newif\ifFld@disabled
|
|
\Fld@checkedfalse
|
|
\Fld@disabledfalse
|
|
\newcount\Fld@menulength
|
|
\newdimen\Field@Width
|
|
\newdimen\Fld@charsize
|
|
\Fld@charsize=10\p@
|
|
\def\Fld@maxlen{0}
|
|
\def\Fld@align{0}
|
|
\def\Fld@color{0 0 0 rg}
|
|
\def\Fld@bcolor{1 1 1}
|
|
\def\Fld@bordercolor{1 0 0}
|
|
\def\Fld@bordersep{1\p@}
|
|
\def\Fld@borderwidth{1}
|
|
\def\Fld@borderstyle{S}
|
|
\def\Fld@cbsymbol{4}
|
|
\def\Fld@radiosymbol{H}
|
|
\def\Fld@rotation{0}
|
|
\def\Form{\@ifnextchar[{\@Form}{\@Form[]}}
|
|
\def\endForm{\@endForm}
|
|
\newif\ifForm@html
|
|
\Form@htmlfalse
|
|
\def\Form@boolkey#1#2{%
|
|
\csname Form@#2\ifx\relax#1\relax true\else#1\fi\endcsname
|
|
}
|
|
\define@key{Form}{action}{%
|
|
\hyper@normalise\Hy@DefFormAction{#1}%
|
|
}
|
|
\def\Hy@DefFormAction{\def\Form@action}
|
|
\def\enc@@html{html}
|
|
\define@key{Form}{encoding}{%
|
|
\def\Hy@tempa{#1}%
|
|
\ifx\Hy@tempa\enc@@html
|
|
\Form@htmltrue
|
|
\def\Fld@export{html}%
|
|
\else
|
|
\Hy@Warning{%
|
|
Form `encoding' key with \MessageBreak
|
|
unknown value `#1'%
|
|
}%
|
|
\Form@htmlfalse
|
|
\fi
|
|
}
|
|
\define@key{Form}{method}{%
|
|
\lowercase{\def\Hy@temp{#1}}%
|
|
\@ifundefined{Form@method@\Hy@temp}{%
|
|
\@onelevel@sanitize\Hy@temp
|
|
\Hy@Error{%
|
|
Unknown method `\Hy@temp'.\MessageBreak
|
|
Known values are `post' and `get'%
|
|
}\@ehc
|
|
}{%
|
|
\let\Form@method\Hy@temp
|
|
\ifcase\@nameuse{Form@method@\Hy@temp} %
|
|
\Fld@getmethodfalse
|
|
\else
|
|
\Fld@getmethodtrue
|
|
\fi
|
|
}%
|
|
}
|
|
\def\Form@method{}
|
|
\@namedef{Form@method@post}{0}
|
|
\@namedef{Form@method@get}{1}
|
|
\newif\ifHyField@NeedAppearances
|
|
\def\HyField@NeedAppearancesfalse{%
|
|
\global\let\ifHyField@NeedAppearances\iffalse
|
|
}
|
|
\def\HyField@NeedAppearancestrue{%
|
|
\global\let\ifHyField@NeedAppearances\iftrue
|
|
}
|
|
\HyField@NeedAppearancestrue
|
|
\define@key{Form}{NeedAppearances}[true]{%
|
|
\edef\Hy@tempa{#1}%
|
|
\ifx\Hy@tempa\Hy@true
|
|
\HyField@NeedAppearancestrue
|
|
\else
|
|
\ifx\Hy@tempa\Hy@false
|
|
\HyField@NeedAppearancesfalse
|
|
\else
|
|
\Hy@Error{%
|
|
Unexpected value `\Hy@tempa'\MessageBreak
|
|
of option `NeedAppearances' instead of\MessageBreak
|
|
`true' or `false'%
|
|
}\@ehc
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\Field@boolkey#1#2{%
|
|
\csname Fld@#2\ifx\relax#1\relax true\else#1\fi\endcsname
|
|
}
|
|
\ifHy@texht
|
|
\newtoks\Field@toks
|
|
\Field@toks={ }%
|
|
\def\Field@addtoks#1#2{%
|
|
\edef\@processme{\Field@toks{\the\Field@toks\space #1="#2"}}%
|
|
\@processme
|
|
}%
|
|
\else
|
|
\def\Hy@WarnHTMLFieldOption#1{%
|
|
\Hy@Warning{%
|
|
HTML field option `#1'\MessageBreak
|
|
is ignored%
|
|
}%
|
|
}%
|
|
\fi
|
|
\def\Fld@checkequals#1=#2=#3\\{%
|
|
\def\@currDisplay{#1}%
|
|
\ifx\\#2\\%
|
|
\def\@currValue{#1}%
|
|
\else
|
|
\def\@currValue{#2}%
|
|
\fi
|
|
\expandafter\Hy@pdfstringdef\expandafter\@currValue\expandafter{\@currValue}%
|
|
}
|
|
\define@key{Field}{loc}{%
|
|
\def\Fld@loc{#1}%
|
|
}
|
|
\define@key{Field}{checked}[true]{%
|
|
\lowercase{\Field@boolkey{#1}}{checked}%
|
|
}
|
|
\define@key{Field}{disabled}[true]{%
|
|
\lowercase{\Field@boolkey{#1}}{disabled}%
|
|
}
|
|
\ifHy@texht
|
|
\define@key{Field}{accesskey}{%
|
|
\Field@addtoks{accesskey}{#1}%
|
|
}%
|
|
\define@key{Field}{tabkey}{%
|
|
\Field@addtoks{tabkey}{#1}%
|
|
}%
|
|
\else
|
|
\define@key{Field}{accesskey}{%
|
|
\Hy@WarnHTMLFieldOption{accesskey}%
|
|
}%
|
|
\define@key{Field}{tabkey}{%
|
|
\Hy@WarnHTMLFieldOption{tabkey}%
|
|
}%
|
|
\fi
|
|
\define@key{Field}{name}{%
|
|
\def\Fld@name{#1}%
|
|
}
|
|
\let\Fld@altname\relax
|
|
\define@key{Field}{altname}{%
|
|
\def\Fld@altname{#1}%
|
|
}
|
|
\let\Fld@mappingname\relax
|
|
\define@key{Field}{mappingname}{%
|
|
\def\Fld@mappingname{#1}%
|
|
}
|
|
\define@key{Field}{width}{%
|
|
\def\Fld@width{#1}%
|
|
\Field@Width#1\setbox0=\hbox{m}%
|
|
}
|
|
\define@key{Field}{maxlen}{%
|
|
\def\Fld@maxlen{#1}%
|
|
}
|
|
\define@key{Field}{menulength}{%
|
|
\Fld@menulength=#1\relax
|
|
}
|
|
\define@key{Field}{height}{%
|
|
\def\Fld@height{#1}%
|
|
}
|
|
\define@key{Field}{charsize}{%
|
|
\setlength{\Fld@charsize}{#1}%
|
|
}
|
|
\define@key{Field}{borderwidth}{%
|
|
\Hy@defaultbp\Fld@borderwidth{#1}%
|
|
}
|
|
\def\Hy@defaultbp#1#2{%
|
|
\begingroup
|
|
\afterassignment\Hy@defaultbpAux
|
|
\dimen@=#2bp\relax{#1}{#2}%
|
|
}
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname dimexpr\endcsname\relax
|
|
\def\Hy@defaultbpAux#1\relax#2#3{%
|
|
\ifx!#1!%
|
|
\endgroup
|
|
\def#2{#3}%
|
|
\else
|
|
\dimen@=.99626\dimen@
|
|
\edef\x{\endgroup
|
|
\def\noexpand#2{%
|
|
\strip@pt\dimen@
|
|
}%
|
|
}\x
|
|
\fi
|
|
}%
|
|
\else
|
|
\def\Hy@defaultbpAux#1\relax#2#3{%
|
|
\ifx!#1!%
|
|
\endgroup
|
|
\def#2{#3}%
|
|
\else
|
|
\edef\x{\endgroup
|
|
\def\noexpand#2{%
|
|
\strip@pt\dimexpr\dimen@*800/803\relax
|
|
}%
|
|
}\x
|
|
\fi
|
|
}%
|
|
\fi
|
|
\define@key{Field}{borderstyle}{%
|
|
\let\Hy@temp\Fld@borderstyle
|
|
\def\Fld@borderstyle{#1}%
|
|
\Hy@Match\Fld@borderstyle{}{%
|
|
^[SDBIU]$%
|
|
}{}{%
|
|
\Hy@Warning{%
|
|
Invalid value `\@pdfborderstyle'\MessageBreak
|
|
for option `pdfborderstyle'. Valid values:\MessageBreak
|
|
\space\space S (Solid), D (Dashed), B (Beveled),\MessageBreak
|
|
\space\space I (Inset), U (Underline)\MessageBreak
|
|
Option setting is ignored%
|
|
}%
|
|
\let\Fld@borderstyle\Hy@temp
|
|
}%
|
|
}
|
|
\define@key{Field}{bordersep}{%
|
|
\def\Fld@bordersep{#1}%
|
|
}
|
|
\define@key{Field}{default}{%
|
|
\Hy@pdfstringdef\Fld@default{#1}%
|
|
}
|
|
\define@key{Field}{align}{%
|
|
\def\Fld@align{#1}%
|
|
}
|
|
\define@key{Field}{value}{%
|
|
\Hy@pdfstringdef\Fld@value{#1}%
|
|
}
|
|
\define@key{Field}{checkboxsymbol}{%
|
|
\Fld@DingDef\Fld@cbsymbol{#1}%
|
|
}
|
|
\define@key{Field}{radiosymbol}{%
|
|
\Fld@DingDef\Fld@radiosymbol{#1}%
|
|
}
|
|
\def\Fld@DingDef#1#2{%
|
|
\let\Fld@temp\ltx@empty
|
|
\Fld@@DingDef#2\ding{}\@nil
|
|
\let#1\Fld@temp
|
|
}
|
|
\def\Fld@@DingDef#1\ding#2#3\@nil{%
|
|
\expandafter\def\expandafter\Fld@temp\expandafter{%
|
|
\Fld@temp
|
|
#1%
|
|
}%
|
|
\ifx\\#3\\%
|
|
\expandafter\@gobble
|
|
\else
|
|
\begingroup
|
|
\lccode`0=#2\relax
|
|
\lowercase{\endgroup
|
|
\expandafter\def\expandafter\Fld@temp\expandafter{%
|
|
\Fld@temp
|
|
0%
|
|
}%
|
|
}%
|
|
\expandafter\@firstofone
|
|
\fi
|
|
{%
|
|
\Fld@@DingDef#3\@nil
|
|
}%
|
|
}
|
|
\define@key{Field}{rotation}{%
|
|
\def\Fld@rotation{#1}%
|
|
}
|
|
\define@key{Field}{backgroundcolor}{%
|
|
\HyColor@FieldBColor{#1}\Fld@bcolor{hyperref}{backgroundcolor}%
|
|
}
|
|
\define@key{Field}{bordercolor}{%
|
|
\HyColor@FieldBColor{#1}\Fld@bordercolor{hyperref}{bordercolor}%
|
|
}
|
|
\define@key{Field}{color}{%
|
|
\HyColor@FieldColor{#1}\Fld@color{hyperref}{color}%
|
|
}
|
|
\let\Fld@onclick@code\ltx@empty
|
|
\let\Fld@format@code\ltx@empty
|
|
\let\Fld@validate@code\ltx@empty
|
|
\let\Fld@calculate@code\ltx@empty
|
|
\let\Fld@keystroke@code\ltx@empty
|
|
\let\Fld@onfocus@code\ltx@empty
|
|
\let\Fld@onblur@code\ltx@empty
|
|
\let\Fld@onmousedown@code\ltx@empty
|
|
\let\Fld@onmouseup@code\ltx@empty
|
|
\let\Fld@onenter@code\ltx@empty
|
|
\let\Fld@onexit@code\ltx@empty
|
|
\def\Hy@temp#1{%
|
|
\expandafter\Hy@@temp\csname Fld@#1@code\endcsname{#1}%
|
|
}
|
|
\def\Hy@@temp#1#2{%
|
|
\ifHy@pdfa
|
|
\define@key{Field}{#2}{%
|
|
\Hy@Error{%
|
|
PDF/A: Additional action `#2' is prohibited%
|
|
}\@ehc
|
|
}%
|
|
\else
|
|
\define@key{Field}{#2}{%
|
|
\def#1{##1}%
|
|
}%
|
|
\fi
|
|
}
|
|
\Hy@temp{keystroke}
|
|
\Hy@temp{format}
|
|
\Hy@temp{validate}
|
|
\Hy@temp{calculate}
|
|
\Hy@temp{onfocus}
|
|
\Hy@temp{onblur}
|
|
\Hy@temp{onenter}
|
|
\Hy@temp{onexit}
|
|
\let\Fld@calculate@sortkey\ltx@empty
|
|
\define@key{Field}{calculatesortkey}[1]{%
|
|
\def\Fld@calculate@sortkey{#1}%
|
|
}
|
|
\ifHy@texht
|
|
\def\Hy@temp#1{%
|
|
\define@key{Field}{#1}{%
|
|
\Field@addtoks{#1}{##1}%
|
|
}%
|
|
}%
|
|
\else
|
|
\def\Hy@temp#1{%
|
|
\define@key{Field}{#1}{%
|
|
\Hy@WarnHTMLFieldOption{#1}%
|
|
}%
|
|
}%
|
|
\fi
|
|
\Hy@temp{ondblclick}
|
|
\Hy@temp{onmousedown}
|
|
\Hy@temp{onmouseup}
|
|
\Hy@temp{onmouseover}
|
|
\Hy@temp{onmousemove}
|
|
\Hy@temp{onmouseout}
|
|
\Hy@temp{onkeydown}
|
|
\Hy@temp{onkeyup}
|
|
\Hy@temp{onselect}
|
|
\Hy@temp{onchange}
|
|
\Hy@temp{onkeypress}
|
|
\ifHy@texht
|
|
\define@key{Field}{onclick}{%
|
|
\Field@addtoks{onclick}{#1}%
|
|
}%
|
|
\else
|
|
\ifHy@pdfa
|
|
\define@key{Field}{onclick}{%
|
|
\Hy@Error{%
|
|
PDF/A: Action `onclick' is prohibited%
|
|
}\@ehc
|
|
}%
|
|
\else
|
|
\define@key{Field}{onclick}{%
|
|
\def\Fld@onclick@code{#1}%
|
|
}%
|
|
\fi
|
|
\fi
|
|
\DeclareRobustCommand\TextField{%
|
|
\@ifnextchar[{\@TextField}{\@TextField[]}%
|
|
}
|
|
\DeclareRobustCommand\ChoiceMenu{%
|
|
\@ifnextchar[{\@ChoiceMenu}{\@ChoiceMenu[]}%
|
|
}
|
|
\DeclareRobustCommand\CheckBox{%
|
|
\@ifnextchar[{\@CheckBox}{\@CheckBox[]}%
|
|
}
|
|
\DeclareRobustCommand\PushButton{%
|
|
\@ifnextchar[{\@PushButton}{\@PushButton[]}%
|
|
}
|
|
\DeclareRobustCommand\Gauge{%
|
|
\@ifnextchar[{\@Gauge}{\@Gauge[]}%
|
|
}
|
|
\DeclareRobustCommand\Submit{%
|
|
\@ifnextchar[{\@Submit}{\@Submit[]}%
|
|
}
|
|
\DeclareRobustCommand\Reset{%
|
|
\@ifnextchar[{\@Reset}{\@Reset[]}%
|
|
}
|
|
\def\LayoutTextField#1#2{% label, field
|
|
\def\Hy@temp{#1}%
|
|
\ifx\Hy@temp\@empty
|
|
#2%
|
|
\else
|
|
#1 #2%
|
|
\fi
|
|
}
|
|
\def\LayoutChoiceField#1#2{% label, field
|
|
\def\Hy@temp{#1}%
|
|
\ifx\Hy@temp\@empty
|
|
#2%
|
|
\else
|
|
#1 #2%
|
|
\fi
|
|
}
|
|
\def\LayoutCheckField#1#2{% label, field
|
|
\def\Hy@temp{#1}%
|
|
\ifx\Hy@temp\@empty
|
|
#2%
|
|
\else
|
|
#1 #2%
|
|
\fi
|
|
}
|
|
\def\LayoutPushButtonField#1{% button
|
|
#1%
|
|
}
|
|
\def\MakeRadioField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
|
|
\def\MakeCheckField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
|
|
\def\MakeTextField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
|
|
\def\MakeChoiceField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
|
|
\def\MakeButtonField#1{%
|
|
\sbox0{%
|
|
\hskip\Fld@borderwidth bp#1\hskip\Fld@borderwidth bp%
|
|
}%
|
|
\@tempdima\ht0 %
|
|
\advance\@tempdima by \Fld@borderwidth bp %
|
|
\advance\@tempdima by \Fld@borderwidth bp %
|
|
\ht0\@tempdima
|
|
\@tempdima\dp0 %
|
|
\advance\@tempdima by \Fld@borderwidth bp %
|
|
\advance\@tempdima by \Fld@borderwidth bp %
|
|
\dp0\@tempdima
|
|
\box0\relax
|
|
}
|
|
\def\DefaultHeightofSubmit{14pt}
|
|
\def\DefaultWidthofSubmit{2cm}
|
|
\def\DefaultHeightofReset{14pt}
|
|
\def\DefaultWidthofReset{2cm}
|
|
\def\DefaultHeightofCheckBox{\normalbaselineskip}
|
|
\def\DefaultWidthofCheckBox{\normalbaselineskip}
|
|
\def\DefaultHeightofChoiceMenu{\normalbaselineskip}
|
|
\def\DefaultWidthofChoiceMenu{\normalbaselineskip}
|
|
\def\DefaultHeightofText{\normalbaselineskip}
|
|
\def\DefaultHeightofTextMultiline{4\normalbaselineskip}
|
|
\def\DefaultWidthofText{3cm}
|
|
\def\DefaultOptionsofSubmit{print,name=Submit,noexport}
|
|
\def\DefaultOptionsofReset{print,name=Reset,noexport}
|
|
\def\DefaultOptionsofPushButton{print}
|
|
\def\DefaultOptionsofCheckBox{print}
|
|
\def\DefaultOptionsofText{print}
|
|
\def\DefaultOptionsofListBox{print}
|
|
\def\DefaultOptionsofComboBox{print,edit,sort}
|
|
\def\DefaultOptionsofPopdownBox{print}
|
|
\def\DefaultOptionsofRadio{print,notoggletooff}
|
|
\ifHy@hyperfigures
|
|
\Hy@Info{Hyper figures ON}%
|
|
\else
|
|
\Hy@Info{Hyper figures OFF}%
|
|
\fi
|
|
\ifHy@nesting
|
|
\Hy@Info{Link nesting ON}%
|
|
\else
|
|
\Hy@Info{Link nesting OFF}%
|
|
\fi
|
|
\ifHy@hyperindex
|
|
\Hy@Info{Hyper index ON}%
|
|
\else
|
|
\Hy@Info{Hyper index OFF}%
|
|
\fi
|
|
\ifHy@backref
|
|
\Hy@Info{backreferencing ON}%
|
|
\else
|
|
\Hy@Info{backreferencing OFF}%
|
|
\fi
|
|
\ifHy@colorlinks
|
|
\Hy@Info{Link coloring ON}%
|
|
\else
|
|
\Hy@Info{Link coloring OFF}%
|
|
\fi
|
|
\ifHy@ocgcolorlinks
|
|
\Hy@Info{Link coloring with OCG ON}%
|
|
\else
|
|
\Hy@Info{Link coloring with OCG OFF}%
|
|
\fi
|
|
\ifHy@pdfa
|
|
\Hy@Info{PDF/A mode ON}%
|
|
\else
|
|
\Hy@Info{PDF/A mode OFF}%
|
|
\fi
|
|
\edef\hyper@hash{\string#}
|
|
\edef\hyper@tilde{\string~}
|
|
\edef\hyper@quote{\string"}
|
|
\def\@currentHref{Doc-Start}
|
|
\let\Hy@footnote@currentHref\@empty
|
|
\Hy@AtBeginDocument{%
|
|
\Hy@pdfstringtrue
|
|
\PDF@SetupDoc
|
|
\let\PDF@SetupDoc\@empty
|
|
\Hy@DisableOption{pdfpagescrop}%
|
|
\Hy@DisableOption{pdfpagemode}%
|
|
\Hy@DisableOption{pdfnonfullscreenpagemode}%
|
|
\Hy@DisableOption{pdfdirection}%
|
|
\Hy@DisableOption{pdfviewarea}%
|
|
\Hy@DisableOption{pdfviewclip}%
|
|
\Hy@DisableOption{pdfprintarea}%
|
|
\Hy@DisableOption{pdfprintclip}%
|
|
\Hy@DisableOption{pdfprintscaling}%
|
|
\Hy@DisableOption{pdfduplex}%
|
|
\Hy@DisableOption{pdfpicktraybypdfsize}%
|
|
\Hy@DisableOption{pdfprintpagerange}%
|
|
\Hy@DisableOption{pdfnumcopies}%
|
|
\Hy@DisableOption{pdfstartview}%
|
|
\Hy@DisableOption{pdfstartpage}%
|
|
\Hy@DisableOption{pdftoolbar}%
|
|
\Hy@DisableOption{pdfmenubar}%
|
|
\Hy@DisableOption{pdfwindowui}%
|
|
\Hy@DisableOption{pdffitwindow}%
|
|
\Hy@DisableOption{pdfcenterwindow}%
|
|
\Hy@DisableOption{pdfdisplaydoctitle}%
|
|
\Hy@DisableOption{pdfpagelayout}%
|
|
\Hy@DisableOption{pdflang}%
|
|
\Hy@DisableOption{baseurl}%
|
|
\ifHy@texht\else\hyper@anchorstart{Doc-Start}\hyper@anchorend\fi
|
|
\Hy@pdfstringfalse
|
|
}
|
|
|
|
\LetLtxMacro\NoHy@OrgRef\ref
|
|
\DeclareRobustCommand*{\ref}{%
|
|
\@ifstar\NoHy@OrgRef\NoHy@OrgRef
|
|
}
|
|
\LetLtxMacro\NoHy@OrgPageRef\pageref
|
|
\DeclareRobustCommand*{\pageref}{%
|
|
\@ifstar\NoHy@OrgPageRef\NoHy@OrgPageRef
|
|
}
|
|
\def\NoHyper{%
|
|
\def\hyper@link@[##1]##2##3##4{##4\Hy@xspace@end}%
|
|
\def\hyper@@anchor##1##2{##2\Hy@xspace@end}%
|
|
\global\let\hyper@livelink\hyper@link
|
|
\gdef\hyper@link##1##2##3{##3\Hy@xspace@end}%
|
|
\let\hyper@anchor\ltx@gobble
|
|
\let\hyper@anchorstart\ltx@gobble
|
|
\def\hyper@anchorend{\Hy@xspace@end}%
|
|
\let\hyper@linkstart\ltx@gobbletwo
|
|
\def\hyper@linkend{\Hy@xspace@end}%
|
|
\def\hyper@linkurl##1##2{##1\Hy@xspace@end}%
|
|
\def\hyper@linkfile##1##2##3{##1\Hy@xspace@end}%
|
|
\let\Hy@backout\@gobble
|
|
}
|
|
\def\stop@hyper{%
|
|
\def\hyper@link@[##1]##2##3##4{##4\Hy@xspace@end}%
|
|
\let\Hy@backout\@gobble
|
|
\let\hyper@@anchor\ltx@gobble
|
|
\def\hyper@link##1##2##3{##3\Hy@xspace@end}%
|
|
\let\hyper@anchor\ltx@gobble
|
|
\let\hyper@anchorstart\ltx@gobble
|
|
\def\hyper@anchorend{\Hy@xspace@end}%
|
|
\let\hyper@linkstart\ltx@gobbletwo
|
|
\def\hyper@linkend{\Hy@xspace@end}%
|
|
\def\hyper@linkurl##1##2{##1\Hy@xspace@end}%
|
|
\def\hyper@linkfile##1##2##3{##1\Hy@xspace@end}%
|
|
}
|
|
\def\endNoHyper{%
|
|
\global\let\hyper@link\hyper@livelink
|
|
}
|
|
\Hy@AtBeginDocument{%
|
|
\if@filesw
|
|
\ifHy@typexml
|
|
\immediate\closeout\@mainaux
|
|
\immediate\openout\@mainaux\jobname.aux\relax
|
|
\immediate\write\@auxout{<relaxxml>\relax}%
|
|
\fi
|
|
\immediate\write\@auxout{%
|
|
\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
|
|
\let\HyperFirstAtBeginDocument\ltx@firstofone
|
|
\ifx\hyper@last\@undefined
|
|
\def\@starttoc#1{%
|
|
\begingroup
|
|
\makeatletter
|
|
\ltx@ifpackageloaded{parskip}{\parskip\z@}{}%
|
|
\IfFileExists{\jobname.#1}{%
|
|
\Hy@WarningNoLine{%
|
|
old #1 file detected, not used; run LaTeX again%
|
|
}%
|
|
}{}%
|
|
\if@filesw
|
|
\expandafter\newwrite\csname tf@#1\endcsname
|
|
\immediate\openout\csname tf@#1\endcsname \jobname.#1\relax
|
|
\fi
|
|
\@nobreakfalse
|
|
\endgroup
|
|
}%
|
|
\def\newlabel#1#2{\@newl@bel r{#1}{#2{}{}{}{}}}%
|
|
\fi
|
|
}
|
|
\ifHy@pdfusetitle
|
|
\let\HyOrg@title\title
|
|
\let\HyOrg@author\author
|
|
\def\title{\@ifnextchar[{\Hy@scanopttitle}{\Hy@scantitle}}%
|
|
\def\Hy@scanopttitle[#1]{%
|
|
\gdef\Hy@title{#1}%
|
|
\HyOrg@title[{#1}]%
|
|
}%
|
|
\def\Hy@scantitle#1{%
|
|
\gdef\Hy@title{#1}%
|
|
\HyOrg@title{#1}%
|
|
}%
|
|
\def\author{\@ifnextchar[{\Hy@scanoptauthor}{\Hy@scanauthor}}%
|
|
\def\Hy@scanoptauthor[#1]{%
|
|
\gdef\Hy@author{#1}%
|
|
\HyOrg@author[{#1}]%
|
|
}%
|
|
\def\Hy@scanauthor#1{%
|
|
\gdef\Hy@author{#1}%
|
|
\HyOrg@author{#1}%
|
|
}%
|
|
\begingroup
|
|
\def\process@me#1\@nil#2{%
|
|
\expandafter\let\expandafter\x\csname @#2\endcsname
|
|
\edef\y{\expandafter\strip@prefix\meaning\x}%
|
|
\def\c##1#1##2\@nil{%
|
|
\ifx\\##1\\%
|
|
\else
|
|
\expandafter\gdef\csname Hy@#2\expandafter\endcsname
|
|
\expandafter{\x}%
|
|
\fi
|
|
}%
|
|
\expandafter\c\y\relax#1\@nil
|
|
}%
|
|
\expandafter\process@me\string\@latex@\@nil{title}%
|
|
\expandafter\process@me\string\@latex@\@nil{author}%
|
|
\endgroup
|
|
\fi
|
|
\Hy@DisableOption{pdfusetitle}
|
|
\def\Hy@UseMaketitleString#1{%
|
|
\ltx@IfUndefined{Hy@#1}{}{%
|
|
\begingroup
|
|
\let\Hy@saved@hook\pdfstringdefPreHook
|
|
\pdfstringdefDisableCommands{%
|
|
\expandafter\let\expandafter\\\csname Hy@newline@#1\endcsname
|
|
\let\newline\\%
|
|
\def\and{; }%
|
|
\let\thanks\@gobble%
|
|
}%
|
|
\expandafter\ifx\csname @pdf#1\endcsname\@empty
|
|
\expandafter\pdfstringdef\csname @pdf#1\endcsname{%
|
|
\csname Hy@#1\endcsname\@empty
|
|
}%
|
|
\fi
|
|
\global\let\pdfstringdefPreHook\Hy@saved@hook
|
|
\endgroup
|
|
}%
|
|
}
|
|
\def\Hy@newline@title#1{ #1}
|
|
\def\Hy@newline@author#1{, #1}
|
|
\def\Hy@UseMaketitleInfos{%
|
|
\Hy@UseMaketitleString{title}%
|
|
\Hy@UseMaketitleString{author}%
|
|
}
|
|
\RequirePackage{atbegshi}[2007/09/09]
|
|
\let\Hy@EveryPageHook\ltx@empty
|
|
\let\Hy@EveryPageBoxHook\ltx@empty
|
|
\let\Hy@FirstPageHook\ltx@empty
|
|
\AtBeginShipout{%
|
|
\Hy@EveryPageHook
|
|
\ifx\Hy@EveryPageBoxHook\ltx@empty
|
|
\else
|
|
\setbox\AtBeginShipoutBox=\vbox{%
|
|
\offinterlineskip
|
|
\Hy@EveryPageBoxHook
|
|
\box\AtBeginShipoutBox
|
|
}%
|
|
\fi
|
|
}
|
|
\ltx@iffileloaded{hpdftex.def}{%
|
|
\AtBeginShipout{%
|
|
\Hy@FirstPageHook
|
|
\global\let\Hy@FirstPageHook\ltx@empty
|
|
}%
|
|
}{%
|
|
\AtBeginShipoutFirst{%
|
|
\Hy@FirstPageHook
|
|
}%
|
|
}
|
|
\g@addto@macro\Hy@FirstPageHook{%
|
|
\PDF@FinishDoc
|
|
\global\let\PDF@FinishDoc\ltx@empty
|
|
}
|
|
\ifHy@pdfpagelabels
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname thepage\endcsname\relax
|
|
\Hy@pdfpagelabelsfalse
|
|
\Hy@WarningNoLine{%
|
|
Option `pdfpagelabels' is turned off\MessageBreak
|
|
because \string\thepage\space is undefined%
|
|
}%
|
|
\csname fi\endcsname
|
|
\csname iffalse\expandafter\endcsname
|
|
\fi
|
|
\def\thispdfpagelabel#1{%
|
|
\gdef\HyPL@thisLabel{#1}%
|
|
}%
|
|
\global\let\HyPL@thisLabel\relax
|
|
\let\HyPL@Labels\ltx@empty
|
|
\newcount\Hy@abspage
|
|
\Hy@abspage=0 %
|
|
\def\HyPL@LastType{init}%
|
|
\def\HyPL@LastNumber{0}%
|
|
\let\HyPL@LastPrefix\ltx@empty
|
|
\def\HyPL@arabic{D}%
|
|
\def\HyPL@Roman{R}%
|
|
\def\HyPL@roman{r}%
|
|
\def\HyPL@Alph{A}%
|
|
\def\HyPL@alph{a}%
|
|
\let\HyPL@SlidesSetPage\ltx@empty
|
|
\ltx@ifclassloaded{slides}{%
|
|
\def\HyPL@SlidesSetPage{%
|
|
\advance\c@page\ltx@one
|
|
\ifnum\value{page}>\ltx@one
|
|
\protected@edef\HyPL@SlidesOptionalPage{%
|
|
\Hy@SlidesFormatOptionalPage{\thepage}%
|
|
}%
|
|
\else
|
|
\let\HyPL@SlidesOptionalPage\ltx@empty
|
|
\fi
|
|
\advance\c@page-\ltx@one
|
|
\def\HyPL@page{%
|
|
\csname the\Hy@SlidesPage\endcsname
|
|
\HyPL@SlidesOptionalPage
|
|
}%
|
|
}%
|
|
}{}%
|
|
\def\HyPL@EveryPage{%
|
|
\begingroup
|
|
\ifx\HyPL@thisLabel\relax
|
|
\let\HyPL@page\thepage
|
|
\HyPL@SlidesSetPage
|
|
\else
|
|
\let\HyPL@page\HyPL@thisLabel
|
|
\global\let\HyPL@thisLabel\relax
|
|
\fi
|
|
\let\HyPL@Type\relax
|
|
\ifnum\c@page>0 %
|
|
\ifx\HyPL@SlidesSetPage\ltx@empty
|
|
\expandafter\HyPL@CheckThePage\HyPL@page\@nil
|
|
\fi
|
|
\fi
|
|
\let\Hy@temp Y%
|
|
\ifx\HyPL@Type\HyPL@LastType
|
|
\else
|
|
\let\Hy@temp N%
|
|
\fi
|
|
\ifx\HyPL@Type\relax
|
|
\pdfstringdef\HyPL@Prefix{\HyPL@page}%
|
|
\else
|
|
\pdfstringdef\HyPL@Prefix\HyPL@Prefix
|
|
\fi
|
|
\ifx\HyPL@Prefix\HyPL@LastPrefix
|
|
\else
|
|
\let\Hy@temp N%
|
|
\fi
|
|
\if Y\Hy@temp
|
|
\advance\c@page by -1 %
|
|
\ifnum\HyPL@LastNumber=\the\c@page\relax
|
|
\else
|
|
\let\Hy@temp N%
|
|
\fi
|
|
\Hy@StepCount\c@page
|
|
\fi
|
|
\if N\Hy@temp
|
|
\ifx\HyPL@Type\relax
|
|
\HyPL@StorePageLabel{/P(\HyPL@Prefix)}%
|
|
\else
|
|
\HyPL@StorePageLabel{%
|
|
\ifx\HyPL@Prefix\@empty
|
|
\else
|
|
/P(\HyPL@Prefix)%
|
|
\fi
|
|
/S/\csname HyPL\HyPL@Type\endcsname
|
|
\ifnum\the\c@page=1 %
|
|
\else
|
|
\space/St \the\c@page
|
|
\fi
|
|
}%
|
|
\fi
|
|
\fi
|
|
\xdef\HyPL@LastNumber{\the\c@page}%
|
|
\global\let\HyPL@LastType\HyPL@Type
|
|
\global\let\HyPL@LastPrefix\HyPL@Prefix
|
|
\endgroup
|
|
\Hy@GlobalStepCount\Hy@abspage
|
|
}%
|
|
\def\HyPL@CheckThePage#1\@nil{%
|
|
\HyPL@@CheckThePage{#1}#1\csname\endcsname\c@page\@nil
|
|
}%
|
|
\def\HyPL@@CheckThePage#1#2\csname#3\endcsname\c@page#4\@nil{%
|
|
\def\Hy@tempa{#4}%
|
|
\def\Hy@tempb{\csname\endcsname\c@page}%
|
|
\ifx\Hy@tempa\Hy@tempb
|
|
\expandafter\ifx\csname HyPL#3\endcsname\relax
|
|
\else
|
|
\def\HyPL@Type{#3}%
|
|
\def\HyPL@Prefix{#2}%
|
|
\fi
|
|
\else
|
|
\begingroup
|
|
\let\Hy@next\endgroup
|
|
\let\HyPL@found\@undefined
|
|
\def\arabic{\HyPL@Format{arabic}}%
|
|
\def\Roman{\HyPL@Format{Roman}}%
|
|
\def\roman{\HyPL@Format{roman}}%
|
|
\def\Alph{\HyPL@Format{Alph}}%
|
|
\def\alph{\HyPL@Format{alph}}%
|
|
\protected@edef\Hy@temp{#1}%
|
|
\ifx\HyPL@found\relax
|
|
\toks@\expandafter{\Hy@temp}%
|
|
\edef\Hy@next{\endgroup
|
|
\noexpand\HyPL@@@CheckThePage\the\toks@
|
|
\noexpand\HyPL@found\relax\noexpand\@nil
|
|
}%
|
|
\fi
|
|
\Hy@next
|
|
\fi
|
|
}%
|
|
\def\HyPL@Format#1#2{%
|
|
\ifx\HyPL@found\@undefined
|
|
\expandafter\ifx\csname c@#2\endcsname\c@page
|
|
\expandafter\noexpand\csname HyPL@found\endcsname{#1}%
|
|
\else
|
|
\expandafter\noexpand\csname#1\endcsname{#2}%
|
|
\fi
|
|
\else
|
|
\expandafter\noexpand\csname#1\endcsname{#2}%
|
|
\fi
|
|
}%
|
|
\def\HyPL@@@CheckThePage#1\HyPL@found#2#3\@nil{%
|
|
\def\Hy@tempa{#3}%
|
|
\def\Hy@tempb{\HyPL@found\relax}%
|
|
\ifx\Hy@tempa\Hy@tempb
|
|
\def\HyPL@Type{@#2}%
|
|
\def\HyPL@Prefix{#1}%
|
|
\fi
|
|
}%
|
|
\providecommand*{\HyPL@StorePageLabel}[1]{}%
|
|
\def\HyPL@Useless{0<</S/D>>}%
|
|
\@onelevel@sanitize\HyPL@Useless
|
|
\def\HyPL@SetPageLabels{%
|
|
\@onelevel@sanitize\HyPL@Labels
|
|
\ifx\HyPL@Labels\@empty
|
|
\else
|
|
\ifx\HyPL@Labels\HyPL@Useless
|
|
\else
|
|
\Hy@PutCatalog{/PageLabels<</Nums[\HyPL@Labels]>>}%
|
|
\fi
|
|
\fi
|
|
}%
|
|
\g@addto@macro\Hy@EveryPageHook{\HyPL@EveryPage}%
|
|
\fi
|
|
\Hy@DisableOption{pdfpagelabels}
|
|
\ifx\MaybeStopEarly\relax
|
|
\else
|
|
\Hy@stoppedearlytrue
|
|
\expandafter\MaybeStopEarly
|
|
\fi
|
|
\Hy@stoppedearlyfalse
|
|
\def\Hy@CounterExists#1{%
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname c@#1\endcsname\relax
|
|
\expandafter\@gobble
|
|
\else
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname the#1\endcsname\relax
|
|
\expandafter\expandafter\expandafter\@gobble
|
|
\else
|
|
\expandafter\expandafter\expandafter\@firstofone
|
|
\fi
|
|
\fi
|
|
}
|
|
\Hy@CounterExists{section}{%
|
|
\providecommand\theHequation{\theHsection.\arabic{equation}}%
|
|
}
|
|
\Hy@CounterExists{part}{%
|
|
\providecommand\theHpart{\arabic{part}}%
|
|
}
|
|
\ltx@IfUndefined{thechapter}{%
|
|
\providecommand\theHsection {\arabic{section}}%
|
|
\providecommand\theHfigure {\arabic{figure}}%
|
|
\providecommand\theHtable {\arabic{table}}%
|
|
}{%
|
|
\providecommand\theHchapter {\arabic{chapter}}%
|
|
\providecommand\theHfigure {\theHchapter.\arabic{figure}}%
|
|
\providecommand\theHtable {\theHchapter.\arabic{table}}%
|
|
\providecommand\theHsection {\theHchapter.\arabic{section}}%
|
|
}
|
|
\providecommand\theHsubsection {\theHsection.\arabic{subsection}}
|
|
\providecommand\theHsubsubsection{\theHsubsection.\arabic{subsubsection}}
|
|
\providecommand\theHparagraph {\theHsubsubsection.\arabic{paragraph}}
|
|
\providecommand\theHsubparagraph {\theHparagraph.\arabic{subparagraph}}
|
|
\providecommand\theHtheorem {\theHsection.\arabic{theorem}}
|
|
\providecommand\theHthm {\theHsection.\arabic{thm}}
|
|
\let\H@item\item
|
|
\newcounter{Item}
|
|
\def\theHItem{\arabic{Item}}
|
|
\def\item{%
|
|
\@hyper@itemfalse
|
|
\if@nmbrlist\@hyper@itemtrue\fi
|
|
\H@item
|
|
}
|
|
\providecommand\theHenumi {\theHItem}
|
|
\providecommand\theHenumii {\theHItem}
|
|
\providecommand\theHenumiii {\theHItem}
|
|
\providecommand\theHenumiv {\theHItem}
|
|
\providecommand\theHHfootnote {\arabic{Hfootnote}}
|
|
\providecommand\theHmpfootnote{\arabic{mpfootnote}}
|
|
\@ifundefined{theHHmpfootnote}{%
|
|
\let\theHHmpfootnote\theHHfootnote
|
|
}{}
|
|
\let\H@refstepcounter\refstepcounter
|
|
\edef\name@of@eq{equation}%
|
|
\edef\name@of@slide{slide}%
|
|
\newif\if@hyper@item
|
|
\newif\if@skiphyperref
|
|
\@hyper@itemfalse
|
|
\@skiphyperreffalse
|
|
\def\refstepcounter#1{%
|
|
\ifHy@pdfstring
|
|
\else
|
|
\H@refstepcounter{#1}%
|
|
\edef\This@name{#1}%
|
|
\ifx\This@name\name@of@slide
|
|
\else
|
|
\if@skiphyperref
|
|
\else
|
|
\if@hyper@item
|
|
\stepcounter{Item}%
|
|
\hyper@refstepcounter{Item}%
|
|
\@hyper@itemfalse
|
|
\else
|
|
\hyper@refstepcounter{#1}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}
|
|
\let\Hy@saved@refstepcounter\refstepcounter
|
|
\@ifpackageloaded{amsmath}{}{\newif\ifmeasuring@\measuring@false}
|
|
\def\hyper@refstepcounter#1{%
|
|
\edef\This@name{#1}%
|
|
\ifx\This@name\name@of@eq
|
|
\@ifundefined{theHequation}{%
|
|
\make@stripped@name{\theequation}%
|
|
\let\theHequation\newname
|
|
}{}%
|
|
\fi
|
|
\HyCnt@ProvideTheHCounter{#1}%
|
|
\hyper@makecurrent{#1}%
|
|
\ifmeasuring@
|
|
\else
|
|
\Hy@raisedlink{%
|
|
\hyper@anchorstart{\@currentHref}\hyper@anchorend
|
|
}%
|
|
\fi
|
|
}
|
|
\def\HyCnt@ProvideTheHCounter#1{%
|
|
\@ifundefined{theH#1}{%
|
|
\expandafter\def\csname theH#1\endcsname{}%
|
|
\def\Hy@temp{\@elt{#1}}%
|
|
\ltx@onelevel@sanitize\Hy@temp
|
|
\let\HyOrg@elt\@elt
|
|
\edef\@elt{%
|
|
\noexpand\HyCnt@LookForParentCounter
|
|
\expandafter\noexpand\csname theH#1\endcsname
|
|
}%
|
|
\cl@@ckpt
|
|
\let\@elt\HyOrg@elt
|
|
\expandafter
|
|
\ltx@LocalAppendToMacro\csname theH#1\expandafter\endcsname
|
|
\expandafter{%
|
|
\expandafter\@arabic\csname c@#1\endcsname
|
|
}%
|
|
}{}%
|
|
}
|
|
\def\HyCnt@LookForParentCounter#1#2{%
|
|
\expandafter\let\expandafter\Hy@temp@A\csname cl@#2\endcsname
|
|
\ltx@IfUndefined{cl@#2}{%
|
|
}{%
|
|
\ltx@onelevel@sanitize\Hy@temp@A
|
|
\edef\Hy@temp@A{%
|
|
\noexpand\in@{\Hy@temp}{\Hy@temp@A}%
|
|
}\Hy@temp@A
|
|
\ifin@
|
|
\ltx@IfUndefined{theH#2}{%
|
|
\expandafter\ltx@LocalAppendToMacro\expandafter#1%
|
|
\expandafter{%
|
|
\expandafter\@arabic\csname c@#2\endcsname.%
|
|
}%
|
|
}{%
|
|
\expandafter\ltx@LocalAppendToMacro\expandafter#1%
|
|
\expandafter{%
|
|
\csname theH#2\endcsname.%
|
|
}%
|
|
}%
|
|
\fi
|
|
}%
|
|
}
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname chapter\endcsname\relax
|
|
\def\Hy@chapterstring{section}%
|
|
\else
|
|
\def\Hy@chapterstring{chapter}%
|
|
\fi
|
|
\def\Hy@appendixstring{appendix}
|
|
\def\Hy@chapapp{\Hy@chapterstring}
|
|
\ltx@IfUndefined{appendix}{%
|
|
}{%
|
|
\let\HyOrg@appendix\appendix
|
|
\def\Hy@AlphNoErr#1{%
|
|
\ifnum\value{#1}>26 %
|
|
Alph\number\value{#1}%
|
|
\else
|
|
\ifnum\value{#1}<1 %
|
|
Alph\number\value{#1}%
|
|
\else
|
|
\Alph{#1}%
|
|
\fi
|
|
\fi
|
|
}%
|
|
\def\appendix{%
|
|
\ltx@IfUndefined{chapter}{%
|
|
\gdef\theHsection{\Hy@AlphNoErr{section}}%
|
|
}{%
|
|
\gdef\theHchapter{\Hy@AlphNoErr{chapter}}%
|
|
}%
|
|
\xdef\Hy@chapapp{\Hy@appendixstring}%
|
|
\HyOrg@appendix
|
|
}%
|
|
}
|
|
\def\Hy@Test@alph#1{%
|
|
\ifcase#1\or
|
|
a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or
|
|
k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or
|
|
u\or v\or w\or x\or y\or z%
|
|
\else
|
|
\@ctrerr
|
|
\fi
|
|
}
|
|
\def\Hy@Test@Alph#1{%
|
|
\ifcase#1\or
|
|
A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or
|
|
K\or L\or M\or N\or O\or P\or Q\or R\or S\or T\or
|
|
U\or V\or W\or X\or Y\or Z%
|
|
\else
|
|
\@ctrerr
|
|
\fi
|
|
}
|
|
\def\hyper@makecurrent#1{%
|
|
\begingroup
|
|
\Hy@safe@activestrue
|
|
\edef\Hy@param{#1}%
|
|
\ifx\Hy@param\Hy@chapterstring
|
|
\let\Hy@param\Hy@chapapp
|
|
\fi
|
|
\ifHy@hypertexnames
|
|
\let\@number\@firstofone
|
|
\def\@fnsymbol##1{fnsymbol\number##1}%
|
|
\def\@arabic##1{\number##1}%
|
|
\ifx\@alph\Hy@Test@alph
|
|
\else
|
|
\def\@alph{alph\number}%
|
|
\fi
|
|
\ifx\@Alph\Hy@Test@Alph
|
|
\else
|
|
\def\@Alph{Alph\number}%
|
|
\fi
|
|
\ifHy@naturalnames
|
|
\let\textlatin\@firstofone
|
|
\xdef\HyperGlobalCurrentHref{\csname the#1\endcsname}%
|
|
\else
|
|
\xdef\HyperGlobalCurrentHref{%
|
|
\csname
|
|
the%
|
|
\expandafter\ifx\csname theH#1\endcsname\relax\else H\fi
|
|
#1%
|
|
\endcsname
|
|
}%
|
|
\fi
|
|
\xdef\HyperGlobalCurrentHref{%
|
|
\Hy@param.\expandafter\strip@prefix\meaning\HyperGlobalCurrentHref
|
|
}%
|
|
\else
|
|
\Hy@GlobalStepCount\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\@currentHref\HyperLocalCurrentHref
|
|
\else
|
|
\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{%
|
|
\FV@SetLineNo
|
|
\def\FV@StepLineNo{\H@refstepcounter{FancyVerbLine}}%
|
|
\FV@StepLineNo
|
|
}%
|
|
}%
|
|
}{}
|
|
\Hy@AtBeginDocument{%
|
|
\@ifclassloaded{revtex4}{%
|
|
\@namedef{ver@lastpage.sty}{1994/06/25}%
|
|
}{}%
|
|
\@ifpackageloaded{lastpage}{%
|
|
\ifHy@pageanchor
|
|
\else
|
|
\Hy@WarningNoLine{%
|
|
The \string\pageref{LastPage} link doesn't work\MessageBreak
|
|
with disabled option `pageanchor'%
|
|
}%
|
|
\fi
|
|
\def\lastpage@putlabel{%
|
|
\addtocounter{page}{-1}%
|
|
\if@filesw
|
|
\begingroup
|
|
\let\@number\@firstofone
|
|
\ifHy@pageanchor
|
|
\ifHy@hypertexnames
|
|
\ifHy@plainpages
|
|
\def\Hy@temp{\arabic{page}}%
|
|
\else
|
|
\Hy@unicodefalse
|
|
\pdfstringdef\Hy@temp{\thepage}%
|
|
\fi
|
|
\else
|
|
\def\Hy@temp{\the\Hy@pagecounter}%
|
|
\fi
|
|
\fi
|
|
\immediate\write\@auxout{%
|
|
\string\newlabel
|
|
{LastPage}{{}{\thepage}{}{%
|
|
\ifHy@pageanchor page.\Hy@temp\fi}{}}%
|
|
}%
|
|
\endgroup
|
|
\fi
|
|
\addtocounter{page}{1}%
|
|
}%
|
|
\@ifclassloaded{revtex4}{%
|
|
\begingroup
|
|
\toks@\expandafter{\lastpage@putlabel}%
|
|
\edef\x{\endgroup
|
|
\def\noexpand\lastpage@putlabel{%
|
|
\noexpand\stepcounter{page}%
|
|
\the\toks@
|
|
\noexpand\addtocounter{page}\noexpand\m@ne
|
|
}%
|
|
}%
|
|
\x
|
|
}{}%
|
|
}{}%
|
|
}
|
|
\def\hypergetref#1{\getrefbykeydefault{#1}{}{??}}
|
|
\def\hypergetpageref#1{\getrefbykeydefault{#1}{page}{0}}
|
|
\@ifpackageloaded{titlesec}{%
|
|
\def\ttl@Hy@steplink#1{%
|
|
\Hy@MakeCurrentHrefAuto{#1*}%
|
|
\edef\ttl@Hy@saveanchor{%
|
|
\noexpand\Hy@raisedlink{%
|
|
\noexpand\hyper@anchorstart{\@currentHref}%
|
|
\noexpand\hyper@anchorend
|
|
\def\noexpand\ttl@Hy@SavedCurrentHref{\@currentHref}%
|
|
\noexpand\ttl@Hy@PatchSaveWrite
|
|
}%
|
|
}%
|
|
}%
|
|
\def\ttl@Hy@PatchSaveWrite{%
|
|
\begingroup
|
|
\toks@\expandafter{\ttl@savewrite}%
|
|
\edef\x{\endgroup
|
|
\def\noexpand\ttl@savewrite{%
|
|
\let\noexpand\@currentHref
|
|
\noexpand\ttl@Hy@SavedCurrentHref
|
|
\the\toks@
|
|
}%
|
|
}%
|
|
\x
|
|
}%
|
|
\def\ttl@Hy@refstepcounter#1{%
|
|
\let\ttl@b\Hy@raisedlink
|
|
\def\Hy@raisedlink##1{%
|
|
\def\ttl@Hy@saveanchor{\Hy@raisedlink{##1}}%
|
|
}%
|
|
\refstepcounter{#1}%
|
|
\let\Hy@raisedlink\ttl@b
|
|
}%
|
|
}{}
|
|
\@ifpackageloaded{titletoc}{%
|
|
\def\ttl@gobblecontents#1#2#3#4{\ignorespaces}%
|
|
}{}
|
|
\AtBeginDocument{%
|
|
\def\Hy@varioref@undefined{{??}{??}{}{}{}}
|
|
\@ifpackageloaded{varioref}{%
|
|
\def\vref@pagenum#1#2{%
|
|
\@ifundefined{r@#2}{%
|
|
\expandafter\let\csname r@#2\endcsname\Hy@varioref@undefined
|
|
}{}%
|
|
\edef#1{\getpagerefnumber{#2}}%
|
|
}%
|
|
}{}
|
|
\def\Hy@varioref@refstepcounter#1{%
|
|
\stepcounter{#1}%
|
|
\protected@edef\@currentlabel{%
|
|
\csname p@#1\expandafter\endcsname\csname the#1\endcsname
|
|
}%
|
|
}
|
|
\ifx\refstepcounter\Hy@varioref@refstepcounter
|
|
\let\H@refstepcounter\refstepcounter
|
|
\let\refstepcounter\Hy@saved@refstepcounter
|
|
\fi
|
|
}
|
|
\@ifpackageloaded{longtable}{%
|
|
\begingroup
|
|
\def\y{\LT@array}%
|
|
\@ifundefined{scr@LT@array}{%
|
|
\@ifundefined{adl@LT@array}{}{\def\y{\adl@LT@array}}%
|
|
}{\def\y{\scr@LT@array}}%
|
|
\long\def\x\refstepcounter#1#2\@sharp#3#4\@nil{%
|
|
\expandafter\endgroup
|
|
\expandafter\def\y[##1]##2{%
|
|
\H@refstepcounter{#1}%
|
|
\hyper@makecurrent{table}%
|
|
\let\Hy@LT@currentHref\@currentHref
|
|
#2\@sharp#####4%
|
|
}%
|
|
}%
|
|
\expandafter\expandafter\expandafter\x\y[{#1}]{#2}\@nil
|
|
\begingroup
|
|
\def\x#1\ifvoid\LT@foot#2\fi#3\@nil{%
|
|
\endgroup
|
|
\def\LT@start{%
|
|
#1%
|
|
\ifvoid\LT@foot#2\fi
|
|
\let\@currentHref\Hy@LT@currentHref
|
|
\Hy@raisedlink{%
|
|
\hyper@anchorstart{\@currentHref}\hyper@anchorend
|
|
}%
|
|
#3%
|
|
}%
|
|
}%
|
|
\expandafter\x\LT@start\@nil
|
|
}{}
|
|
\let\new@refstepcounter\refstepcounter
|
|
\let\H@equation\equation
|
|
\let\H@endequation\endequation
|
|
\@ifpackageloaded{amsmath}{%
|
|
\long\def\Hy@temp{%
|
|
\incr@eqnum
|
|
\mathdisplay@push
|
|
\st@rredfalse \global\@eqnswtrue
|
|
\mathdisplay{equation}%
|
|
}%
|
|
\ifx\Hy@temp\equation
|
|
\expandafter\ifx\csname if@fleqn\expandafter\endcsname
|
|
\csname iftrue\endcsname
|
|
\else
|
|
\long\def\equation{%
|
|
\mathdisplay@push
|
|
\st@rredfalse \global\@eqnswtrue
|
|
\mathdisplay{equation}%
|
|
\incr@eqnum
|
|
}%
|
|
\fi
|
|
\fi
|
|
}{%
|
|
\def\equation{%
|
|
\let\refstepcounter\H@refstepcounter
|
|
\H@equation
|
|
\@ifundefined{theHequation}{%
|
|
\make@stripped@name{\theequation}%
|
|
\let\theHequation\newname
|
|
}{}%
|
|
\hyper@makecurrent{equation}%
|
|
\mathopen{%
|
|
\Hy@raisedlink{\hyper@anchorstart{\@currentHref}}%
|
|
}%
|
|
\let\refstepcounter\new@refstepcounter
|
|
}%
|
|
\def\endequation{%
|
|
\ifx\Hy@raisedlink\ltx@empty
|
|
\hyper@anchorend
|
|
\else
|
|
\mathclose{\Hy@raisedlink{\hyper@anchorend}}%
|
|
\fi
|
|
\H@endequation
|
|
}%
|
|
}
|
|
\newif\if@eqnstar
|
|
\@eqnstarfalse
|
|
\let\H@eqnarray\eqnarray
|
|
\let\H@endeqnarray\endeqnarray
|
|
\def\eqnarray{%
|
|
\let\Hy@reserved@a\relax
|
|
\def\@currentHref{}%
|
|
\H@eqnarray
|
|
\if@eqnstar
|
|
\else
|
|
\ifx\\\@currentHref\\%
|
|
\else
|
|
\@ifundefined{theHequation}{%
|
|
\make@stripped@name{\theequation}%
|
|
\let\theHequation\newname
|
|
}{}%
|
|
\hyper@makecurrent{equation}%
|
|
\mathopen{%
|
|
\Hy@raisedlink{%
|
|
\hyper@anchorstart{\@currentHref}\hyper@anchorend
|
|
}%
|
|
}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\endeqnarray{%
|
|
\H@endeqnarray
|
|
}
|
|
\@namedef{eqnarray*}{%
|
|
\def\@eqncr{\nonumber\@seqncr}\@eqnstartrue\eqnarray
|
|
}
|
|
\@namedef{endeqnarray*}{%
|
|
\nonumber\endeqnarray\@eqnstarfalse
|
|
}
|
|
\ltx@IfUndefined{subeqnarray}{}{%
|
|
\let\H@subeqnarray\subeqnarray
|
|
\let\H@endsubeqnarray\endsubeqnarray
|
|
\def\subeqnarray{%
|
|
\let\Hy@reserved@a\relax
|
|
\H@subeqnarray
|
|
\@ifundefined{theHequation}{%
|
|
\make@stripped@name{\theequation}%
|
|
\let\theHequation\newname
|
|
}{}%
|
|
\hyper@makecurrent{equation}%
|
|
\hyper@anchorstart{\@currentHref}{}\hyper@anchorend
|
|
}%
|
|
\def\endsubeqnarray{%
|
|
\H@endsubeqnarray
|
|
}%
|
|
\providecommand\theHsubequation{\theHequation\alph{subequation}}%
|
|
}
|
|
\def\make@stripped@name#1{%
|
|
\begingroup
|
|
\escapechar\m@ne
|
|
\global\let\newname\@empty
|
|
\protected@edef\Hy@tempa{#1}%
|
|
\edef\@tempb{%
|
|
\noexpand\@tfor\noexpand\Hy@tempa:=%
|
|
\expandafter\strip@prefix\meaning\Hy@tempa
|
|
}%
|
|
\@tempb\do{%
|
|
\if{\Hy@tempa\else
|
|
\if}\Hy@tempa\else
|
|
\xdef\newname{\newname\Hy@tempa}%
|
|
\fi
|
|
\fi
|
|
}%
|
|
\endgroup
|
|
}
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname subequations\endcsname\relax
|
|
\else
|
|
\let\HyOrg@subequations\subequations
|
|
\def\subequations{%
|
|
\stepcounter{equation}%
|
|
\protected@edef\theHparentequation{%
|
|
\@ifundefined{theHequation}\theequation\theHequation
|
|
}%
|
|
\addtocounter{equation}{-1}%
|
|
\HyOrg@subequations
|
|
\def\theHequation{\theHparentequation\alph{equation}}%
|
|
\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}%
|
|
}%
|
|
}%
|
|
}
|
|
\ifHy@hyperfootnotes
|
|
\newcounter{Hfootnote}%
|
|
\let\H@@footnotetext\@footnotetext
|
|
\let\H@@footnotemark\@footnotemark
|
|
\def\@xfootnotenext[#1]{%
|
|
\begingroup
|
|
\csname c@\@mpfn\endcsname #1\relax
|
|
\unrestored@protected@xdef\@thefnmark{\thempfn}%
|
|
\endgroup
|
|
\ifx\@footnotetext\@mpfootnotetext
|
|
\expandafter\H@@mpfootnotetext
|
|
\else
|
|
\expandafter\H@@footnotetext
|
|
\fi
|
|
}%
|
|
\def\@xfootnotemark[#1]{%
|
|
\begingroup
|
|
\c@footnote #1\relax
|
|
\unrestored@protected@xdef\@thefnmark{\thefootnote}%
|
|
\endgroup
|
|
\H@@footnotemark
|
|
}%
|
|
\let\H@@mpfootnotetext\@mpfootnotetext
|
|
\long\def\@mpfootnotetext#1{%
|
|
\H@@mpfootnotetext{%
|
|
\ifHy@nesting
|
|
\expandafter\ltx@firstoftwo
|
|
\else
|
|
\expandafter\ltx@secondoftwo
|
|
\fi
|
|
{%
|
|
\expandafter\hyper@@anchor\expandafter{%
|
|
\Hy@footnote@currentHref
|
|
}{\ignorespaces #1}%
|
|
}{%
|
|
\Hy@raisedlink{%
|
|
\expandafter\hyper@@anchor\expandafter{%
|
|
\Hy@footnote@currentHref
|
|
}{\relax}%
|
|
}\ignorespaces #1%
|
|
}%
|
|
}%
|
|
}%
|
|
\long\def\@footnotetext#1{%
|
|
\H@@footnotetext{%
|
|
\ifHy@nesting
|
|
\expandafter\ltx@firstoftwo
|
|
\else
|
|
\expandafter\ltx@secondoftwo
|
|
\fi
|
|
{%
|
|
\expandafter\hyper@@anchor\expandafter{%
|
|
\Hy@footnote@currentHref
|
|
}{\ignorespaces #1}%
|
|
}{%
|
|
\Hy@raisedlink{%
|
|
\expandafter\hyper@@anchor\expandafter{%
|
|
\Hy@footnote@currentHref
|
|
}{\relax}%
|
|
}%
|
|
\let\@currentHref\Hy@footnote@currentHref
|
|
\let\@currentlabelname\@empty
|
|
\ignorespaces #1%
|
|
}%
|
|
}%
|
|
}%
|
|
\def\@footnotemark{%
|
|
\leavevmode
|
|
\ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
|
|
\stepcounter{Hfootnote}%
|
|
\global\let\Hy@saved@currentHref\@currentHref
|
|
\hyper@makecurrent{Hfootnote}%
|
|
\global\let\Hy@footnote@currentHref\@currentHref
|
|
\global\let\@currentHref\Hy@saved@currentHref
|
|
\hyper@linkstart{link}{\Hy@footnote@currentHref}%
|
|
\@makefnmark
|
|
\hyper@linkend
|
|
\ifhmode\spacefactor\@x@sf\fi
|
|
\relax
|
|
}%
|
|
\@ifpackageloaded{tabularx}{%
|
|
\let\HyOrg@TX@endtabularx\TX@endtabularx
|
|
\def\Hy@tabularx@hook{%
|
|
\let\@footnotetext\H@@footnotetext
|
|
\let\@footnotemark\H@@footnotemark
|
|
\let\@mpfootnotetext\H@@mpfootnotetext
|
|
}%
|
|
\begingroup
|
|
\toks@\expandafter{\TX@endtabularx}%
|
|
\xdef\Hy@gtemp{%
|
|
\noexpand\Hy@tabularx@hook
|
|
\the\toks@
|
|
}%
|
|
\endgroup
|
|
\let\TX@endtabularx\Hy@gtemp
|
|
}{}%
|
|
\@ifpackageloaded{longtable}{%
|
|
\CheckCommand*{\LT@p@ftntext}[1]{%
|
|
\edef\@tempa{%
|
|
\the\LT@p@ftn
|
|
\noexpand\footnotetext[\the\c@footnote]%
|
|
}%
|
|
\global\LT@p@ftn\expandafter{\@tempa{#1}}%
|
|
}%
|
|
\long\def\LT@p@ftntext#1{%
|
|
\edef\@tempa{%
|
|
\the\LT@p@ftn
|
|
\begingroup
|
|
\noexpand\c@footnote=\the\c@footnote\relax
|
|
\noexpand\protected@xdef\noexpand\@thefnmark{%
|
|
\noexpand\thempfn
|
|
}%
|
|
\noexpand\Hy@LT@footnotetext{%
|
|
\Hy@footnote@currentHref
|
|
}%
|
|
}%
|
|
\global\LT@p@ftn\expandafter{%
|
|
\@tempa{#1}%
|
|
\endgroup
|
|
}%
|
|
}%
|
|
\long\def\Hy@LT@footnotetext#1#2{%
|
|
\H@@footnotetext{%
|
|
\ifHy@nesting
|
|
\hyper@@anchor{#1}{#2}%
|
|
\else
|
|
\Hy@raisedlink{%
|
|
\hyper@@anchor{#1}{\relax}%
|
|
}%
|
|
\def\@currentHref{#1}%
|
|
\let\@currentlabelname\@empty
|
|
#2%
|
|
\fi
|
|
}%
|
|
}%
|
|
}{}%
|
|
\@ifpackageloaded{fancyvrb}{%
|
|
\def\V@@footnotetext{%
|
|
\insert\footins\bgroup
|
|
\csname reset@font\endcsname
|
|
\footnotesize
|
|
\interlinepenalty\interfootnotelinepenalty
|
|
\splittopskip\footnotesep
|
|
\splitmaxdepth\dp\strutbox
|
|
\floatingpenalty \@MM
|
|
\hsize\columnwidth
|
|
\@parboxrestore
|
|
\edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
|
|
\@makefntext{}%
|
|
\rule{\z@}{\footnotesep}%
|
|
\bgroup
|
|
\aftergroup\V@@@footnotetext
|
|
\Hy@raisedlink{%
|
|
\expandafter\hyper@@anchor\expandafter{%
|
|
\Hy@footnote@currentHref
|
|
}{\relax}%
|
|
}%
|
|
\let\@currentHref\Hy@footnote@currentHref
|
|
\let\@currentlabelname\@empty
|
|
\ignorespaces
|
|
}%
|
|
}{}%
|
|
\def\Hy@temp#1{%
|
|
\begingroup
|
|
\unrestored@protected@xdef\@thefnmark{\ref{#1}}%
|
|
\endgroup
|
|
\@footnotemark
|
|
}%
|
|
\ifx\Hy@temp\footref
|
|
\def\footref#1{%
|
|
\begingroup
|
|
\unrestored@protected@xdef\@thefnmark{\ref{#1}}%
|
|
\endgroup
|
|
\H@@footnotemark
|
|
}%
|
|
\fi
|
|
\let\HyOrg@maketitle\maketitle
|
|
\def\maketitle{%
|
|
\let\Hy@saved@footnotemark\@footnotemark
|
|
\let\Hy@saved@footnotetext\@footnotetext
|
|
\let\@footnotemark\H@@footnotemark
|
|
\let\@footnotetext\H@@footnotetext
|
|
\@ifnextchar[\Hy@maketitle@optarg{% ]
|
|
\HyOrg@maketitle
|
|
\Hy@maketitle@end
|
|
}%
|
|
}%
|
|
\def\Hy@maketitle@optarg[#1]{%
|
|
\HyOrg@maketitle[{#1}]%
|
|
\Hy@maketitle@end
|
|
}%
|
|
\def\Hy@maketitle@end{%
|
|
\ifx\@footnotemark\H@@footnotemark
|
|
\let\@footnotemark\Hy@saved@footnotemark
|
|
\fi
|
|
\ifx\@footnotetext\H@@footnotetext
|
|
\let\@footnotetext\Hy@saved@footnotetext
|
|
\fi
|
|
}%
|
|
\def\realfootnote{%
|
|
\@ifnextchar[\@xfootnote{%
|
|
\stepcounter{\@mpfn}%
|
|
\protected@xdef\@thefnmark{\thempfn}%
|
|
\H@@footnotemark\H@@footnotetext
|
|
}%
|
|
}%
|
|
\fi
|
|
\Hy@DisableOption{hyperfootnotes}
|
|
\def\caption{%
|
|
\ifx\@captype\@undefined
|
|
\@latex@error{\noexpand\caption outside float}\@ehd
|
|
\expandafter\@gobble
|
|
\else
|
|
\H@refstepcounter\@captype
|
|
\let\Hy@tempa\@caption
|
|
\@ifundefined{float@caption}{%
|
|
}{%
|
|
\expandafter\ifx\csname @float@c@\@captype\endcsname
|
|
\float@caption
|
|
\let\Hy@tempa\Hy@float@caption
|
|
\fi
|
|
}%
|
|
\expandafter\@firstofone
|
|
\fi
|
|
{\@dblarg{\Hy@tempa\@captype}}%
|
|
}
|
|
\long\def\@caption#1[#2]#3{%
|
|
\expandafter\ifx\csname if@capstart\expandafter\endcsname
|
|
\csname iftrue\endcsname
|
|
\global\let\@currentHref\hc@currentHref
|
|
\else
|
|
\hyper@makecurrent{\@captype}%
|
|
\fi
|
|
\@ifundefined{NR@gettitle}{%
|
|
\def\@currentlabelname{#2}%
|
|
}{%
|
|
\NR@gettitle{#2}%
|
|
}%
|
|
\par\addcontentsline{\csname ext@#1\endcsname}{#1}{%
|
|
\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}%
|
|
}%
|
|
\begingroup
|
|
\@parboxrestore
|
|
\if@minipage
|
|
\@setminipage
|
|
\fi
|
|
\normalsize
|
|
\expandafter\ifx\csname if@capstart\expandafter\endcsname
|
|
\csname iftrue\endcsname
|
|
\global\@capstartfalse
|
|
\@makecaption{\csname fnum@#1\endcsname}{\ignorespaces#3}%
|
|
\else
|
|
\@makecaption{\csname fnum@#1\endcsname}{%
|
|
\ignorespaces
|
|
\ifHy@nesting
|
|
\expandafter\hyper@@anchor\expandafter{\@currentHref}{#3}%
|
|
\else
|
|
\Hy@raisedlink{%
|
|
\expandafter\hyper@@anchor\expandafter{%
|
|
\@currentHref
|
|
}{\relax}%
|
|
}%
|
|
#3%
|
|
\fi
|
|
}%
|
|
\fi
|
|
\par
|
|
\endgroup
|
|
}
|
|
\let\Hy@float@caption\@caption
|
|
\newcommand{\HyNew@float@makebox}[1]{%
|
|
\HyOrg@float@makebox{%
|
|
#1\relax
|
|
\ifx\Hy@float@currentHref\@undefined
|
|
\else
|
|
\expandafter\hyper@@anchor\expandafter{%
|
|
\Hy@float@currentHref
|
|
}{\relax}%
|
|
\global\let\Hy@float@currentHref\@undefined
|
|
\fi
|
|
}%
|
|
}%
|
|
\@ifpackageloaded{float}{%
|
|
\def\Hy@float@caption{%
|
|
\ifx\Hy@float@currentHref\@undefined
|
|
\hyper@makecurrent{\@captype}%
|
|
\global\let\Hy@float@currentHref\@currentHref
|
|
\else
|
|
\let\@currentHref\Hy@float@currentHref
|
|
\fi
|
|
\float@caption
|
|
}%
|
|
\let\HyOrg@float@makebox\float@makebox
|
|
\let\float@makebox\HyNew@float@makebox
|
|
}{}
|
|
\def\hyper@natlinkstart#1{%
|
|
\Hy@backout{#1}%
|
|
\hyper@linkstart{cite}{cite.#1}%
|
|
\def\hyper@nat@current{#1}%
|
|
}
|
|
\def\hyper@natlinkend{%
|
|
\hyper@linkend
|
|
}
|
|
\def\hyper@natlinkbreak#1#2{%
|
|
\hyper@linkend#1\hyper@linkstart{cite}{cite.#2}%
|
|
}
|
|
\def\hyper@natanchorstart#1{%
|
|
\Hy@raisedlink{\hyper@anchorstart{cite.#1}}%
|
|
}
|
|
\def\hyper@natanchorend{\hyper@anchorend}
|
|
\ltx@IfUndefined{NAT@parse}{%
|
|
\providecommand*\@extra@binfo{}%
|
|
\providecommand*\@extra@b@citeb{}%
|
|
\def\bibcite#1#2{%
|
|
\@newl@bel{b}{#1\@extra@binfo}{%
|
|
\hyper@@link[cite]{}{cite.#1\@extra@b@citeb}{#2}%
|
|
}%
|
|
}%
|
|
\gdef\@extra@binfo{}%
|
|
\let\Hy@bibcite\bibcite
|
|
\begingroup
|
|
\@ifundefined{bbl@cite@choice}{}{%
|
|
\g@addto@macro\bbl@cite@choice{%
|
|
\let\bibcite\Hy@bibcite
|
|
}%
|
|
}%
|
|
\endgroup
|
|
\providecommand*{\@BIBLABEL}{\@biblabel}%
|
|
\def\@lbibitem[#1]#2{%
|
|
\@skiphyperreftrue
|
|
\H@item[%
|
|
\ifx\Hy@raisedlink\@empty
|
|
\hyper@anchorstart{cite.#2\@extra@b@citeb}%
|
|
\@BIBLABEL{#1}%
|
|
\hyper@anchorend
|
|
\else
|
|
\Hy@raisedlink{%
|
|
\hyper@anchorstart{cite.#2\@extra@b@citeb}\hyper@anchorend
|
|
}%
|
|
\@BIBLABEL{#1}%
|
|
\fi
|
|
\hfill
|
|
]%
|
|
\@skiphyperreffalse
|
|
\if@filesw
|
|
\begingroup
|
|
\let\protect\noexpand
|
|
\immediate\write\@auxout{%
|
|
\string\bibcite{#2}{#1}%
|
|
}%
|
|
\endgroup
|
|
\fi
|
|
\ignorespaces
|
|
}%
|
|
\def\@bibitem#1{%
|
|
\@skiphyperreftrue\H@item\@skiphyperreffalse
|
|
\Hy@raisedlink{%
|
|
\hyper@anchorstart{cite.#1\@extra@b@citeb}\relax\hyper@anchorend
|
|
}%
|
|
\if@filesw
|
|
\begingroup
|
|
\let\protect\noexpand
|
|
\immediate\write\@auxout{%
|
|
\string\bibcite{#1}{\the\value{\@listctr}}%
|
|
}%
|
|
\endgroup
|
|
\fi
|
|
\ignorespaces
|
|
}%
|
|
}{}
|
|
\@ifclassloaded{revtex}{%
|
|
\Hy@Info{*** compatibility with revtex **** }%
|
|
\def\revtex@checking#1#2{%
|
|
\expandafter\let\expandafter\T@temp\csname b@#1\endcsname
|
|
\expandafter\def\csname b@#1\endcsname{#2}%
|
|
\@SetMaxRnhefLabel{#1}%
|
|
\expandafter\let\csname b@#1\endcsname\T@temp
|
|
}%
|
|
\@ifundefined{@CITE}{\def\@CITE{\@cite}}{}%
|
|
\providecommand*{\@extra@b@citeb}{}%
|
|
\def\@CITEX[#1]#2{%
|
|
\let\@citea\@empty
|
|
\leavevmode
|
|
\unskip
|
|
$^{%
|
|
\scriptstyle
|
|
\@CITE{%
|
|
\@for\@citeb:=#2\do{%
|
|
\@citea
|
|
\def\@citea{,\penalty\@m\ }%
|
|
\edef\@citeb{\expandafter\@firstofone\@citeb}%
|
|
\if@filesw
|
|
\immediate\write\@auxout{\string\citation{\@citeb}}%
|
|
\fi
|
|
\@ifundefined{b@\@citeb\extra@b@citeb}{%
|
|
\mbox{\reset@font\bfseries ?}%
|
|
\G@refundefinedtrue
|
|
\@latex@warning{%
|
|
Citation `\@citeb' on page \thepage \space undefined%
|
|
}%
|
|
}{%
|
|
{\csname b@\@citeb\@extra@b@citeb\endcsname}%
|
|
}%
|
|
}%
|
|
}{#1}%
|
|
}$%
|
|
}%
|
|
\def\@citex[#1]#2{%
|
|
\let\@citea\@empty
|
|
\@cite{%
|
|
\@for\@citeb:=#2\do{%
|
|
\@citea
|
|
\def\@citea{,\penalty\@m\ }%
|
|
\edef\@citeb{\expandafter\@firstofone\@citeb}%
|
|
\if@filesw
|
|
\immediate\write\@auxout{\string\citation{\@citeb}}%
|
|
\fi
|
|
\@ifundefined{b@\@citeb\@extra@b@citeb}{%
|
|
\mbox{\reset@font\bfseries ?}%
|
|
\G@refundefinedtrue
|
|
\@latex@warning{%
|
|
Citation `\@citeb' on page \thepage \space undefined%
|
|
}%
|
|
}{%
|
|
\hbox{\csname b@\@citeb\@extra@b@citeb\endcsname}%
|
|
}%
|
|
}%
|
|
}{#1}%
|
|
}%
|
|
}{}
|
|
\@ifpackageloaded{harvard}{%
|
|
\Hy@AtBeginDocument{%
|
|
\Hy@Info{*** compatibility with harvard **** }%
|
|
\Hy@raiselinksfalse
|
|
\def\harvardcite#1#2#3#4{%
|
|
\global\@namedef{HAR@fn@#1}{\hyper@@link[cite]{}{cite.#1}{#2}}%
|
|
\global\@namedef{HAR@an@#1}{\hyper@@link[cite]{}{cite.#1}{#3}}%
|
|
\global\@namedef{HAR@yr@#1}{\hyper@@link[cite]{}{cite.#1}{#4}}%
|
|
\global\@namedef{HAR@df@#1}{\csname HAR@fn@#1\endcsname}%
|
|
}%
|
|
\def\HAR@citetoaux#1{%
|
|
\if@filesw\immediate\write\@auxout{\string\citation{#1}}\fi%
|
|
\ifHy@backref
|
|
\ifx\@empty\@currentlabel
|
|
\else
|
|
\@bsphack
|
|
\if@filesw
|
|
\protected@write\@auxout{}{%
|
|
\string\@writefile{brf}{%
|
|
\string\backcite{#1}{%
|
|
{\thepage}{\@currentlabel}{\@currentHref}%
|
|
}%
|
|
}%
|
|
}%
|
|
\fi
|
|
\@esphack
|
|
\fi
|
|
\fi
|
|
}%
|
|
\def\harvarditem{%
|
|
\@ifnextchar[{\@harvarditem}{\@harvarditem[\null]}%
|
|
}%
|
|
\def\@harvarditem[#1]#2#3#4#5\par{%
|
|
\item[]%
|
|
\hyper@anchorstart{cite.#4}\relax\hyper@anchorend
|
|
\if@filesw
|
|
\begingroup
|
|
\def\protect##1{\string ##1\space}%
|
|
\ifthenelse{\equal{#1}{\null}}%
|
|
{\def\next{{#4}{#2}{#2}{#3}}}%
|
|
{\def\next{{#4}{#2}{#1}{#3}}}%
|
|
\immediate\write\@auxout{\string\harvardcite\codeof\next}%
|
|
\endgroup
|
|
\fi
|
|
\protect\hspace*{-\labelwidth}%
|
|
\protect\hspace*{-\labelsep}%
|
|
\ignorespaces
|
|
#5%
|
|
\ifHy@backref
|
|
\newblock
|
|
\backref{\csname br@#4\endcsname}%
|
|
\fi
|
|
\par
|
|
}%
|
|
\long\def\HAR@checkcitations#1#2#3#4{%
|
|
\def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#2}}%
|
|
\expandafter\ifx\csname HAR@fn@#1\endcsname\HAR@tempa
|
|
\def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#3}}%
|
|
\expandafter\ifx\csname HAR@an@#1\endcsname\HAR@tempa
|
|
\def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#4}}%
|
|
\expandafter\ifx\csname HAR@yr@#1\endcsname\HAR@tempa
|
|
\else
|
|
\@tempswatrue
|
|
\fi
|
|
\else
|
|
\@tempswatrue
|
|
\fi
|
|
\else
|
|
\@tempswatrue
|
|
\fi
|
|
}%
|
|
}%
|
|
}{}
|
|
\@ifpackageloaded{chicago}{%
|
|
\def\citeN{%
|
|
\def\@citeseppen{-1000}%
|
|
\def\@cite##1##2{##1}%
|
|
\def\citeauthoryear##1##2##3{##1 (##3\@cite@opt)}%
|
|
\@citedata@opt
|
|
}%
|
|
\def\shortciteN{%
|
|
\def\@citeseppen{-1000}%
|
|
\def\@cite##1##2{##1}%
|
|
\def\citeauthoryear##1##2##3{##2 (##3\@cite@opt)}%
|
|
\@citedata@opt
|
|
}%
|
|
\def\@citedata@opt{%
|
|
\let\@cite@opt\@empty
|
|
\@ifnextchar [{%
|
|
\@tempswatrue
|
|
\@citedatax@opt
|
|
}{%
|
|
\@tempswafalse
|
|
\@citedatax[]%
|
|
}%
|
|
}%
|
|
\def\@citedatax@opt[#1]{%
|
|
\def\@cite@opt{, #1}%
|
|
\@citedatax[{#1}]%
|
|
}%
|
|
}{}
|
|
\ltx@ifclassloaded{slides}{%
|
|
\def\Hy@SlidesFormatOptionalPage#1{(#1)}%
|
|
\def\Hy@PageAnchorSlidesPlain{%
|
|
\advance\c@page\ltx@one
|
|
\edef\Hy@TempPageAnchor{%
|
|
\noexpand\hyper@@anchor{%
|
|
page.\the\c@slide.\the\c@overlay.\the\c@note%
|
|
\ifnum\c@page=\ltx@one
|
|
\else
|
|
.\the\c@page
|
|
\fi
|
|
}%
|
|
}%
|
|
\advance\c@page-\ltx@one
|
|
}%
|
|
\def\Hy@PageAnchorSlide{%
|
|
\advance\c@page\ltx@one
|
|
\ifnum\c@page>\ltx@one
|
|
\ltx@IfUndefined{theHpage}{%
|
|
\protected@edef\Hy@TheSlideOptionalPage{%
|
|
\Hy@SlidesFormatOptionalPage{\thepage}%
|
|
}%
|
|
}{%
|
|
\protected@edef\Hy@TheSlideOptionalPage{%
|
|
\Hy@SlidesFormatOptionalPage{\theHpage}%
|
|
}%
|
|
}%
|
|
\else
|
|
\def\Hy@TheSlideOptionalPage{}%
|
|
\fi
|
|
\advance\c@page-\ltx@one
|
|
\pdfstringdef\@the@H@page{%
|
|
\csname
|
|
the%
|
|
\ltx@ifundefined{theH\Hy@SlidesPage}{}{H}%
|
|
\Hy@SlidesPage
|
|
\endcsname
|
|
\Hy@TheSlideOptionalPage
|
|
}%
|
|
\ltx@gobblethree
|
|
}%
|
|
\def\Hy@SlidesPage{slide}%
|
|
\g@addto@macro\slide{%
|
|
\def\Hy@SlidesPage{slide}%
|
|
}%
|
|
\g@addto@macro\overlay{%
|
|
\def\Hy@SlidesPage{overlay}%
|
|
}%
|
|
\g@addto@macro\note{%
|
|
\def\Hy@SlidesPage{note}%
|
|
}%
|
|
}{%
|
|
\def\Hy@PageAnchorSlidesPlain{}%
|
|
\def\Hy@PageAnchorSlide{}%
|
|
}
|
|
\def\Hy@EveryPageAnchor{%
|
|
\Hy@DistillerDestFix
|
|
\ifHy@pageanchor
|
|
\ifHy@hypertexnames
|
|
\ifHy@plainpages
|
|
\def\Hy@TempPageAnchor{\hyper@@anchor{page.\the\c@page}}%
|
|
\Hy@PageAnchorSlidesPlain
|
|
\else
|
|
\begingroup
|
|
\let\@number\@firstofone
|
|
\Hy@unicodefalse
|
|
\Hy@PageAnchorSlide
|
|
\pdfstringdef\@the@H@page{\thepage}%
|
|
\endgroup
|
|
\EdefUnescapeString\@the@H@page{\@the@H@page}%
|
|
\def\Hy@TempPageAnchor{\hyper@@anchor{page.\@the@H@page}}%
|
|
\fi
|
|
\else
|
|
\Hy@GlobalStepCount\Hy@pagecounter
|
|
\def\Hy@TempPageAnchor{%
|
|
\hyper@@anchor{page.\the\Hy@pagecounter}%
|
|
}%
|
|
\fi
|
|
\vbox to 0pt{%
|
|
\kern\voffset
|
|
\kern\topmargin
|
|
\kern-1bp\relax
|
|
\hbox to 0pt{%
|
|
\kern\hoffset
|
|
\kern\ifodd\value{page}%
|
|
\oddsidemargin
|
|
\else
|
|
\evensidemargin
|
|
\fi
|
|
\kern-1bp\relax
|
|
\Hy@TempPageAnchor\relax
|
|
\hss
|
|
}%
|
|
\vss
|
|
}%
|
|
\fi
|
|
}
|
|
\g@addto@macro\Hy@EveryPageBoxHook{%
|
|
\Hy@EveryPageAnchor
|
|
}
|
|
\providecommand\protected@file@percent{}
|
|
\def\addcontentsline#1#2#3{% toc extension, type, tag
|
|
\begingroup
|
|
\let\label\@gobble
|
|
\ifx\@currentHref\@empty
|
|
\Hy@Warning{%
|
|
No destination for bookmark of \string\addcontentsline,%
|
|
\MessageBreak destination is added%
|
|
}%
|
|
\phantomsection
|
|
\fi
|
|
\expandafter\ifx\csname toclevel@#2\endcsname\relax
|
|
\begingroup
|
|
\def\Hy@tempa{#1}%
|
|
\ifx\Hy@tempa\Hy@bookmarkstype
|
|
\Hy@WarningNoLine{%
|
|
bookmark level for unknown #2 defaults to 0%
|
|
}%
|
|
\else
|
|
\Hy@Info{bookmark level for unknown #2 defaults to 0}%
|
|
\fi
|
|
\endgroup
|
|
\expandafter\gdef\csname toclevel@#2\endcsname{0}%
|
|
\fi
|
|
\edef\Hy@toclevel{\csname toclevel@#2\endcsname}%
|
|
\Hy@writebookmark{\csname the#2\endcsname}%
|
|
{#3}%
|
|
{\@currentHref}%
|
|
{\Hy@toclevel}%
|
|
{#1}%
|
|
\ifHy@verbose
|
|
\begingroup
|
|
\def\Hy@tempa{#3}%
|
|
\@onelevel@sanitize\Hy@tempa
|
|
\let\temp@online\on@line
|
|
\let\on@line\@empty
|
|
\Hy@Info{%
|
|
bookmark\temp@online:\MessageBreak
|
|
thecounter {\csname the#2\endcsname}\MessageBreak
|
|
text {\Hy@tempa}\MessageBreak
|
|
reference {\@currentHref}\MessageBreak
|
|
toclevel {\Hy@toclevel}\MessageBreak
|
|
type {#1}%
|
|
}%
|
|
\endgroup
|
|
\fi
|
|
\addtocontents{#1}{%
|
|
\protect\contentsline{#2}{#3}{\thepage}{\@currentHref}\protected@file@percent
|
|
}%
|
|
\endgroup
|
|
}
|
|
\def\contentsline#1#2#3#4{%
|
|
\begingroup
|
|
\Hy@safe@activestrue
|
|
\edef\x{\endgroup
|
|
\def\noexpand\Hy@tocdestname{#4}%
|
|
}\x
|
|
\ifx\Hy@tocdestname\ltx@empty
|
|
\csname l@#1\endcsname{#2}{#3}%
|
|
\else
|
|
\ifcase\Hy@linktoc % none
|
|
\csname l@#1\endcsname{#2}{#3}%
|
|
\or % section
|
|
\csname l@#1\endcsname{%
|
|
\hyper@linkstart{link}{\Hy@tocdestname}{#2}\hyper@linkend
|
|
}{#3}%
|
|
\or % page
|
|
\def\Hy@temp{#3}%
|
|
\ifx\Hy@temp\ltx@empty
|
|
\csname l@#1\endcsname{#2}{#3}%
|
|
\else
|
|
\csname l@#1\endcsname{{#2}}{%
|
|
\hyper@linkstart{link}{\Hy@tocdestname}{#3}\hyper@linkend
|
|
}%
|
|
\fi
|
|
\else % all
|
|
\def\Hy@temp{#3}%
|
|
\ifx\Hy@temp\ltx@empty
|
|
\csname l@#1\endcsname{%
|
|
\hyper@linkstart{link}{\Hy@tocdestname}{#2}\hyper@linkend
|
|
}{}%
|
|
\else
|
|
\csname l@#1\endcsname{%
|
|
\hyper@linkstart{link}{\Hy@tocdestname}{#2}\hyper@linkend
|
|
}{%
|
|
\hyper@linkstart{link}{\Hy@tocdestname}{#3}\hyper@linkend
|
|
}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}
|
|
\let\H@definecounter\@definecounter
|
|
\def\@definecounter#1{%
|
|
\H@definecounter{#1}%
|
|
\expandafter\gdef\csname theH#1\endcsname{\arabic{#1}}%
|
|
}
|
|
\let\H@newctr\@newctr
|
|
\def\@newctr#1[#2]{%
|
|
\H@newctr#1[{#2}]%
|
|
\expandafter\gdef\csname theH#1\endcsname{%
|
|
\csname the\@ifundefined{theH#2}{}{H}#2\endcsname.\arabic{#1}%
|
|
}%
|
|
}
|
|
\@ifpackageloaded{amsmath}{%
|
|
\def\Hy@make@anchor{%
|
|
\Hy@MakeCurrentHrefAuto{AMS}%
|
|
\Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
|
|
}%
|
|
\def\Hy@make@df@tag@@#1{%
|
|
\gdef\df@tag{%
|
|
\maketag@@@{\Hy@make@anchor#1}%
|
|
\def\@currentlabel{#1}%
|
|
}%
|
|
}%
|
|
\def\Hy@make@df@tag@@@#1{%
|
|
\gdef\df@tag{%
|
|
\tagform@{\Hy@make@anchor#1}%
|
|
\toks@\@xp{\p@equation{#1}}%
|
|
\edef\@currentlabel{\the\toks@}%
|
|
}%
|
|
}%
|
|
\let\HyOrg@make@df@tag@@\make@df@tag@@
|
|
\let\HyOrg@make@df@tag@@@\make@df@tag@@@
|
|
\let\make@df@tag@@\Hy@make@df@tag@@
|
|
\let\make@df@tag@@@\Hy@make@df@tag@@@
|
|
}{}
|
|
\@ifpackagewith{hyperref}{pdftex}{%
|
|
\let\H@seteqlabel\@seteqlabel
|
|
\def\@seteqlabel#1{%
|
|
\H@seteqlabel{#1}%
|
|
\xdef\@currentHref{AMS.\the\Hy@linkcounter}%
|
|
\Hy@raisedlink{%
|
|
\hyper@anchorstart{\@currentHref}\hyper@anchorend
|
|
}%
|
|
}%
|
|
}{}
|
|
\let\HyOrg@addtoreset\@addtoreset
|
|
\def\@addtoreset#1#2{%
|
|
\HyOrg@addtoreset{#1}{#2}%
|
|
\expandafter\xdef\csname theH#1\endcsname{%
|
|
\expandafter\noexpand
|
|
\csname the\@ifundefined{theH#2}{}H#2\endcsname
|
|
.\noexpand\the\noexpand\value{#1}%
|
|
}%
|
|
}
|
|
\@ifpackageloaded{amsmath}{%
|
|
\@ifpackagelater{amsmath}{1999/12/14}{%
|
|
\renewcommand*{\numberwithin}[3][\arabic]{%
|
|
\@ifundefined{c@#2}{\@nocounterr{#2}}{%
|
|
\@ifundefined{c@#3}{\@nocnterr{#3}}{%
|
|
\HyOrg@addtoreset{#2}{#3}%
|
|
\@xp\xdef\csname the#2\endcsname{%
|
|
\@xp\@nx\csname the#3\endcsname .\@nx#1{#2}%
|
|
}%
|
|
\@xp\xdef\csname theH#2\endcsname{%
|
|
\@xp\@nx
|
|
\csname the\@ifundefined{theH#3}{}H#3\endcsname
|
|
.\@nx#1{#2}%
|
|
}%
|
|
}%
|
|
}%
|
|
}%
|
|
}{%
|
|
\Hy@WarningNoLine{%
|
|
\string\numberwithin\space of package `amsmath' %
|
|
only fixed\MessageBreak
|
|
for version 2000/06/06 v2.12 or newer%
|
|
}%
|
|
}%
|
|
}{}
|
|
\ifHy@hyperfigures
|
|
\let\Hy@Gin@setfile\Gin@setfile
|
|
\def\Gin@setfile#1#2#3{%
|
|
\hyperimage{#3}{\Hy@Gin@setfile{#1}{#2}{#3}}%
|
|
}%
|
|
\fi
|
|
\Hy@DisableOption{hyperfigures}
|
|
\ifHy@hyperindex
|
|
\def\HyInd@ParenLeft{(}%
|
|
\def\HyInd@ParenRight{)}%
|
|
\def\hyperindexformat#1#2{%
|
|
\let\HyOrg@hyperpage\hyperpage
|
|
\let\hyperpage\@firstofone
|
|
#1{\HyOrg@hyperpage{#2}}%
|
|
\let\hyperpage\HyOrg@hyperpage
|
|
}%
|
|
\Hy@nextfalse
|
|
\@ifpackageloaded{multind}{\Hy@nexttrue}{}%
|
|
\@ifpackageloaded{index}{\Hy@nexttrue}{}%
|
|
\@ifpackageloaded{amsmidx}{\Hy@nexttrue}{}%
|
|
\begingroup
|
|
\lccode`\|=\expandafter`\HyInd@EncapChar\relax
|
|
\lccode`\/=`\\\relax
|
|
\lowercase{\endgroup
|
|
\ifHy@next
|
|
\let\HyInd@org@wrindex\@wrindex
|
|
\def\@wrindex#1#2{\HyInd@@wrindex{#1}#2||\\}%
|
|
\def\HyInd@@wrindex#1#2|#3|#4\\{%
|
|
\ifx\\#3\\%
|
|
\HyInd@org@wrindex{#1}{#2|hyperpage}%
|
|
\else
|
|
\HyInd@@@wrindex{#1}{#2}#3\\%
|
|
\fi
|
|
}%
|
|
\def\HyInd@@@wrindex#1#2#3#4\\{%
|
|
\def\Hy@temp@A{#3}%
|
|
\ifcase0\ifx\Hy@temp@A\HyInd@ParenLeft 1\fi
|
|
\ifx\Hy@temp@A\HyInd@ParenRight 1\fi
|
|
\relax
|
|
\HyInd@org@wrindex{#1}{%
|
|
#2|hyperindexformat{/#3#4}%
|
|
}%
|
|
\else
|
|
\ifx\\#4\\%
|
|
\ifx\Hy@temp@A\HyInd@ParenRight
|
|
\HyInd@org@wrindex{#1}{#2|#3}%
|
|
\else
|
|
\HyInd@org@wrindex{#1}{#2|#3hyperpage}%
|
|
\fi
|
|
\else
|
|
\HyInd@org@wrindex{#1}{%
|
|
#2|#3hyperindexformat{/#4}%
|
|
}%
|
|
\fi
|
|
\fi
|
|
}%
|
|
\else
|
|
\def\@wrindex#1{\@@wrindex#1||\\}%
|
|
\def\@@wrindex#1|#2|#3\\{%
|
|
\if@filesw
|
|
\ifx\\#2\\%
|
|
\protected@write\@indexfile{}{%
|
|
\string\indexentry{#1|hyperpage}{\thepage}%
|
|
}%
|
|
\else
|
|
\HyInd@@@wrindex{#1}#2\\%
|
|
\fi
|
|
\fi
|
|
\endgroup
|
|
\@esphack
|
|
}%
|
|
\def\HyInd@@@wrindex#1#2#3\\{%
|
|
\def\Hy@temp@A{#2}%
|
|
\ifcase0\ifx\Hy@temp@A\HyInd@ParenLeft 1\fi
|
|
\ifx\Hy@temp@A\HyInd@ParenRight 1\fi
|
|
\relax
|
|
\protected@write\@indexfile{}{%
|
|
\string\indexentry{%
|
|
#1|hyperindexformat{/#2#3}%
|
|
}{\thepage}%
|
|
}%
|
|
\else
|
|
\ifx\\#3\\%
|
|
\ifx\Hy@temp@A\HyInd@ParenRight
|
|
\HyInd@DefKey{#1}%
|
|
\ltx@IfUndefined{HyInd@(\HyInd@key)}{%
|
|
\let\Hy@temp\ltx@empty
|
|
}{%
|
|
\expandafter\let\expandafter\Hy@temp
|
|
\csname HyInd@(\HyInd@key)\endcsname
|
|
}%
|
|
\protected@write\@indexfile{}{%
|
|
\string\indexentry{#1|#2\Hy@temp}{\thepage}%
|
|
}%
|
|
\else
|
|
\protected@write\@indexfile{}{%
|
|
\string\indexentry{#1|#2hyperpage}{\thepage}%
|
|
}%
|
|
\HyInd@DefKey{#1}%
|
|
\expandafter
|
|
\gdef\csname HyInd@(\HyInd@key)\endcsname{%
|
|
hyperpage%
|
|
}%
|
|
\fi
|
|
\else
|
|
\protected@write\@indexfile{}{%
|
|
\string\indexentry{%
|
|
#1|#2hyperindexformat{/#3}%
|
|
}{\thepage}%
|
|
}%
|
|
\ifx\Hy@temp@A\HyInd@ParenLeft
|
|
\HyInd@DefKey{#1}%
|
|
\expandafter
|
|
\gdef\csname HyInd@(\HyInd@key)\endcsname{%
|
|
hyperindexformat{/#3}%
|
|
}%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}%
|
|
\def\HyInd@DefKey#1{%
|
|
\begingroup
|
|
\let\protect\@unexpandable@protect
|
|
\edef\Hy@temp{#1}%
|
|
\ltx@onelevel@sanitize\Hy@temp
|
|
\global\let\HyInd@key\Hy@temp
|
|
\endgroup
|
|
}%
|
|
\fi
|
|
}%
|
|
\fi
|
|
\Hy@DisableOption{hyperindex}
|
|
\Hy@DisableOption{encap}
|
|
\def\nohyperpage#1{#1}
|
|
\def\hyperpage#1{%
|
|
\HyInd@hyperpage#1\nohyperpage{}\@nil
|
|
}
|
|
\def\HyInd@hyperpage#1\nohyperpage#2#3\@nil{%
|
|
\HyInd@@hyperpage{#1}%
|
|
#2%
|
|
\def\Hy@temp{#3}%
|
|
\ifx\Hy@temp\@empty
|
|
\else
|
|
\ltx@ReturnAfterFi{%
|
|
\HyInd@hyperpage#3\@nil
|
|
}%
|
|
\fi
|
|
}
|
|
\def\HyInd@@hyperpage#1{\@hyperpage#1----\\}
|
|
\def\@hyperpage#1--#2--#3\\{%
|
|
\ifx\\#2\\%
|
|
\@commahyperpage{#1}%
|
|
\else
|
|
\HyInd@pagelink{#1}--\HyInd@pagelink{#2}%
|
|
\fi
|
|
}
|
|
\def\@commahyperpage#1{\@@commahyperpage#1, ,\\}
|
|
\def\@@commahyperpage#1, #2,#3\\{%
|
|
\ifx\\#2\\%
|
|
\HyInd@pagelink{#1}%
|
|
\else
|
|
\HyInd@pagelink{#1}, \HyInd@pagelink{#2}%
|
|
\fi
|
|
}
|
|
\def\HyInd@pagelink#1{%
|
|
\begingroup
|
|
\toks@={}%
|
|
\HyInd@removespaces#1 \@nil
|
|
\endgroup
|
|
}
|
|
\def\HyInd@removespaces#1 #2\@nil{%
|
|
\toks@=\expandafter{\the\toks@#1}%
|
|
\ifx\\#2\\%
|
|
\edef\x{\the\toks@}%
|
|
\ifx\x\@empty
|
|
\else
|
|
\hyperlink{page.\the\toks@}{\the\toks@}%
|
|
\fi
|
|
\else
|
|
\ltx@ReturnAfterFi{%
|
|
\HyInd@removespaces#2\@nil
|
|
}%
|
|
\fi
|
|
}
|
|
\@ifclassloaded{foils}{%
|
|
\providecommand*\ext@table{lot}%
|
|
\providecommand*\ext@figure{lof}%
|
|
}{}
|
|
\@ifclassloaded{seminar}{%
|
|
\Hy@seminarslidestrue
|
|
\providecommand\theHslide{\arabic{slide}}%
|
|
}{%
|
|
\Hy@seminarslidesfalse
|
|
}
|
|
\@ifpackageloaded{slidesec}{%
|
|
\providecommand\theHslidesection {\arabic{slidesection}}%
|
|
\providecommand\theHslidesubsection{%
|
|
\theHslidesection.\arabic{slidesubsection}%
|
|
}%
|
|
\def\slide@heading[#1]#2{%
|
|
\H@refstepcounter{slidesection}%
|
|
\@addtoreset{slidesubsection}{slidesection}%
|
|
\addtocontents{los}{%
|
|
\protect\l@slide{\the\c@slidesection}{\ignorespaces#1}%
|
|
{\@SCTR}{slideheading.\theslidesection}%
|
|
}%
|
|
\def\Hy@tempa{#2}%
|
|
\ifx\Hy@tempa\@empty
|
|
\else
|
|
{%
|
|
\edef\@currentlabel{%
|
|
\csname p@slidesection\endcsname\theslidesection
|
|
}%
|
|
\makeslideheading{#2}%
|
|
}%
|
|
\fi
|
|
\gdef\theslideheading{#1}%
|
|
\gdef\theslidesubheading{}%
|
|
\ifHy@bookmarksnumbered
|
|
\def\Hy@slidetitle{\theslidesection\space #1}%
|
|
\else
|
|
\def\Hy@slidetitle{#1}%
|
|
\fi
|
|
\ifHy@hypertexnames
|
|
\ifHy@naturalnames
|
|
\hyper@@anchor{slideheading.\theslidesection}{\relax}%
|
|
\Hy@writebookmark
|
|
{\theslidesection}%
|
|
{\Hy@slidetitle}%
|
|
{slideheading.\theslidesection}%
|
|
{1}%
|
|
{toc}%
|
|
\else
|
|
\hyper@@anchor{slideheading.\theHslidesection}{\relax}%
|
|
\Hy@writebookmark
|
|
{\theslidesection}%
|
|
{\Hy@slidetitle}%
|
|
{slideheading.\theHslidesection}%
|
|
{1}%
|
|
{toc}%
|
|
\fi
|
|
\else
|
|
\Hy@GlobalStepCount\Hy@linkcounter
|
|
\hyper@@anchor{slideheading.\the\Hy@linkcounter}{\relax}%
|
|
\Hy@writebookmark
|
|
{\theslidesection}%
|
|
{\Hy@slidetitle}%
|
|
{slideheading.\the\Hy@linkcounter}%
|
|
{1}%
|
|
{toc}%
|
|
\fi
|
|
}%
|
|
\def\slide@subheading[#1]#2{%
|
|
\H@refstepcounter{slidesubsection}%
|
|
\addtocontents{los}{%
|
|
\protect\l@subslide{\the\c@slidesubsection}{\ignorespaces#1}%
|
|
{\@SCTR}{slideheading.\theslidesubsection}%
|
|
}%
|
|
\def\Hy@tempa{#2}%
|
|
\ifx\Hy@tempa\@empty
|
|
\else
|
|
{%
|
|
\edef\@currentlabel{%
|
|
\csname p@slidesubsection\endcsname\theslidesubsection
|
|
}%
|
|
\makeslidesubheading{#2}%
|
|
}%
|
|
\fi
|
|
\gdef\theslidesubheading{#1}%
|
|
\ifHy@bookmarksnumbered
|
|
\def\Hy@slidetitle{\theslidesubsection\space #1}%
|
|
\else
|
|
\def\Hy@slidetitle{#1}%
|
|
\fi
|
|
\ifHy@hypertexnames
|
|
\ifHy@naturalnames
|
|
\hyper@@anchor{slideheading.\theslidesubsection}{\relax}%
|
|
\Hy@writebookmark
|
|
{\theslidesubsection}%
|
|
{\Hy@slidetitle}%
|
|
{slideheading.\theslidesubsection}%
|
|
{2}%
|
|
{toc}%
|
|
\else
|
|
\hyper@@anchor{slideheading.\theHslidesubsection}{\relax}%
|
|
\Hy@writebookmark
|
|
{\theslidesubsection}%
|
|
{\Hy@slidetitle}%
|
|
{slideheading.\theHslidesubsection}%
|
|
{2}%
|
|
{toc}%
|
|
\fi
|
|
\else
|
|
\Hy@GlobalStepCount\Hy@linkcounter
|
|
\hyper@@anchor{slideheading.\the\Hy@linkcounter}{\relax}%
|
|
\Hy@writebookmark
|
|
{\theslidesubsection}%
|
|
{\Hy@slidetitle}%
|
|
{slideheading.\the\Hy@linkcounter}%
|
|
{1}%
|
|
{toc}%
|
|
\fi
|
|
}%
|
|
\providecommand*{\listslidename}{List of Slides}%
|
|
\def\listofslides{%
|
|
\section*{%
|
|
\listslidename
|
|
\@mkboth{%
|
|
\expandafter\MakeUppercase\listslidename
|
|
}{%
|
|
\expandafter\MakeUppercase\listslidename
|
|
}%
|
|
}%
|
|
\def\l@slide##1##2##3##4{%
|
|
\slide@undottedcline{%
|
|
\slidenumberline{##3}{\hyperlink{##4}{##2}}%
|
|
}{}%
|
|
}%
|
|
\let\l@subslide\l@slide
|
|
\@startlos
|
|
}%
|
|
\def\slide@contents{%
|
|
\def\l@slide##1##2##3##4{%
|
|
\slide@cline{\slidenumberline{##3}{\hyperlink{##4}{##2}}}{##3}%
|
|
}%
|
|
\let\l@subslide\@gobblefour
|
|
\@startlos
|
|
}%
|
|
\def\Slide@contents{%
|
|
\def\l@slide##1##2##3##4{%
|
|
\ifcase\lslide@flag
|
|
\message{##1 ** \the\c@slidesection}%
|
|
\ifnum##1>\c@slidesection
|
|
\def\lslide@flag{1}%
|
|
{%
|
|
\large
|
|
\slide@cline{%
|
|
\slidenumberline{$\Rightarrow\bullet$}%
|
|
{\hyperlink{##4}{##2}}%
|
|
}{##3}%
|
|
}%
|
|
\else
|
|
{%
|
|
\large
|
|
\slide@cline{%
|
|
\slidenumberline{$\surd\;\bullet$}%
|
|
{\hyperlink{##4}{##2}}%
|
|
}{##3}%
|
|
}%
|
|
\fi
|
|
\or
|
|
\def\lslide@flag{2}%
|
|
{%
|
|
\large
|
|
\slide@cline{%
|
|
\slidenumberline{$\bullet$}%
|
|
{\hyperlink{##4}{##2}}%
|
|
}{##3}%
|
|
}%
|
|
\or
|
|
{%
|
|
\large
|
|
\slide@cline{%
|
|
\slidenumberline{$\bullet$}%
|
|
{\hyperlink{##4}{##2}}%
|
|
}{##3}%
|
|
}%
|
|
\fi
|
|
}%
|
|
\def\l@subslide##1##2##3##4{%
|
|
\ifnum\lslide@flag=1 %
|
|
\@undottedtocline{2}{3.8em}{3.2em}{\hyperlink{##4}{##2}}{}%
|
|
\fi
|
|
}%
|
|
\def\lslide@flag{0}%
|
|
\@startlos
|
|
}%
|
|
}{}
|
|
\ifHy@texht
|
|
\expandafter\endinput
|
|
\fi
|
|
\let\real@setref\@setref
|
|
\def\@setref#1#2#3{% csname, extract group, refname
|
|
\ifx#1\relax
|
|
\protect\G@refundefinedtrue
|
|
\nfss@text{\reset@font\bfseries ??}%
|
|
\@latex@warning{%
|
|
Reference `#3' on page \thepage \space undefined%
|
|
}%
|
|
\else
|
|
\expandafter\Hy@setref@link#1\@empty\@empty\@nil{#2}%
|
|
\fi
|
|
}
|
|
\def\Hy@setref@link#1#2#3#4#5#6\@nil#7{%
|
|
\begingroup
|
|
\toks0={\hyper@@link{#5}{#4}}%
|
|
\toks1=\expandafter{#7{#1}{#2}{#3}{#4}{#5}}%
|
|
\edef\x{\endgroup
|
|
\the\toks0 {\the\toks1 }%
|
|
}%
|
|
\x
|
|
}
|
|
\def\@pagesetref#1#2#3{% csname, extract macro, ref
|
|
\ifx#1\relax
|
|
\protect\G@refundefinedtrue
|
|
\nfss@text{\reset@font\bfseries ??}%
|
|
\@latex@warning{%
|
|
Reference `#3' on page \thepage \space undefined%
|
|
}%
|
|
\else
|
|
\protect\hyper@@link
|
|
{\expandafter\@fifthoffive#1}%
|
|
{page.\expandafter\@secondoffive#1}%
|
|
{\expandafter\@secondoffive#1}%
|
|
\fi
|
|
}
|
|
\def\HyRef@StarSetRef#1{%
|
|
\begingroup
|
|
\Hy@safe@activestrue
|
|
\edef\x{#1}%
|
|
\@onelevel@sanitize\x
|
|
\edef\x{\endgroup
|
|
\noexpand\HyRef@@StarSetRef
|
|
\expandafter\noexpand\csname r@\x\endcsname{\x}%
|
|
}%
|
|
\x
|
|
}
|
|
\def\HyRef@@StarSetRef#1#2#3{%
|
|
\ifx#1\@undefined
|
|
\let#1\relax
|
|
\fi
|
|
\real@setref#1#3{#2}%
|
|
}
|
|
\def\@refstar#1{%
|
|
\HyRef@StarSetRef{#1}\@firstoffive
|
|
}
|
|
\def\@pagerefstar#1{%
|
|
\HyRef@StarSetRef{#1}\@secondoffive
|
|
}
|
|
\def\@namerefstar#1{%
|
|
\HyRef@StarSetRef{#1}\@thirdoffive
|
|
}
|
|
|
|
\Hy@AtBeginDocument{%
|
|
\@ifpackageloaded{varioref}{%
|
|
\def\@Refstar#1{%
|
|
\HyRef@StarSetRef{#1}\HyRef@MakeUppercaseFirstOfFive
|
|
}%
|
|
\def\HyRef@MakeUppercaseFirstOfFive#1#2#3#4#5{%
|
|
\MakeUppercase#1%
|
|
}%
|
|
\DeclareRobustCommand*{\Ref}{%
|
|
\@ifstar\@Refstar\HyRef@Ref
|
|
}%
|
|
\def\HyRef@Ref#1{%
|
|
\hyperref[{#1}]{\Ref*{#1}}%
|
|
}%
|
|
\ifdefined\vp@gerefstar
|
|
\renewcommand\Vref@star[2][]{%
|
|
\begingroup
|
|
\let\T@pageref\@pagerefstar
|
|
\Ref*{#2}
|
|
\vpageref[#1]{#2}%
|
|
\endgroup
|
|
}%
|
|
\renewcommand\Vr@f[2][]{%
|
|
\begingroup
|
|
\let\T@pageref\@pagerefstar
|
|
\hyperref[{#2}]{%
|
|
\Ref*{#2}
|
|
\vpageref[#1]{#2}%
|
|
}%
|
|
\endgroup
|
|
}%
|
|
\renewcommand\vr@f[2][]{%
|
|
\begingroup
|
|
\let\T@pageref\@pagerefstar
|
|
\hyperref[{#2}]{%
|
|
\ref*{#2}
|
|
\vpageref[#1]{#2}%
|
|
}%
|
|
\endgroup
|
|
}%
|
|
\renewcommand\vref@star[2][]{%
|
|
\begingroup
|
|
\let\T@pageref\@pagerefstar
|
|
\ref*{#2}
|
|
\vpageref[#1]{#2}%
|
|
\endgroup
|
|
}%
|
|
\else
|
|
\def\Vr@f#1{%
|
|
\leavevmode\unskip\vref@space
|
|
\hyperref[{#1}]{%
|
|
\Ref*{#1}%
|
|
\let\vref@space\nobreakspace
|
|
\@vpageref[\unskip]{#1}%
|
|
}%
|
|
}%
|
|
\def\vr@f#1{%
|
|
\leavevmode\unskip\vref@space
|
|
\begingroup
|
|
\let\T@pageref\@pagerefstar
|
|
\hyperref[{#1}]{%
|
|
\ref*{#1}%
|
|
\vpageref[\unskip]{#1}%
|
|
}%
|
|
\endgroup
|
|
}%
|
|
\fi
|
|
}{}%
|
|
}
|
|
|
|
\DeclareRobustCommand*{\autopageref}{%
|
|
\@ifstar{%
|
|
\HyRef@autopagerefname\pageref*%
|
|
}\HyRef@autopageref
|
|
}
|
|
\def\HyRef@autopageref#1{%
|
|
\hyperref[{#1}]{\HyRef@autopagerefname\pageref*{#1}}%
|
|
}
|
|
\def\HyRef@autopagerefname{%
|
|
\ltx@IfUndefined{pageautorefname}{%
|
|
\ltx@IfUndefined{pagename}{%
|
|
\Hy@Warning{No autoref name for `page'}%
|
|
}{%
|
|
\pagename\nobreakspace
|
|
}%
|
|
}{%
|
|
\pageautorefname\nobreakspace
|
|
}%
|
|
}
|
|
\DeclareRobustCommand*{\autoref}{%
|
|
\leavevmode
|
|
\@ifstar{\HyRef@autoref\@gobbletwo}{\HyRef@autoref\hyper@@link}%
|
|
}
|
|
\def\HyRef@autoref#1#2{%
|
|
\begingroup
|
|
\Hy@safe@activestrue
|
|
\expandafter\HyRef@autosetref\csname r@#2\endcsname{#2}{#1}%
|
|
\endgroup
|
|
}
|
|
\def\HyRef@autosetref#1#2#3{% link command, csname, refname
|
|
\HyRef@ShowKeysRef{#2}%
|
|
\ifcase 0\ifx#1\relax 1\fi\ifx#1\Hy@varioref@undefined 1\fi\relax
|
|
\edef\HyRef@thisref{%
|
|
\expandafter\@fourthoffive#1\@empty\@empty\@empty
|
|
}%
|
|
\expandafter\HyRef@testreftype\HyRef@thisref.\\%
|
|
\Hy@safe@activesfalse
|
|
#3{%
|
|
\expandafter\@fifthoffive#1\@empty\@empty\@empty
|
|
}{%
|
|
\expandafter\@fourthoffive#1\@empty\@empty\@empty
|
|
}{%
|
|
\HyRef@currentHtag
|
|
\expandafter\@firstoffive#1\@empty\@empty\@empty
|
|
\null
|
|
}%
|
|
\else
|
|
\protect\G@refundefinedtrue
|
|
\nfss@text{\reset@font\bfseries ??}%
|
|
\@latex@warning{%
|
|
Reference `#2' on page \thepage\space undefined%
|
|
}%
|
|
\fi
|
|
}
|
|
\def\HyRef@testreftype#1.#2\\{%
|
|
\ltx@IfUndefined{#1autorefname}{%
|
|
\ltx@IfUndefined{#1name}{%
|
|
\HyRef@StripStar#1\\*\\\@nil{#1}%
|
|
\ltx@IfUndefined{\HyRef@name autorefname}{%
|
|
\ltx@IfUndefined{\HyRef@name name}{%
|
|
\def\HyRef@currentHtag{}%
|
|
\Hy@Warning{No autoref name for `#1'}%
|
|
}{%
|
|
\edef\HyRef@currentHtag{%
|
|
\expandafter\noexpand\csname\HyRef@name name\endcsname
|
|
\noexpand~%
|
|
}%
|
|
}%
|
|
}{%
|
|
\edef\HyRef@currentHtag{%
|
|
\expandafter\noexpand
|
|
\csname\HyRef@name autorefname\endcsname
|
|
\noexpand~%
|
|
}%
|
|
}%
|
|
}{%
|
|
\edef\HyRef@currentHtag{%
|
|
\expandafter\noexpand\csname#1name\endcsname
|
|
\noexpand~%
|
|
}%
|
|
}%
|
|
}{%
|
|
\edef\HyRef@currentHtag{%
|
|
\expandafter\noexpand\csname#1autorefname\endcsname
|
|
\noexpand~%
|
|
}%
|
|
}%
|
|
}
|
|
\def\HyRef@StripStar#1*\\#2\@nil#3{%
|
|
\def\HyRef@name{#2}%
|
|
\ifx\HyRef@name\HyRef@CaseStar
|
|
\def\HyRef@name{#1}%
|
|
\else
|
|
\def\HyRef@name{#3}%
|
|
\fi
|
|
}
|
|
\def\HyRef@CaseStar{*\\}
|
|
\def\HyRef@currentHtag{}
|
|
\let\HyRef@ShowKeysRef\@gobble
|
|
\def\HyRef@ShowKeysInit{%
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname SK@@label\endcsname\relax
|
|
\else
|
|
\ifx\SK@ref\@empty
|
|
\else
|
|
\def\HyRef@ShowKeysRef{%
|
|
\SK@\SK@@ref
|
|
}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\@ifpackageloaded{showkeys}{%
|
|
\HyRef@ShowKeysInit
|
|
}{%
|
|
\Hy@AtBeginDocument{%
|
|
\@ifpackageloaded{showkeys}{%
|
|
\HyRef@ShowKeysInit
|
|
}{}%
|
|
}%
|
|
}
|
|
\providecommand*\AMSautorefname{\equationautorefname}
|
|
\providecommand*\Hfootnoteautorefname{\footnoteautorefname}
|
|
\providecommand*\Itemautorefname{\itemautorefname}
|
|
\providecommand*\itemautorefname{item}
|
|
\providecommand*\equationautorefname{Equation}
|
|
\providecommand*\footnoteautorefname{footnote}
|
|
\providecommand*\itemautorefname{item}
|
|
\providecommand*\figureautorefname{Figure}
|
|
\providecommand*\tableautorefname{Table}
|
|
\providecommand*\partautorefname{Part}
|
|
\providecommand*\appendixautorefname{Appendix}
|
|
\providecommand*\chapterautorefname{chapter}
|
|
\providecommand*\sectionautorefname{section}
|
|
\providecommand*\subsectionautorefname{subsection}
|
|
\providecommand*\subsubsectionautorefname{subsubsection}
|
|
\providecommand*\paragraphautorefname{paragraph}
|
|
\providecommand*\subparagraphautorefname{subparagraph}
|
|
\providecommand*\FancyVerbLineautorefname{line}
|
|
\providecommand*\theoremautorefname{Theorem}
|
|
\providecommand*\pageautorefname{page}
|
|
\providecommand*{\Hy@DistillerDestFix}{}
|
|
\def\phantomsection{%
|
|
\Hy@MakeCurrentHrefAuto{section*}%
|
|
\Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
|
|
}
|
|
\endinput
|
|
%%
|
|
%% End of file `hyperref.sty'.
|
|
|