% \iffalse % Source File: hluatex.dtx % 2020-05-15 v7.00e % % Copyright % 2016-2019 Oberdiek Package Support Group % 2019-2020 The LaTeX3 Project % https://github.com/latex3/hyperref/issues%% % % Derived from hpdftex.def % % This file may be distributed under the terms of the LPPL. % See README for details. % %<*driver> \documentclass{ltxdoc} \ifx\Umathchardef\undefined\usepackage[T1]{fontenc}\fi \begin{document} \GetFileInfo{hluatex.def}% \title{hluatex.def} \date{}% \author{Maintained by The \LaTeX3 Project\\% \texttt{https://github.com/latex3/hyperref/issues}% } \maketitle \DocInput{hluatex.dtx}% \end{document} % % \fi % \StopEventually{} % % \begin{macrocode} %<*luatex> %% 2020-05-15 v7.00e %% force unicode encoding, see issue #101 %% code mostly copied from hxetex.def \HyPsd@LoadUnicode \Hy@unicodetrue \let\HyPsd@pdfencoding\HyPsd@pdfencoding@unicode \HyPsd@LoadStringEnc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % remains of luatex85 package \protected\def\pdfcatalog {\pdfextension catalog } \protected\def\pdflastannot {\numexpr\pdffeedback lastannot\relax} \protected\def\pdflastlink {\numexpr\pdffeedback lastlink\relax} \protected\def\pdflastobj {\numexpr\pdffeedback lastobj\relax} \protected\edef\pdflinkmargin {\pdfvariable linkmargin} \protected\def\pdfliteral {\pdfextension literal} \protected\def\pdfobj {\pdfextension obj } \protected\edef\pdfcompresslevel {\pdfvariable compresslevel} \protected\edef\pdfpageattr {\pdfvariable pageattr} \protected\edef\pdfpageresources {\pdfvariable pageresources} \protected\edef\pdfpagesattr {\pdfvariable pagesattr} \protected\def\pdfrefobj {\pdfextension refobj } \protected\def\pdfstartlink {\pdfextension startlink } \protected\def\pdfendlink {\pdfextension endlink\relax} \protected\def\pdfoutline {\pdfextension outline } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pdf@ifdraftmode{% \let\Hy@PutCatalog\ltx@gobble }{% \let\Hy@PutCatalog\pdfcatalog } \ifHy@pdfpagelabels \def\HyPL@StorePageLabel#1{% \toks@\expandafter{\HyPL@Labels}% \xdef\HyPL@Labels{% \the\toks@ \the\Hy@abspage<<#1>>% }% }% \RequirePackage{atveryend}[2009/12/07]% \AtVeryEndDocument{% \HyPL@SetPageLabels }% \fi \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname pdf@escapestring\endcsname\relax \begingroup \catcode`\|=0 % \@makeother\\% |@firstofone{|endgroup |def|Hy@pstringdef#1#2{% |begingroup |edef~{|string~}% |xdef|Hy@gtemp{#2}% |endgroup |let#1|Hy@gtemp |@onelevel@sanitize#1% |edef#1{|expandafter|Hy@ExchangeBackslash#1\|@nil}% |edef#1{|expandafter|Hy@ExchangeLeftParenthesis#1(|@nil}% |edef#1{|expandafter|Hy@ExchangeRightParenthesis#1)|@nil}% }% |def|Hy@ExchangeBackslash#1\#2|@nil{% #1% |ifx|\#2|\%% |else \\% |ltx@ReturnAfterFi{% |Hy@ExchangeBackslash#2|@nil }% |fi }% }% \def\Hy@ExchangeLeftParenthesis#1(#2\@nil{% #1% \ifx\\#2\\% \else \@backslashchar(% \ltx@ReturnAfterFi{% \Hy@ExchangeLeftParenthesis#2\@nil }% \fi }% \def\Hy@ExchangeRightParenthesis#1)#2\@nil{% #1% \ifx\\#2\\% \else \@backslashchar)% \ltx@ReturnAfterFi{% \Hy@ExchangeRightParenthesis#2\@nil }% \fi }% \else \def\Hy@pstringdef#1#2{% \begingroup \edef~{\string~}% \xdef\Hy@gtemp{\pdf@escapestring{#2}}% \endgroup \let#1\Hy@gtemp }% \fi \providecommand*{\XR@ext}{pdf} \Hy@setbreaklinks{true} \def\HyPat@ObjRef{% [0-9]*[1-9][0-9]* 0 R% } \edef\Hy@pdfminorversion{\pdfvariable minorversion}% \edef\Hy@pdfmajorversion{\pdfvariable majorversion}% \ifHy@ocgcolorlinks \ifnum\Hy@pdfmajorminor@version<105 % \kvsetkeys{Hyp}{pdfversion=1.5}% \fi \fi \ifHy@setpdfversion \ifnum\Hy@pdf@majorminor@version<105 % \ltx@IfUndefined{pdfobjcompresslevel}{% }{% \ifHy@verbose \Hy@InfoNoLine{% PDF object streams are disabled, because they are% \MessageBreak not supported in requested PDF version % \Hy@pdf@majorversion.\Hy@pdf@minorversion }% \fi \pdfobjcompresslevel=\ltx@zero }% \fi \ifnum\Hy@pdfmajorminor@version=\Hy@pdf@majorminor@version\relax \else \let\Hy@temp\ltx@empty \def\Hy@temp@A#1#2{% \ifnum#1>\ltx@zero \edef\Hy@temp{% \Hy@temp \space\space \the#1\space #2% \ifnum#1=\ltx@one\else s\fi \MessageBreak }% \fi }% \Hy@temp@A\pdflastobj{PDF object}% \Hy@temp@A\lastsavedboxresourceindex{form XObject}% \Hy@temp@A\lastsavedimageresourceindex{image XObject}% \Hy@temp@A\pdflastannot{annotation}% \ltx@IfUndefined{pdflastlink}{% }{% \Hy@temp@A\pdflastlink{link}% }% \ifx\Hy@temp\ltx@empty \Hy@pdfmajorversion=\Hy@pdf@majorversion\relax \Hy@pdfminorversion=\Hy@pdf@minorversion\relax \else \let\Hy@temp@A\ltx@empty \ifnum\Hy@pdf@majorminor@version=104 % \IfFileExists{pdf14.sty}{% \def\Hy@temp@A{% \MessageBreak Or \string\RequirePackage{pdf14} can be used% \MessageBreak before \string\documentclass\space as shortcut% }% }{}% \fi \Hy@WarningNoLine{% The PDF version number could not be set,\MessageBreak because some PDF objects are already written:% \MessageBreak \Hy@temp The version should be set as early as possible:% \MessageBreak \space\space \expandafter\string\Hy@pdfmajorversion=\Hy@pdf@majorversion, % \expandafter\string\Hy@pdfminorversion=\Hy@pdf@minorversion \string\relax \ifnum\Hy@pdf@majorminor@version<105 % \ltx@ifundefined{pdfobjcompresslevel}{% }{% \MessageBreak \space\space \string\pdfobjcompresslevel=0\string\relax }% \fi \Hy@temp@A }% \fi \fi \PackageInfo{hyperref}{% \expandafter\string\Hy@pdfmajorversion.% \expandafter\string\Hy@pdfminorversion :=\number\Hy@pdf@majorversion.\number\Hy@pdf@minorversion\space }% \fi \edef\Hy@pdf@majorversion{\number\Hy@pdfmajorversion}% \edef\Hy@pdf@minorversion{\number\Hy@pdfminorversion}% \Hy@DisableOption{pdfversion}% \ifHy@ocgcolorlinks \pdf@ifdraftmode{}{% \immediate\pdfobj{% <<% /Type/OCG% /Name(View)% /Usage<<% /Print<<% /PrintState/OFF% >>% /View<<% /ViewState/ON% >>% >>% >>% }% \edef\OBJ@OCG@view{\the\pdflastobj\space 0 R}% \immediate\pdfobj{% <<% /Type/OCG% /Name(Print)% /Usage<<% /Print<<% /PrintState/ON% >>% /View<<% /ViewState/OFF% >>% >>% >>% }% \edef\OBJ@OCG@print{\the\pdflastobj\space 0 R}% \immediate\pdfobj{% [% \OBJ@OCG@view\space\OBJ@OCG@print ]% }% \edef\OBJ@OCGs{\the\pdflastobj\space 0 R}% \pdfcatalog{% /OCProperties<<% /OCGs \OBJ@OCGs /D<<% /OFF[\OBJ@OCG@print]% /AS[% <<% /Event/View% /OCGs \OBJ@OCGs /Category[/View]% >>% <<% /Event/Print% /OCGs \OBJ@OCGs /Category[/Print]% >>% <<% /Event/Export% /OCGs \OBJ@OCGs /Category[/Print]% >>% ]% >>% >>% }% \begingroup \edef\x{\endgroup \pdfpageresources{% \the\pdfpageresources /Properties<<% /OCView \OBJ@OCG@view /OCPrint \OBJ@OCG@print >>% }% }% \x }% \Hy@AtBeginDocument{% \def\Hy@colorlink#1{% \begingroup \ifHy@ocgcolorlinks \def\Hy@ocgcolor{#1}% \setbox0=\hbox\bgroup\color@begingroup \else \HyColor@UseColor#1% \fi }% \def\Hy@endcolorlink{% \ifHy@ocgcolorlinks \color@endgroup\egroup \mbox{% \pdfliteral page{/OC/OCPrint BDC}% \rlap{\copy0}% \pdfliteral page{EMC/OC/OCView BDC}% \begingroup \expandafter\HyColor@UseColor\Hy@ocgcolor \box0 % \endgroup \pdfliteral page{EMC}% }% \fi \endgroup }% }% \else \Hy@DisableOption{ocgcolorlinks}% \fi \def\setpdflinkmargin#1{% \begingroup \setlength{\dimen@}{#1}% \expandafter\endgroup \expandafter\pdflinkmargin\the\dimen@\relax } \ifx\pdfstartlink\@undefined% less than version 14 \let\pdfstartlink\pdfannotlink \let\pdflinkmargin\@tempdima \let\saveboxresource\pdfform \let\lastsavedboxresourceindex\pdflastform \let\useboxresource\pdfrefform \else \pdflinkmargin1pt % \fi \providecommand*\@pdfview{XYZ} \Hy@WrapperDef\new@pdflink#1{% \ifhmode \@savsf\spacefactor \fi \Hy@SaveLastskip \Hy@VerboseAnchor{#1}% \Hy@pstringdef\Hy@pstringDest{\HyperDestNameFilter{#1}}% \Hy@DestName\Hy@pstringDest\@pdfview \Hy@RestoreLastskip \ifhmode \spacefactor\@savsf \fi } \let\pdf@endanchor\@empty \def\Hy@DestName#1#2{% \pdfextension dest name{#1}#2\relax } \providecommand*\@pdfborder{0 0 1} \providecommand*\@pdfborderstyle{} \def\Hy@undefinedname{UNDEFINED} \def\find@pdflink#1#2{% \leavevmode \protected@edef\Hy@testname{#2}% \ifx\Hy@testname\@empty \Hy@Warning{% Empty destination name,\MessageBreak using `\Hy@undefinedname'% }% \let\Hy@testname\Hy@undefinedname \else \Hy@pstringdef\Hy@testname{% \expandafter\HyperDestNameFilter\expandafter{\Hy@testname}% }% \fi \Hy@StartlinkName{% \ifHy@pdfa /F 4\fi \Hy@setpdfborder \Hy@setpdfhighlight \ifx\CurrentBorderColor\relax \else /C[\CurrentBorderColor]% \fi }\Hy@testname \expandafter\Hy@colorlink\csname @#1color\endcsname } \def\Hy@StartlinkName#1#2{% \pdfstartlink attr{#1}goto name{#2}\relax } \def\close@pdflink{% \Hy@endcolorlink \Hy@VerboseLinkStop \pdfendlink } \def\hyper@anchor#1{% \new@pdflink{#1}\anchor@spot\pdf@endanchor } \def\hyper@anchorstart#1{% \new@pdflink{#1}% \Hy@activeanchortrue } \def\hyper@anchorend{% \pdf@endanchor \Hy@activeanchorfalse } \def\hyper@linkstart#1#2{% \Hy@VerboseLinkStart{#1}{#2}% \ltx@IfUndefined{@#1bordercolor}{% \let\CurrentBorderColor\relax }{% \edef\CurrentBorderColor{\csname @#1bordercolor\endcsname}% }% \find@pdflink{#1}{#2}% } \def\hyper@linkend{\close@pdflink} \def\hyper@link#1#2#3{% \Hy@VerboseLinkStart{#1}{#2}% \ltx@IfUndefined{@#1bordercolor}{% \let\CurrentBorderColor\relax }{% \edef\CurrentBorderColor{\csname @#1bordercolor\endcsname}% }% \find@pdflink{#1}{#2}#3\Hy@xspace@end \close@pdflink } \let\CurrentBorderColor\@linkbordercolor \def\hyper@linkurl#1#2{% \begingroup \Hy@pstringdef\Hy@pstringURI{#2}% \hyper@chars \leavevmode \pdfstartlink attr{% \Hy@setpdfborder \Hy@setpdfhighlight \ifx\@urlbordercolor\relax \else /C[\@urlbordercolor]% \fi }% user{% /Subtype/Link% \ifHy@pdfa /F 4\fi /A<<% /Type/Action% /S/URI% /URI(\Hy@pstringURI)% \ifHy@href@ismap /IsMap true% \fi \Hy@href@nextactionraw >>% }% \relax \Hy@colorlink\@urlcolor#1\Hy@xspace@end \close@pdflink \endgroup } \def\hyper@linkfile#1#2#3{% anchor text, filename, linkname \begingroup \def\Hy@pstringF{#2}% \Hy@CleanupFile\Hy@pstringF \Hy@pstringdef\Hy@pstringF\Hy@pstringF \Hy@pstringdef\Hy@pstringD{#3}% \Hy@MakeRemoteAction \leavevmode \pdfstartlink attr{% \Hy@setpdfborder \Hy@setpdfhighlight \ifx\@filebordercolor\relax \else /C[\@filebordercolor]% \fi }% user {% /Subtype/Link% \ifHy@pdfa /F 4\fi /A<<% /F(\Hy@pstringF)% /S/GoToR% \Hy@SetNewWindow \ifx\\#3\\% /D[\Hy@href@page\@pdfremotestartview]% \else /D(\Hy@pstringD)% \fi \Hy@href@nextactionraw >>% }% \relax \Hy@colorlink\@filecolor#1\Hy@xspace@end \close@pdflink \endgroup } \def\@hyper@launch run:#1\\#2#3{% filename, anchor text linkname \begingroup \Hy@pstringdef\Hy@pstringF{#1}% \Hy@pstringdef\Hy@pstringP{#3}% \leavevmode \pdfstartlink attr{% \Hy@setpdfborder \Hy@setpdfhighlight \ifx\@runbordercolor\relax \else /C[\@runbordercolor]% \fi }% user {% /Subtype/Link% \ifHy@pdfa /F 4\fi /A<<% /F(\Hy@pstringF)% /S/Launch% \Hy@SetNewWindow \ifx\\#3\\% \else /Win<
>% \fi \Hy@href@nextactionraw >>% }% \relax \Hy@colorlink\@runcolor#2\Hy@xspace@end \close@pdflink \endgroup } \def\PDF@SetupDoc{% \ifx\@pdfpagescrop\@empty \else \edef\process@me{% \pdfpagesattr={% /CropBox[\@pdfpagescrop]% \expandafter\ifx\expandafter\\\the\pdfpagesattr\\% \else ^^J\the\pdfpagesattr \fi }% }% \process@me \fi \Hy@pstringdef\Hy@pstringB{\@baseurl}% \pdfcatalog{% /PageMode/\@pdfpagemode \ifx\@baseurl\@empty \else /URI<>% \fi }% \ifx\@pdfstartpage\@empty \else \ifx\@pdfstartview\@empty \else openaction goto page\@pdfstartpage{\@pdfstartview}% \fi \fi \edef\Hy@temp{% \ifHy@pdftoolbar\else /HideToolbar true\fi \ifHy@pdfmenubar\else /HideMenubar true\fi \ifHy@pdfwindowui\else /HideWindowUI true\fi \ifHy@pdffitwindow /FitWindow true\fi \ifHy@pdfcenterwindow /CenterWindow true\fi \ifHy@pdfdisplaydoctitle /DisplayDocTitle true\fi \Hy@UseNameKey{NonFullScreenPageMode}\@pdfnonfullscreenpagemode \Hy@UseNameKey{Direction}\@pdfdirection \Hy@UseNameKey{ViewArea}\@pdfviewarea \Hy@UseNameKey{ViewClip}\@pdfviewclip \Hy@UseNameKey{PrintArea}\@pdfprintarea \Hy@UseNameKey{PrintClip}\@pdfprintclip \Hy@UseNameKey{PrintScaling}\@pdfprintscaling \Hy@UseNameKey{Duplex}\@pdfduplex \ifx\@pdfpicktraybypdfsize\@empty \else /PickTrayByPDFSize \@pdfpicktraybypdfsize \fi \ifx\@pdfprintpagerange\@empty \else /PrintPageRange[\@pdfprintpagerange]% \fi \ifx\@pdfnumcopies\@empty \else /NumCopies \@pdfnumcopies \fi }% \pdfcatalog{% \ifx\Hy@temp\@empty \else /ViewerPreferences<<\Hy@temp>>% \fi \Hy@UseNameKey{PageLayout}\@pdfpagelayout \ifx\@pdflang\relax \else /Lang(\@pdflang)% \fi }% } \def\PDF@FinishDoc{% \pdf@ifdraftmode{}{% \Hy@UseMaketitleInfos \HyInfo@GenerateAddons \pdfextension info{% /Author(\@pdfauthor)% /Title(\@pdftitle)% /Subject(\@pdfsubject)% /Creator(\@pdfcreator)% \ifx\@pdfcreationdate\@empty \else /CreationDate(\@pdfcreationdate)% \fi \ifx\@pdfmoddate\@empty \else /ModDate(\@pdfmoddate)% \fi \ifx\@pdfproducer\relax \else /Producer(\@pdfproducer)% \fi /Keywords(\@pdfkeywords)% \ifx\@pdftrapped\@empty \else /Trapped/\@pdftrapped \fi \HyInfo@Addons }% }% \Hy@DisableOption{pdfauthor}% \Hy@DisableOption{pdftitle}% \Hy@DisableOption{pdfsubject}% \Hy@DisableOption{pdfcreator}% \Hy@DisableOption{pdfcreationdate}% \Hy@DisableOption{pdfmoddate}% \Hy@DisableOption{pdfproducer}% \Hy@DisableOption{pdfkeywords}% \Hy@DisableOption{pdftrapped}% \Hy@DisableOption{pdfinfo}% } \def\hyper@pagetransition{% \ifx\@pdfpagetransition\relax \else \expandafter\Hy@RemoveTransPageAttr \the\pdfpageattr^^J/Trans{}>>\END \ifx\@pdfpagetransition\@empty \else \edef\@processme{% \global\pdfpageattr{% \the\pdfpageattr ^^J/Trans << /S /\@pdfpagetransition\space >>% }% }% \@processme \fi \fi } \gdef\Hy@RemoveTransPageAttr#1^^J/Trans#2#3>>#4\END{% \ifx\\#2\\% \global\pdfpageattr{#1}% \else \Hy@RemoveTransPageAttr#1#4\END \fi } \def\hyper@pageduration{% \ifx\@pdfpageduration\relax \else \expandafter \Hy@RemoveDurPageAttr\the\pdfpageattr^^J/Dur{} \END \ifx\@pdfpageduration\@empty \else \edef\@processme{% \global\pdfpageattr{% \the\pdfpageattr ^^J/Dur \@pdfpageduration\space }% }% \@processme \fi \fi } \gdef\Hy@RemoveDurPageAttr#1^^J/Dur#2#3 #4\END{% \ifx\\#2\\% \global\pdfpageattr{#1}% \else \Hy@RemoveDurPageAttr#1#4\END \fi } \def\hyper@pagehidden{% \ifHy@useHidKey \expandafter \Hy@RemoveHidPageAttr\the\pdfpageattr^^J/Hid{} \END \ifHy@pdfpagehidden \edef\@processme{% \global\pdfpageattr{% \the\pdfpageattr ^^J/Hid true % SPACE }% }% \@processme \fi \fi } \gdef\Hy@RemoveHidPageAttr#1^^J/Hid#2#3 #4\END{% \ifx\\#2\\% \global\pdfpageattr{#1}% \else \Hy@RemoveHidPageAttr#1#4\END \fi } \pdf@ifdraftmode{}{% \g@addto@macro\Hy@EveryPageHook{% \hyper@pagetransition \hyper@pageduration \hyper@pagehidden }% } \Hy@AtBeginDocument{% \ifHy@setpagesize \expandafter\@firstofone \else \expandafter\@gobble \fi {% \@ifclassloaded{seminar}{% \setlength{\pdfvariable horigin}{1truein}% \setlength{\pdfvariable vorigin}{1truein}% \ifportrait \ifdim\paperwidth=\z@ \else \setlength{\pagewidth}{\strip@pt\paperwidth truept}% \fi \ifdim\paperheight=\z@ \else \setlength{\pageheight}{\strip@pt\paperheight truept}% \fi \else \ifdim\paperheight=\z@ \else \setlength{\pagewidth}{\strip@pt\paperheight truept}% \fi \ifdim\paperwidth=\z@ \else \setlength{\pageheight}{\strip@pt\paperwidth truept}% \fi \fi }{% \ltx@IfUndefined{stockwidth}{% \ifdim\paperwidth>\z@ \setlength{\pagewidth}{\paperwidth}% \fi \ifdim\paperheight>\z@ \setlength{\pageheight}{\paperheight}% \fi }{% \ifdim\stockwidth>\z@ \setlength{\pagewidth}{\stockwidth}% \fi \ifdim\stockheight>\z@ \setlength{\pageheight}{\stockheight}% \fi }% }% }% \Hy@DisableOption{setpagesize}% } \def\Acrobatmenu#1#2{% \Hy@Acrobatmenu{#1}{#2}{% \leavevmode \EdefEscapeName\Hy@temp@menu{#1}% \pdfstartlink attr{% \Hy@setpdfborder \Hy@setpdfhighlight \ifx\@menubordercolor\relax \else /C[\@menubordercolor]% \fi }% user{% /Subtype/Link% \ifHy@pdfa /F 4\fi /A<<% /S/Named% /N/\Hy@temp@menu \Hy@href@nextactionraw >>% }% \relax \Hy@colorlink\@menucolor#2% \close@pdflink }% } \def\Hy@FixNotFirstPage{% \gdef\Hy@FixNotFirstPage{% \setbox\AtBeginShipoutBox=\hbox{% \copy\AtBeginShipoutBox }% }% } \ltx@ifpackagelater{atbegshi}{2011/10/05}{% }{% \AtBeginShipout{\Hy@FixNotFirstPage}% } \def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum \Hy@Message{Sorry, pdftex does not support FORM gauges}% } \def\MakeFieldObject#1#2{\sbox0{#1}% \immediate\saveboxresource0 % \expandafter\edef\csname #2Object\endcsname{% \the\lastsavedboxresourceindex\space 0 R% }% }% \let\HyField@afields\ltx@empty \let\HyField@cofields\ltx@empty \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname pdflastlink\endcsname\relax \let\HyField@AddToFields\relax \PackageInfo{hyperref}{% You need pdfTeX 1.40.0 for setting the /Fields entry.% \MessageBreak Adobe Reader/Acrobat accepts an empty /Field array,% \MessageBreak but other PDF viewers might complain% }% \else \let\HyField@AuxAddToFields\ltx@gobble \let\HyField@AuxAddToCoFields\ltx@gobbletwo \def\HyField@AfterAuxOpen{\Hy@AtBeginDocument}% \def\HyField@ABD@AuxAddToCoFields#1#2{% \begingroup \Hy@safe@activestrue \let\ltx@secondoftwo\relax \ifx\HyField@cofields\ltx@empty \xdef\HyField@cofields{% \ltx@secondoftwo{#1}{ #2 0 R}% }% \else \let\ltx@secondoftwo\relax \def\HyField@AddCoField##1##2##3{% \ifx##1\ltx@empty \ltx@secondoftwo{#1}{ #2 0 R}% \expandafter\ltx@gobble \else \ifnum\pdf@strcmp{##2}{#1}>\ltx@zero \ltx@secondoftwo{#1}{ #2 0 R}% \ltx@secondoftwo{##2}{##3}% \expandafter\expandafter\expandafter\ltx@gobble \else \ltx@secondoftwo{##2}{##3}% \fi \fi \HyField@AddCoField }% \xdef\HyField@cofields{% \expandafter\HyField@AddCoField \HyField@cofields\ltx@empty\ltx@empty\ltx@empty }% \fi \endgroup }% \Hy@AtBeginDocument{% \if@filesw \immediate\write\@mainaux{% \string\providecommand\string\HyField@AuxAddToFields[1]{}% }% \immediate\write\@mainaux{% \string\providecommand\string\HyField@AuxAddToCoFields[2]{}% }% \fi \let\HyField@AfterAuxOpen\@firstofone \def\HyField@AuxAddToFields#1{% \xdef\HyField@afields{% \ifx\HyField@afields\@empty \else \HyField@afields \space \fi #1 0 R% }% }% \let\HyField@AuxAddToCoFields\HyField@ABD@AuxAddToCoFields }% \def\HyField@AddToFields{% \expandafter\HyField@@AddToFields\expandafter{% \the\pdflastlink }% \ifx\Fld@calculate@code\ltx@empty \else \begingroup \Hy@safe@activestrue \edef\Hy@temp{% \endgroup \if@filesw \write\@mainaux{% \string\HyField@AuxAddToCoFields{% \Fld@calculate@sortkey }{% \the\pdflastlink }% }% \fi }% \Hy@temp \fi }% \def\HyField@@AddToFields#1{% \HyField@AfterAuxOpen{% \if@filesw \write\@mainaux{% \string\HyField@AuxAddToFields{#1}% }% \fi }% }% \fi \def\@Form[#1]{% \@ifundefined{textcolor}{\let\textcolor\@gobble}{}% \kvsetkeys{Form}{#1}% \pdf@ifdraftmode{}{% \Hy@FormObjects \pdfrefobj\OBJ@pdfdocencoding \pdfrefobj\OBJ@ZaDb \pdfrefobj\OBJ@Helv \AtVeryEndDocument{% \immediate\pdfobj{% <<% /Fields[\HyField@afields]% \ifx\HyField@cofields\ltx@empty \else /CO[\romannumeral-`\Q\HyField@cofields]% \fi /DR<<% /Font<<% /ZaDb \OBJ@ZaDb\space 0 R% /Helv \OBJ@Helv\space 0 R% >>% >>% /DA(/Helv 10 Tf 0 g)% \ifHy@pdfa \else \ifHyField@NeedAppearances /NeedAppearances true% \fi \fi >>% }% \edef\OBJ@acroform{\the\pdflastobj}% \pdfcatalog{/AcroForm \OBJ@acroform\space 0 R}% }% }% \MakeFieldObject{% \begingroup \fontfamily{pzd}% \fontencoding{U}% \fontseries{m}% \fontshape{n}% \selectfont \char123 % \endgroup }{Ding}% \MakeFieldObject{% \fbox{\textcolor{yellow}{\textsf{Submit}}}% }{Submit}% \MakeFieldObject{% \fbox{\textcolor{yellow}{\textsf{SubmitP}}}% }{SubmitP}% } \let\@endForm\ltx@empty \let\HyAnn@AbsPageLabel\ltx@empty \let\Fld@pageobjref\ltx@empty \ltx@IfUndefined{pdfpageref}{% }{% \ltx@ifpackageloaded{zref-abspage}{% \newcount\HyAnn@Count \HyAnn@Count=\ltx@zero \def\HyAnn@AbsPageLabel{% \global\advance\HyAnn@Count by\ltx@one \zref@labelbyprops{HyAnn@\the\HyAnn@Count}{abspage}% \zref@refused{HyAnn@\the\HyAnn@Count}% }% \def\Fld@pageobjref{% \zref@ifrefundefined{HyAnn@\the\HyAnn@Count}{% }{% \zref@ifrefcontainsprop{HyAnn@\the\HyAnn@Count}{abspage}{% /P \pdfpageref \zref@extractdefault{HyAnn@\the\HyAnn@Count}{abspage}{1} % \space 0 R% }{% }% }% }% }{% }% } \def\@TextField[#1]#2{% parameters, label \def\Fld@name{#2}% \let\Fld@default\ltx@empty \let\Fld@value\@empty \def\Fld@width{\DefaultWidthofText}% \def\Fld@height{% \ifFld@multiline \DefaultHeightofTextMultiline \else \DefaultHeightofText \fi }% \begingroup \expandafter\HyField@SetKeys\expandafter{% \DefaultOptionsofText,#1% }% \PDFForm@Name \HyField@FlagsText \ifFld@hidden\def\Fld@width{1sp}\fi \ifx\Fld@value\@empty\def\Fld@value{\Fld@default}\fi \LayoutTextField{#2}{% \leavevmode \HyAnn@AbsPageLabel \Hy@escapeform\PDFForm@Text \pdfstartlink user {\PDFForm@Text}\relax \MakeTextField{\Fld@width}{\Fld@height}\pdfendlink \HyField@AddToFields }% \endgroup } \def\@ChoiceMenu[#1]#2#3{% parameters, label, choices \def\Fld@name{#2}% \let\Fld@default\relax \let\Fld@value\relax \def\Fld@width{\DefaultWidthofChoiceMenu}% \def\Fld@height{\DefaultHeightofChoiceMenu}% \begingroup \Fld@menulength=0 % \@tempdima\z@ \@for\@curropt:=#3\do{% \expandafter\Fld@checkequals\@curropt==\\% \Hy@StepCount\Fld@menulength \settowidth{\@tempdimb}{\@currDisplay}% \ifdim\@tempdimb>\@tempdima\@tempdima\@tempdimb\fi }% \advance\@tempdima by 15\p@ \begingroup \HyField@SetKeys{#1}% \edef\x{\endgroup \noexpand\expandafter \noexpand\HyField@SetKeys \noexpand\expandafter{% \expandafter\noexpand\csname DefaultOptionsof% \ifFld@radio Radio% \else \ifFld@combo \ifFld@popdown PopdownBox% \else ComboBox% \fi \else ListBox% \fi \fi \endcsname }% }\x \HyField@SetKeys{#1}% \PDFForm@Name \ifFld@hidden\def\Fld@width{1sp}\fi \ifx\Fld@value\relax \let\Fld@value\Fld@default \fi \LayoutChoiceField{#2}{% \ifFld@radio \HyField@FlagsRadioButton \@@Radio{#3}% \else \begingroup \HyField@FlagsChoice \ifdim\Fld@width<\@tempdima \ifdim\@tempdima<1cm\@tempdima1cm\fi \edef\Fld@width{\the\@tempdima}% \fi \ifFld@combo \else \@tempdima=\the\Fld@menulength\Fld@charsize \advance\@tempdima by \Fld@borderwidth bp % \advance\@tempdima by \Fld@borderwidth bp % \edef\Fld@height{\the\@tempdima}% \fi \@@Listbox{#3}% \endgroup \fi }% \endgroup } \def\@@Radio#1{% \Fld@listcount=0 % \EdefEscapeName\Fld@default{\Fld@default}% \@for\@curropt:=#1\do{% \expandafter\Fld@checkequals\@curropt==\\% \EdefEscapeName\@currValue{\@currValue}% \Hy@StepCount\Fld@listcount \@currDisplay\space \leavevmode \HyAnn@AbsPageLabel \Hy@escapeform\PDFForm@Radio \pdfstartlink user {% \PDFForm@Radio /AP<<% /N<<% /\@currValue\space \DingObject >>% >>% }% \relax \MakeRadioField{\Fld@width}{\Fld@height}\pdfendlink \ifnum\Fld@listcount=1 % \HyField@AddToFields \fi \space % deliberate space between radio buttons }% } \newcount\Fld@listcount \def\@@Listbox#1{% \HyField@PDFChoices{#1}% \leavevmode \HyAnn@AbsPageLabel \Hy@escapeform\PDFForm@List \pdfstartlink user {\PDFForm@List}\relax \MakeChoiceField{\Fld@width}{\Fld@height}% \pdfendlink \HyField@AddToFields } \def\@PushButton[#1]#2{% parameters, label \def\Fld@name{#2}% \begingroup \expandafter\HyField@SetKeys\expandafter{% \DefaultOptionsofPushButton,#1% }% \PDFForm@Name \ifHy@pdfa \Hy@Error{% PDF/A: Push button with JavaScript is prohibited% }\@ehc \LayoutPushButtonField{% \leavevmode \MakeButtonField{#2}% }% \else \HyField@FlagsPushButton \ifFld@hidden\def\Fld@width{1sp}\fi \LayoutPushButtonField{% \leavevmode \HyAnn@AbsPageLabel \Hy@escapeform\PDFForm@Push \pdfstartlink user {\PDFForm@Push}\relax \MakeButtonField{#2}% \pdfendlink \HyField@AddToFields }% \fi \endgroup } \def\@Submit[#1]#2{% \def\Fld@width{\DefaultWidthofSubmit}% \def\Fld@height{\DefaultHeightofSubmit}% \begingroup \expandafter\HyField@SetKeys\expandafter{% \DefaultOptionsofSubmit,#1% }% \HyField@FlagsPushButton \HyField@FlagsSubmit \ifFld@hidden\def\Fld@width{1sp}\fi \leavevmode \HyAnn@AbsPageLabel \Hy@escapeform\PDFForm@Submit \pdfstartlink user {% \PDFForm@Submit /AP<>% }% \relax \MakeButtonField{#2}% \pdfendlink \HyField@AddToFields \endgroup } \def\@Reset[#1]#2{% \def\Fld@width{\DefaultWidthofReset}% \def\Fld@height{\DefaultHeightofReset}% \begingroup \expandafter\HyField@SetKeys\expandafter{% \DefaultOptionsofReset,#1% }% \leavevmode \ifHy@pdfa \Hy@Error{% PDF/A: Reset action is prohibited% }\@ehc \MakeButtonField{#2}% \else \HyField@FlagsPushButton \ifFld@hidden\def\Fld@width{1sp}\fi \HyAnn@AbsPageLabel \Hy@escapeform\PDFForm@Reset \pdfstartlink user {\PDFForm@Reset}\relax \MakeButtonField{#2}% \pdfendlink \HyField@AddToFields \fi \endgroup } \def\@CheckBox[#1]#2{% parameters, label \def\Fld@name{#2}% \def\Fld@default{0}% \begingroup \def\Fld@width{\DefaultWidthofCheckBox}% \def\Fld@height{\DefaultHeightofCheckBox}% \expandafter\HyField@SetKeys\expandafter{% \DefaultOptionsofCheckBox,#1% }% \PDFForm@Name \HyField@FlagsCheckBox \ifFld@hidden\def\Fld@width{1sp}\fi \LayoutCheckField{#2}{% \leavevmode \HyAnn@AbsPageLabel \Hy@escapeform\PDFForm@Check \pdfstartlink user {\PDFForm@Check}\relax \MakeCheckField{\Fld@width}{\Fld@height}% \pdfendlink \HyField@AddToFields }% \endgroup } \def\Hy@FormObjects{% \pdfobj {% <<% /Type/Encoding% /Differences[% 24/breve/caron/circumflex/dotaccent/hungarumlaut/ogonek% /ring/tilde % 39/quotesingle % 96/grave % 128/bullet/dagger/daggerdbl/ellipsis/emdash/endash/florin% /fraction/guilsinglleft/guilsinglright/minus/perthousand% /quotedblbase/quotedblleft/quotedblright/quoteleft% /quoteright/quotesinglbase/trademark/fi/fl/Lslash/OE% /Scaron/Ydieresis/Zcaron/dotlessi/lslash/oe/scaron/zcaron % 164/currency % 166/brokenbar % 168/dieresis/copyright/ordfeminine % 172/logicalnot/.notdef/registered/macron/degree/plusminus% /twosuperior/threesuperior/acute/mu % 183/periodcentered/cedilla/onesuperior/ordmasculine % 188/onequarter/onehalf/threequarters % 192/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE% /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave% /Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute% /Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave% /Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls% /agrave/aacute/acircumflex/atilde/adieresis/aring/ae% /ccedilla/egrave/eacute/ecircumflex/edieresis/igrave% /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute% /ocircumflex/otilde/odieresis/divide/oslash/ugrave% /uacute/ucircumflex/udieresis/yacute/thorn/ydieresis% ]% >>% }% \xdef\OBJ@pdfdocencoding{\the\pdflastobj}% \pdfobj{% <<% /Type/Font% /Subtype/Type1% /Name/ZaDb% /BaseFont/ZapfDingbats% >>% }% \xdef\OBJ@ZaDb{\the\pdflastobj}% \pdfobj{% <<% /Type/Font% /Subtype/Type1% /Name/Helv% /BaseFont/Helvetica% /Encoding \OBJ@pdfdocencoding\space 0 R% >>% }% \xdef\OBJ@Helv{\the\pdflastobj}% \global\let\Hy@FormObjects\relax } \providecommand*{\Fld@pageobjref}{} \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname pdf@escapestring\endcsname\relax \let\Hy@escapestring\@firstofone \def\Hy@escapeform#1{% \ifHy@pdfescapeform \def\Hy@escapestring##1{% \noexpand\Hy@escapestring{\noexpand##1}% }% \edef\Hy@temp{#1}% \expandafter\Hy@@escapeform\Hy@temp\Hy@escapestring{}\@nil \def\Hy@escapestring##1{% \@ifundefined{Hy@esc@\string##1}{% ##1% \ThisShouldNotHappen }{% \csname Hy@esc@\string##1\endcsname }% }% \else \let\Hy@escapestring\@firstofone \fi }% \def\Hy@@escapeform#1\Hy@escapestring#2#3\@nil{% \ifx\\#3\\% \else \expandafter \Hy@pstringdef\csname Hy@esc@\string#2\endcsname{#2}% \ltx@ReturnAfterFi{% \Hy@@escapeform#3\@nil }% \fi }% \else \def\Hy@escapeform#1{% \ifHy@pdfescapeform \let\Hy@escapestring\pdfescapestring \else \let\Hy@escapestring\@firstofone \fi }% \Hy@escapeform{}% \fi \def\PDFForm@Name{% \PDFForm@@Name\Fld@name \ifx\Fld@altname\relax \else \PDFForm@@Name\Fld@altname \fi \ifx\Fld@mappingname\relax \else \PDFForm@@Name\Fld@mappingname \fi } \def\PDFForm@@Name#1{% \begingroup \ifnum\Hy@pdf@majorminor@version<105 % implementation note 117, PDF spec 1.7 \ifHy@unicode \Hy@unicodefalse \fi \fi \pdfstringdef\Hy@gtemp#1% \endgroup \let#1\Hy@gtemp } \def\Fld@@additionalactions{% \ifx\Fld@keystroke@code\@empty \else /K<>% \fi \ifx\Fld@format@code\@empty \else /F<>% \fi \ifx\Fld@validate@code\@empty \else /V<>% \fi \ifx\Fld@calculate@code\@empty \else /C<>% \fi \ifx\Fld@onfocus@code\@empty \else /Fo<>% \fi \ifx\Fld@onblur@code\@empty \else /Bl<>% \fi \ifx\Fld@onmousedown@code\@empty \else /D<>% \fi \ifx\Fld@onmouseup@code\@empty \else /U<>% \fi \ifx\Fld@onenter@code\@empty \else /E<>% \fi \ifx\Fld@onexit@code\@empty \else /X<>% \fi } \def\Fld@additionalactions{% \if-\Fld@@additionalactions-% \else \ifHy@pdfa \else /AA<<\Fld@@additionalactions>>% \fi \fi } \def\Fld@annotnames{% /T(\Fld@name)% \ifx\Fld@altname\relax \else /TU(\Fld@altname)% \fi \ifx\Fld@mappingname\relax \else /TM(\Fld@mappingname)% \fi } \def\PDFForm@Check{% /Subtype/Widget% \Fld@annotflags \Fld@pageobjref \Fld@annotnames /FT/Btn% \Fld@flags /Q \Fld@align /BS<>% /AP<< /N <>>> >> %new string /Yes is from below /MK<<% \ifnum\Fld@rotation=\z@ \else /R \Fld@rotation \fi \ifx\Fld@bordercolor\relax \else /BC[\Fld@bordercolor]% \fi \ifx\Fld@bcolor\relax \else /BG[\Fld@bcolor]% \fi /CA(\Hy@escapestring{\Fld@cbsymbol})% >>% /DA(/ZaDb \strip@pt\Fld@charsize\space Tf% \ifx\Fld@color\@empty\else\space\Fld@color\fi)% /H/P% \ifFld@checked /V/Yes/AS/Yes\else /V/Off/AS/Off\fi \Fld@additionalactions } \ifHy@pdfa \else \def\PDFForm@Push{% /Subtype/Widget% \Fld@annotflags \Fld@pageobjref \Fld@annotnames /FT/Btn% \Fld@flags /H/P% /BS<>% \ifcase0\ifnum\Fld@rotation=\z@ \else 1\fi \ifx\Fld@bordercolor\relax\else 1\fi \space \else /MK<<% \ifnum\Fld@rotation=\z@ \else /R \Fld@rotation \fi \ifx\Fld@bordercolor\relax \else /BC[\Fld@bordercolor]% \fi >>% \fi /A<>% \Fld@additionalactions }% \fi \def\PDFForm@List{% /Subtype/Widget% \Fld@annotflags \Fld@pageobjref \Fld@annotnames /FT/Ch% \Fld@flags /Q \Fld@align /BS<>% \ifcase0\ifnum\Fld@rotation=\z@ \else 1\fi \ifx\Fld@bordercolor\relax\else 1\fi \ifx\fld@bcolor\relax \else 1\fi \space \else /MK<<% \ifnum\Fld@rotation=\z@ \else /R \Fld@rotation \fi \ifx\Fld@bordercolor\relax \else /BC[\Fld@bordercolor]% \fi \ifx\Fld@bcolor\relax \else /BG[\Fld@bcolor]% \fi >>% \fi /DA(/Helv \strip@pt\Fld@charsize\space Tf% \ifx\Fld@color\@empty\else\space\Fld@color\fi)% \Fld@choices \Fld@additionalactions } \def\PDFForm@Radio{% /Subtype/Widget% \Fld@annotflags \Fld@pageobjref \Fld@annotnames /FT/Btn% \Fld@flags /H/P% /BS<>% /MK<<% \ifnum\Fld@rotation=\z@ \else /R \Fld@rotation \fi \ifx\Fld@bordercolor\relax \else /BC[\Fld@bordercolor]% \fi \ifx\Fld@bcolor\relax \else /BG[\Fld@bcolor]% \fi /CA(\Hy@escapestring{\Fld@radiosymbol})% >>% /DA(/ZaDb \strip@pt\Fld@charsize\space Tf% \ifx\Fld@color\@empty\else\space\Fld@color\fi)% \ifx\Fld@default\@empty /V/Off% /DV/Off% \else /V/\Fld@default /DV/\Fld@default \fi \Fld@additionalactions } \def\PDFForm@Text{% /Subtype/Widget% \Fld@annotflags \Fld@pageobjref \Fld@annotnames /FT/Tx% \Fld@flags /Q \Fld@align /BS<>% \ifcase0\ifnum\Fld@rotation=\z@ \else 1\fi \ifx\Fld@bordercolor\relax\else 1\fi \ifx\Fld@bcolor\relax \else 1\fi \space \else /MK<<% \ifnum\Fld@rotation=\z@ \else /R \Fld@rotation \fi \ifx\Fld@bordercolor\relax \else /BC[\Fld@bordercolor]% \fi \ifx\Fld@bcolor\relax \else /BG[\Fld@bcolor]% \fi >>% \fi /DA(/Helv \strip@pt\Fld@charsize\space Tf% \ifx\Fld@color\@empty\else\space\Fld@color\fi)% /DV(\Hy@escapestring{\Fld@default})% /V(\Hy@escapestring{\Fld@value})% \Fld@additionalactions \ifnum\Fld@maxlen>\z@/MaxLen \Fld@maxlen \fi } \def\PDFForm@Submit{% /Subtype/Widget% \Fld@annotflags \Fld@pageobjref \Fld@annotnames /FT/Btn% \Fld@flags /H/P% /BS<>% \ifcase0\ifnum\Fld@rotation=\z@ \else 1\fi \ifx\Fld@bordercolor\relax\else 1\fi \space \else /MK<<% \ifnum\Fld@rotation=\z@ \else /R \Fld@rotation \fi \ifx\Fld@bordercolor\relax \else /BC[\Fld@bordercolor]% \fi >>% \fi /A<<% /S/SubmitForm% /F<<% /FS/URL% /F(\Hy@escapestring{\Form@action})% >>% \Fld@submitflags >>% \Fld@additionalactions } \ifHy@pdfa \else \def\PDFForm@Reset{% /Subtype/Widget% \Fld@annotflags \Fld@pageobjref \Fld@annotnames /FT/Btn% \Fld@flags /H/P% /DA(/Helv \strip@pt\Fld@charsize\space Tf 0 0 1 rg)% \ifcase0\ifnum\Fld@rotation=\z@ \else 1\fi \ifx\Fld@bordercolor\relax\else 1\fi \space \else /MK<<% \ifnum\Fld@rotation=\z@ \else /R \Fld@rotation \fi \ifx\Fld@bordercolor\relax \else /BC[\Fld@bordercolor]% \fi >>% \fi /BS<>% /A<>% \Fld@additionalactions }% \fi \def\Hy@writebookmark#1#2#3#4#5{% % section number, text, label, level, file \ifx\WriteBookmarks\relax% \else \ifnum#4>\Hy@bookmarksdepth\relax \else \@@writetorep{#1}{#2}{#3}{#4}{#5}% \fi \fi } \def\Hy@currentbookmarklevel{0} \def\Hy@numberline#1{#1 } \def\@@writetorep#1#2#3#4#5{% \begingroup \edef\Hy@tempa{#5}% \ifx\Hy@tempa\Hy@bookmarkstype \edef\Hy@level{#4}% \ifx\Hy@levelcheck Y% \@tempcnta\Hy@level\relax \advance\@tempcnta by -1 % \ifnum\Hy@currentbookmarklevel<\@tempcnta \advance\@tempcnta by -\Hy@currentbookmarklevel\relax \advance\@tempcnta by 1 % \Hy@Warning{% Difference (\the\@tempcnta) between bookmark levels is % greater \MessageBreak than one, level fixed% }% \@tempcnta\Hy@currentbookmarklevel \advance\@tempcnta by 1 % \edef\Hy@level{\the\@tempcnta}% \fi \else \global\let\Hy@levelcheck Y% \fi \global\let\Hy@currentbookmarklevel\Hy@level \@tempcnta\Hy@level\relax \expandafter\xdef\csname Parent\Hy@level\endcsname{#3}% \advance\@tempcnta by -1 % \edef\Hy@tempa{#3}% \edef\Hy@tempb{\csname Parent\the\@tempcnta\endcsname}% \ifx\Hy@tempa\Hy@tempb \Hy@Warning{% The anchor of a bookmark and its parent's must not% \MessageBreak be the same. Added a new anchor% }% \phantomsection \fi \ifHy@bookmarksnumbered \let\numberline\Hy@numberline \let\booknumberline\Hy@numberline \let\partnumberline\Hy@numberline \let\chapternumberline\Hy@numberline \else \let\numberline\@gobble \let\booknumberline\@gobble \let\partnumberline\@gobble \let\chapternumberline\@gobble \fi \pdfstringdef\Hy@tempa{#2}% \HyPsd@SanitizeForOutFile\Hy@tempa \if@filesw \stepcounter{bookmark@seq@number}% \@ifundefined{@outlinefile}{% }{% \protected@write\@outlinefile{}{% \protect\BOOKMARK [\Hy@level][\@bookmarkopenstatus{\Hy@level}]{#3}% {\Hy@tempa}{\Hy@tempb}% \@percentchar\space\thebookmark@seq@number }% }% \fi \fi \endgroup } \newcounter{bookmark@seq@number} \begingroup \lccode`(=`{% \lccode`)=`}% \lccode`1=\z@ \lccode`2=\z@ \lccode`3=\z@ \lccode`5=\z@ \lccode`7=\z@ \lccode`\#=\z@ \lccode`\`=\z@ \lccode`\{=\z@ \lccode`\}=\z@ \lowercase{% \endgroup \def\HyPsd@SanitizeForOutFile#1{% \@onelevel@sanitize\Hy@tempa \escapechar`\\% \edef\Hy@tempa{% \expandafter\HyPsd@SanitizeOut@BraceLeft\Hy@tempa(\@nil }% \edef\Hy@tempa{% \expandafter\HyPsd@SanitizeOut@BraceRight\Hy@tempa)\@nil }% }% \def\HyPsd@SanitizeOut@BraceLeft#1(#2\@nil{% #1% \ifx\\#2\\% \expandafter\ltx@gobble \else \expandafter\ltx@firstofone \fi {% \string\173% \HyPsd@SanitizeOut@BraceLeft#2\@nil }% }% \def\HyPsd@SanitizeOut@BraceRight#1)#2\@nil{% #1% \ifx\\#2\\% \expandafter\ltx@gobble \else \expandafter\ltx@firstofone \fi {% \string\175% \HyPsd@SanitizeOut@BraceRight#2\@nil }% }% } \newcommand{\currentpdfbookmark}{% \pdfbookmark[\Hy@currentbookmarklevel]% } \newcommand{\subpdfbookmark}{% \@tempcnta\Hy@currentbookmarklevel \Hy@StepCount\@tempcnta \expandafter\pdfbookmark\expandafter[\the\@tempcnta]% } \newcommand{\belowpdfbookmark}[2]{% \@tempcnta\Hy@currentbookmarklevel \Hy@StepCount\@tempcnta \expandafter\pdfbookmark\expandafter[\the\@tempcnta]{#1}{#2}% \advance\@tempcnta by -1 % \xdef\Hy@currentbookmarklevel{\the\@tempcnta}% } \renewcommand\pdfbookmark[3][0]{% \Hy@writebookmark{}{#2}{#3.#1}{#1}{toc}% \hyper@anchorstart{#3.#1}\hyper@anchorend } \def\BOOKMARK{% \@ifnextchar[{\@BOOKMARK}{\@@BOOKMARK[1][-]}% } \def\@BOOKMARK[#1]{% \@ifnextchar[{\@@BOOKMARK[{#1}]}{\@@BOOKMARK[{#1}][-]}% } \RequirePackage{rerunfilecheck}[2009/12/10] \def\Hy@OutlineRerunCheck{% \RerunFileCheck{\jobname.out}{% \immediate\closeout\@outlinefile }{% Rerun to get outlines right\MessageBreak or use package `bookmark'% }% } \def\ReadBookmarks{% \pdf@ifdraftmode{}{% \begingroup \def\do##1{% \ifnum\catcode`##1=\active \@makeother##1% \else \ifnum\catcode`##1=6 % \@makeother##1% \fi \fi }% \dospecials \Hy@safe@activestrue \escapechar=`\\% \def\@@BOOKMARK[##1][##2]##3##4##5{% \calc@bm@number{##5}% }% \InputIfFileExists{\jobname.out}{}{}% \ifx\WriteBookmarks\relax \global\let\WriteBookmarks\relax \fi \def\@@BOOKMARK[##1][##2]##3##4##5{% \def\Hy@temp{##4}% \Hy@pstringdef\Hy@pstringName{\HyperDestNameFilter{##3}}% \Hy@OutlineName{}\Hy@pstringName{% ##2\check@bm@number{##3}% }{% \expandafter\strip@prefix\meaning\Hy@temp }% }% \begingroup \def\WriteBookmarks{0}% \InputIfFileExists{\jobname.out}{}{}% \endgroup %{\escapechar\m@ne\InputIfFileExists{\jobname.out}{}{}}% \endgroup }% \ifx\WriteBookmarks\relax \else \if@filesw \newwrite\@outlinefile \Hy@OutlineRerunCheck \immediate\openout\@outlinefile=\jobname.out\relax \ifHy@typexml \immediate\write\@outlinefile{