Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
energy_aware/hyperref.sty
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
8803 lines (8802 sloc)
226 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%% | |
%% 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-2012 Heiko Oberdiek. | |
%% | |
%% 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 Heiko Oberdiek. | |
%% | |
%% The list of all files belonging to the `Hyperref Bundle' is | |
%% given in the file `manifest.txt'. | |
%% | |
\NeedsTeXFormat{LaTeX2e}[1995/12/01] | |
\ProvidesPackage{hyperref} | |
[2012/11/06 v6.83m % | |
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 | |
\IfFileExists{hobsub-hyperref.sty}{% | |
\RequirePackage{hobsub-hyperref}[2011/01/30]% | |
}{} | |
\RequirePackage{ltxcmds}[2010/11/12] | |
\RequirePackage{ifpdf}[2006/02/20] | |
\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{ifvtex} | |
\RequirePackage{ifxetex}[2006/08/21] | |
\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 | |
\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}{}{% | |
\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@ToBigChars#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 | |
\HyPsd@XeTeXBigCharsfalse | |
\pdfstringdefPostHook#1% | |
\endgroup | |
} | |
\def\Hy@pdfstringdef#1#2{% | |
\pdfstringdef\Hy@gtemp{#2}% | |
\let#1\Hy@gtemp | |
} | |
\edef\Hy@temp{\catcode0=\the\catcode0\relax} | |
\catcode\z@=12 % | |
\ifxetex | |
\expandafter\@firstofone | |
\else | |
\let\HyPsd@XeTeXBigCharstrue\@empty | |
\let\HyPsd@XeTeXBigCharsfalse\@empty | |
\expandafter\@gobble | |
\fi | |
{% | |
\newif\ifHyPsd@XeTeXBigChars | |
\def\HyPsd@XeTeXBigCharsfalse{% | |
\global\let\ifHyPsd@XeTeXBigChars\iffalse | |
}% | |
\def\HyPsd@XeTeXBigCharstrue{% | |
\global\let\ifHyPsd@XeTeXBigChars\iftrue | |
}% | |
\def\HyPsd@ToBigChars#1{% | |
\ifHyPsd@XeTeXBigChars | |
\EdefEscapeHex\HyPsd@UnescapedString{% | |
\expandafter\@gobbletwo\HyPsd@UnescapedString | |
}% | |
\begingroup | |
\toks@{}% | |
\escapechar=92\relax | |
\let\x\HyPsd@ToBigChar | |
\expandafter\HyPsd@ToBigChar\HyPsd@UnescapedString | |
\relax\relax\relax\relax\relax\relax\relax | |
\edef\x{% | |
\endgroup | |
\gdef\noexpand#1{\the\toks@}% | |
}% | |
\x | |
\fi | |
}% | |
\def\HyPsd@ToBigChar#1#2#3#4{% | |
\ifx\relax#1\relax | |
\let\x\relax | |
\else | |
\count@="#1#2#3#4\relax | |
\let\y\@empty | |
\lccode\z@=\count@ | |
\ifnum\count@=40 % ( | |
\let\y\@backslashchar | |
\else | |
\ifnum\count@=41 % ) | |
\let\y\@backslashchar | |
\else | |
\ifnum\count@=92 % backslash | |
\let\y\@backslashchar | |
\else | |
\ifnum\count@=10 % newline | |
\edef\y##1{\string\n}% | |
\else | |
\ifnum\count@=13 % carriage return | |
\edef\y##1{\string\r}% | |
\fi | |
\fi | |
\fi | |
\fi | |
\fi | |
\lowercase{% | |
\toks@\expandafter{% | |
\the\expandafter\toks@ | |
\y | |
^^@% | |
}% | |
}% | |
\fi | |
\x | |
}% | |
} | |
\Hy@temp | |
\@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 until 1.9% | |
}% | |
}{% | |
\Hy@setpdfversiontrue | |
\edef\Hy@pdfversion{\@nameuse{Hy@pdfversion@#1}}% | |
}% | |
} | |
\@namedef{Hy@pdfversion@1.2}{2}% | |
\@namedef{Hy@pdfversion@1.3}{3}% | |
\@namedef{Hy@pdfversion@1.4}{4}% | |
\@namedef{Hy@pdfversion@1.5}{5}% | |
\@namedef{Hy@pdfversion@1.6}{6}% | |
\@namedef{Hy@pdfversion@1.7}{7}% | |
\@namedef{Hy@pdfversion@1.8}{8}% | |
\@namedef{Hy@pdfversion@1.9}{9}% | |
\def\Hy@pdfversion{2} | |
\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 | |
\ifvtexdvi | |
\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}% | |
\else | |
\Hy@Error{% | |
Wrong driver option `pdftex',\MessageBreak | |
because pdfTeX in PDF mode is not detected% | |
}\@ehc | |
\fi | |
} | |
\DeclareVoidOption{nativepdf}{% | |
\HyOpt@CheckDvi{nativepdf}{% | |
\def\Hy@driver{hdvips}% | |
}% | |
} | |
\DeclareVoidOption{dvipdfm}{% | |
\HyOpt@CheckDvi{dvipdfm}{% | |
\def\Hy@driver{hdvipdfm}% | |
}% | |
} | |
\DeclareVoidOption{dvipdfmx}{% | |
\HyOpt@CheckDvi{dvipdfmx}{% | |
\def\Hy@driver{hdvipdfm}% | |
}% | |
} | |
\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}% | |
}% | |
} | |
\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}% | |
}% | |
} | |
\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}% | |
}% | |
} | |
\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@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@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{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}{} | |
\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}% | |
} | |
\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@XeTeXBigCharstrue | |
\HyPsd@PrerenderUnicode{#1}% | |
\pdfstringdef\@pdftitle{#1}% | |
} | |
\define@key{Hyp}{pdfauthor}{% | |
\HyXeTeX@CheckUnicode | |
\HyPsd@XeTeXBigCharstrue | |
\HyPsd@PrerenderUnicode{#1}% | |
\pdfstringdef\@pdfauthor{#1}% | |
} | |
\define@key{Hyp}{pdfproducer}{% | |
\HyXeTeX@CheckUnicode | |
\HyPsd@XeTeXBigCharstrue | |
\HyPsd@PrerenderUnicode{#1}% | |
\pdfstringdef\@pdfproducer{#1}% | |
\ifxetex | |
\Hy@Warning{% | |
pdfproducer: % | |
xdvipdfmx will use its own setting\MessageBreak | |
instead of the value given% | |
}% | |
\else | |
\def\Hy@temp{hdvipdfm}% | |
\ifx\Hy@driver\Hy@temp | |
\Hy@Warning{% | |
pdfproducer: % | |
dvipdfm(x) will use its own setting\MessageBreak | |
instead of the value given% | |
}% | |
\fi | |
\fi | |
} | |
\define@key{Hyp}{pdfcreator}{% | |
\HyXeTeX@CheckUnicode | |
\HyPsd@XeTeXBigCharstrue | |
\HyPsd@PrerenderUnicode{#1}% | |
\pdfstringdef\@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@XeTeXBigCharstrue | |
\HyPsd@PrerenderUnicode{#1}% | |
\pdfstringdef\@pdfsubject{#1}% | |
} | |
\define@key{Hyp}{pdfkeywords}{% | |
\HyXeTeX@CheckUnicode | |
\HyPsd@XeTeXBigCharstrue | |
\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@XeTeXBigCharstrue | |
\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/)|% | |
Fit(|B|% | |
(H|V|BH|BV) (null|\HyPat@NonNegativeReal/)|% | |
R \HyPat@NonNegativeReal/ \HyPat@NonNegativeReal/ % | |
\HyPat@NonNegativeReal/ \HyPat@NonNegativeReal/% | |
))$% | |
}{}{% | |
\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 package} | |
\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 | |
\kvsetkeys{Hyp}{pdfversion=1.4}% | |
\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 | |
\def\Hy@temp{hpdftex}% | |
\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}% | |
\ifvtexhtml | |
\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}{hypertex}% | |
\ifpdf | |
\def\Hy@driver{hpdftex}% | |
\else | |
\ifxetex | |
\def\Hy@driver{hxetex}% | |
\else | |
\ifvtexhtml | |
\def\Hy@driver{hvtexhtm}% | |
\def\MaybeStopEarly{% | |
\Hy@Message{Stopped early}% | |
\Hy@AtBeginDocument{% | |
\PDF@FinishDoc | |
\gdef\PDF@FinishDoc{}% | |
}% | |
\endinput | |
}% | |
\else | |
\ifvtexpdf | |
\def\Hy@driver{hvtex}% | |
\else | |
\ifvtexps | |
\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@Message{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{sc}\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 | |
}% | |
} | |
\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 | |
} | |
\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 | |
#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@pdfversion<3 % 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 | |
} | |
\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}{% | |
\def\Fld@default{#1}% | |
} | |
\define@key{Field}{align}{% | |
\def\Fld@align{#1}% | |
} | |
\define@key{Field}{value}{% | |
\def\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 | |
#1 #2% | |
} | |
\def\LayoutChoiceField#1#2{% label, field | |
#1 #2% | |
} | |
\def\LayoutCheckField#1#2{% label, field | |
#1 #2% | |
} | |
\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{\baselineskip} | |
\def\DefaultWidthofCheckBox{\baselineskip} | |
\def\DefaultHeightofChoiceMenu{\baselineskip} | |
\def\DefaultWidthofChoiceMenu{\baselineskip} | |
\def\DefaultHeightofText{\baselineskip} | |
\def\DefaultHeightofTextMultiline{4\baselineskip} | |
\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\\% | |
}% | |
\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}% | |
}{} | |
\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 | |
}% | |
} | |
\AtBeginDocument{% | |
\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 | |
\@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 | |
}% | |
}{} | |
\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 | |
}{#1}% | |
}{% | |
\Hy@raisedlink{% | |
\expandafter\hyper@@anchor\expandafter{% | |
\Hy@footnote@currentHref | |
}{\relax}% | |
}#1% | |
}% | |
}% | |
}% | |
\long\def\@footnotetext#1{% | |
\H@@footnotetext{% | |
\ifHy@nesting | |
\expandafter\ltx@firstoftwo | |
\else | |
\expandafter\ltx@secondoftwo | |
\fi | |
{% | |
\expandafter\hyper@@anchor\expandafter{% | |
\Hy@footnote@currentHref | |
}{#1}% | |
}{% | |
\Hy@raisedlink{% | |
\expandafter\hyper@@anchor\expandafter{% | |
\Hy@footnote@currentHref | |
}{\relax}% | |
}% | |
\let\@currentHref\Hy@footnote@currentHref | |
\let\@currentlabelname\@empty | |
#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 | |
} | |
\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}% | |
}% | |
\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}}% | |
}% | |
\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 | |
}% | |
}{}% | |
} | |
\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'. |