%% %% This is file `hxetex.def', %% generated with the docstrip utility. %% %% The original source files were: %% %% hyperref.dtx (with options: `xetex,pdfform,outlines') %% %% 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'. %% \ProvidesFile{hxetex.def} [2012/09/24 v6.83e % Hyperref driver for XeTeX] \Hy@VersionCheck{hxetex.def} \HyPsd@LoadUnicode \Hy@unicodetrue \ifx\HyPsd@pdfencoding\HyPsd@pdfencoding@unicode \else \let\HyPsd@pdfencoding\HyPsd@pdfencoding@auto \fi \HyPsd@LoadStringEnc \define@key{Hyp}{unicode}[true]{% \Hy@boolkey{unicode}{#1}% \ifHy@unicode \else \Hy@Warning{% XeTeX driver only supports `unicode=true'. Ignoring\MessageBreak option setting `unicode=false'% }% \Hy@unicodetrue \fi } \define@key{Hyp}{pdfencoding}{% \edef\HyPsd@temp{#1}% \ifx\HyPsd@temp\HyPsd@pdfencoding@unicode \let\HyPsd@pdfencoding\HyPsd@temp \else \ifx\HyPsd@temp\HyPsd@pdfencoding@auto \let\HyPsd@pdfencoding\HyPsd@temp \else \Hy@Warning{% XeTeX driver only supports\MessageBreak `pdfencoding=unicode|auto'. Ignoring option\MessageBreak setting `pdfencoding=\HyPsd@temp'% }% \fi \fi } \let\HyXeTeX@CheckUnicode\relax \def\Hy@PutCatalog#1{\@pdfm@mark{docview << #1 >>}} \ifHy@pdfpagelabels \def\HyPL@StorePageLabel#1{% \if@filesw \begingroup \edef\Hy@tempa{\the\Hy@abspage<<#1>>}% \immediate\write\@mainaux{% \string\HyPL@Entry{\Hy@tempa}% }% \endgroup \fi }% \Hy@AtBeginDocument{% \if@filesw \immediate\write\@mainaux{% \string\providecommand\string*\string\HyPL@Entry[1]{}% }% \fi \ifx\HyPL@Labels\@empty \Hy@WarningNoLine{Rerun to get /PageLabels entry}% \else \HyPL@SetPageLabels \fi \let\HyPL@Entry\@gobble }% \def\HyPL@Entry#1{% \expandafter\gdef\expandafter\HyPL@Labels\expandafter{% \HyPL@Labels #1% }% }% \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 \Hy@AtBeginDocument{% \ifHy@setpagesize \expandafter\@firstofone \else \expandafter\@gobble \fi {% \@ifclassloaded{seminar}{% \ifportrait \ifdim\paperwidth=\z@ \else \setlength{\pdfpagewidth}{\strip@pt\paperwidth truept}% \fi \ifdim\paperheight=\z@ \else \setlength{\pdfpageheight}{\strip@pt\paperheight truept}% \fi \else \ifdim\paperheight=\z@ \else \setlength{\pdfpagewidth}{\strip@pt\paperheight truept}% \fi \ifdim\paperwidth=\z@ \else \setlength{\pdfpageheight}{\strip@pt\paperwidth truept}% \fi \fi }{% \ltx@IfUndefined{stockwidth}{% \ifdim\paperwidth>\z@ \setlength{\pdfpagewidth}{\paperwidth}% \fi \ifdim\paperheight>\z@ \setlength{\pdfpageheight}{\paperheight}% \fi }{% \ifdim\stockwidth>\z@ \setlength{\pdfpagewidth}{\stockwidth}% \fi \ifdim\stockheight>\z@ \setlength{\pdfpageheight}{\stockheight}% \fi }% }% }% \Hy@DisableOption{setpagesize}% } \providecommand*{\XR@ext}{pdf} \Hy@setbreaklinks{true} \def\HyPat@ObjRef{% @[^ ]+% } \newsavebox{\pdfm@box} \def\@pdfm@mark#1{\special{pdf:#1}} \Hy@WrapperDef\@pdfm@dest#1{% \Hy@SaveLastskip \Hy@VerboseAnchor{#1}% \begingroup \Hy@pstringdef\Hy@pstringDest{\HyperDestNameFilter{#1}}% \def\x{XYZ}% \ifx\x\@pdfview \def\x{XYZ @xpos @ypos null}% \else \def\x{FitH}% \ifx\x\@pdfview \def\x{FitH @ypos}% \else \def\x{FitBH}% \ifx\x\@pdfview \def\x{FitBH @ypos}% \else \def\x{FitV}% \ifx\x\@pdfview \def\x{FitV @xpos}% \else \def\x{FitBV}% \ifx\x\@pdfview \def\x{FitBV @xpos}% \else \def\x{Fit}% \ifx\x\@pdfview \let\x\@pdfview \else \def\x{FitB}% \ifx\x\@pdfview \let\x\@pdfview \else \def\x{FitR}% \ifx\x\@pdfview \Hy@Warning{`pdfview=FitR' is not supported}% \def\x{XYZ @xpos @ypos null}% \else \@onelevel@sanitize\@pdfview \Hy@Warning{% Unknown value `\@pdfview' for pdfview% }% \def\x{XYZ @xpos @ypos null}% \fi \fi \fi \fi \fi \fi \fi \fi \@pdfm@mark{dest (\Hy@pstringDest) [@thispage /\x]}% \endgroup \Hy@RestoreLastskip } \providecommand*\@pdfview{XYZ} \providecommand*\@pdfborder{0 0 1} \providecommand*\@pdfborderstyle{} \def\hyper@anchor#1{% \@pdfm@dest{#1}% } \def\hyper@anchorstart#1{% \Hy@activeanchortrue \@pdfm@dest{#1}% } \def\hyper@anchorend{% \Hy@activeanchorfalse } \newcounter{Hy@AnnotLevel} \ifHy@ocgcolorlinks \def\OBJ@OCG@view{@OCG@view}% \@pdfm@mark{% obj \OBJ@OCG@view <<% /Type/OCG% /Name(View)% /Usage<<% /Print<<% /PrintState/OFF% >>% /View<<% /ViewState/ON% >>% >>% >>% }% \@pdfm@mark{close \OBJ@OCG@view}% \def\OBJ@OCG@print{@OCG@print}% \@pdfm@mark{% obj \OBJ@OCG@print <<% /Type/OCG% /Name(Print)% /Usage<<% /Print<<% /PrintState/ON% >>% /View<<% /ViewState/OFF% >>% >>% >>% }% \@pdfm@mark{close \OBJ@OCG@print}% \def\OBJ@OCGs{@OCGs}% \@pdfm@mark{% obj \OBJ@OCGs [% \OBJ@OCG@view\space\OBJ@OCG@print ]% }% \@pdfm@mark{close \OBJ@OCGs}% \@pdfm@mark{% put @catalog <<% /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]% >>% ]% >>% >>% >>% }% \AtBeginShipout{% \setbox\AtBeginShipoutBox=\hbox{% \copy\AtBeginShipoutBox \@pdfm@mark{% put @resources <<% /Properties<<% /OCView \OBJ@OCG@view /OCPrint \OBJ@OCG@print >>% >>% }% }% }% \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{% \@pdfm@mark{content /OC/OCPrint BDC}% \rlap{\copy0}% \@pdfm@mark{content EMC/OC/OCView BDC}% \begingroup \expandafter\HyColor@UseColor\Hy@ocgcolor \box0 % \endgroup \@pdfm@mark{content EMC}% }% \fi \endgroup }% }% \else \Hy@DisableOption{ocgcolorlinks}% \fi \def\Hy@BeginAnnot#1{% \stepcounter{Hy@AnnotLevel}% \ifnum\value{Hy@AnnotLevel}=\@ne #1% \fi } \def\Hy@EndAnnot{% \ifnum\value{Hy@AnnotLevel}=\@ne \Hy@endcolorlink \@pdfm@mark{eann}% \fi \addtocounter{Hy@AnnotLevel}\m@ne } \def\Hy@undefinedname{UNDEFINED} \def\hyper@linkstart#1#2{% \Hy@VerboseLinkStart{#1}{#2}% \leavevmode \Hy@BeginAnnot{% \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 \@pdfm@mark{% bann<<% /Type/Annot% /Subtype/Link% \ifHy@pdfa /F 4\fi \Hy@setpdfborder \expandafter\ifx\csname @#1bordercolor\endcsname\relax \else /C[\csname @#1bordercolor\endcsname]% \fi /A<<% /S/GoTo% /D(\Hy@testname)% \Hy@href@nextactionraw >>% >>% }% \expandafter\Hy@colorlink\csname @#1color\endcsname }% } \def\hyper@linkend{\Hy@EndAnnot}% \def\hyper@link#1#2#3{% \hyper@linkstart{#1}{#2}#3\Hy@xspace@end\hyper@linkend } \def\hyper@linkfile#1#2#3{% \leavevmode \Hy@BeginAnnot{% \def\Hy@pstringF{#2}% \Hy@CleanupFile\Hy@pstringF \Hy@pstringdef\Hy@pstringF\Hy@pstringF \Hy@pstringdef\Hy@pstringD{#3}% \Hy@MakeRemoteAction \@pdfm@mark{% bann<<% /Type/Annot% /Subtype/Link% \ifHy@pdfa /F 4\fi \Hy@setpdfborder \ifx\@filebordercolor\relax \else /C[\@filebordercolor]% \fi /A<<% /S/GoToR% /F(\Hy@pstringF)% /D% \ifx\\#3\\% [\Hy@href@page\@pdfremotestartview]% \else (\Hy@pstringD)% \fi \Hy@SetNewWindow \Hy@href@nextactionraw >>% >>% }% \Hy@colorlink\@filecolor }% #1\Hy@xspace@end \Hy@EndAnnot } \def\@hyper@launch run:#1\\#2#3{% filename, anchor text linkname \leavevmode \Hy@BeginAnnot{% \Hy@pstringdef\Hy@pstringF{#1}% \Hy@pstringdef\Hy@pstringP{#3}% \@pdfm@mark{% bann<<% /Type/Annot% /Subtype/Link% \ifHy@pdfa /F 4\fi \Hy@setpdfborder \ifx\@runbordercolor\relax \else /C[\@runbordercolor]% \fi /A<<% /F(\Hy@pstringF)% /S/Launch% \Hy@SetNewWindow \ifx\\#3\\% \else /Win<
>% \fi \Hy@href@nextactionraw >>% >>% }% \Hy@colorlink\@runcolor }% #2\Hy@xspace@end \Hy@EndAnnot } \def\hyper@linkurl#1#2{% \leavevmode \Hy@BeginAnnot{% \Hy@pstringdef\Hy@pstringURI{#2}% \@pdfm@mark{% bann<<% /Type/Annot% /Subtype/Link% \ifHy@pdfa /F 4\fi \Hy@setpdfborder \ifx\@urlbordercolor\relax \else /C[\@urlbordercolor]% \fi /A<<% /S/URI% /URI(\Hy@pstringURI)% \ifHy@href@ismap /IsMap true% \fi \Hy@href@nextactionraw >>% >>% }% \Hy@colorlink\@urlcolor }% #1\Hy@xspace@end \Hy@EndAnnot } \def\Acrobatmenu#1#2{% \Hy@Acrobatmenu{#1}{#2}{% \Hy@BeginAnnot{% \EdefEscapeName\Hy@temp@menu{#1}% \@pdfm@mark{% bann<<% /Type/Annot% /Subtype/Link% \ifHy@pdfa /F 4\fi \Hy@setpdfborder \ifx\@menubordercolor\relax \else /C[\@menubordercolor]% \fi /A<<% /S/Named% /N/\Hy@temp@menu \Hy@href@nextactionraw >>% >>% }% \Hy@colorlink\@menucolor }% #2\Hy@xspace@end \Hy@EndAnnot }% } \ifx\@pdfproducer\relax \def\@pdfproducer{dvipdfm}% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname XeTeXversion\endcsname\relax \else \edef\@pdfproducer{XeTeX \the\XeTeXversion\XeTeXrevision}% \fi \fi \def\PDF@FinishDoc{% \Hy@UseMaketitleInfos \HyInfo@GenerateAddons \@pdfm@mark{% docinfo<<% /Title(\@pdftitle)% /Subject(\@pdfsubject)% /Creator(\@pdfcreator)% \ifx\@pdfcreationdate\@empty \else /CreationDate(\@pdfcreationdate)% \fi \ifx\@pdfmoddate\@empty \else /ModDate(\@pdfmoddate)% \fi /Author(\@pdfauthor)% \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\PDF@SetupDoc{% \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 }% \Hy@pstringdef\Hy@pstringB{\@baseurl}% \@pdfm@mark{% docview<<% \ifx\@pdfstartpage\@empty \else \ifx\@pdfstartview\@empty \else /OpenAction[@page\@pdfstartpage\@pdfstartview]% \fi \fi \ifx\@baseurl\@empty \else /URI<>% \fi /PageMode/\@pdfpagemode \ifx\Hy@temp\@empty \else /ViewerPreferences<<\Hy@temp>>% \fi \Hy@UseNameKey{PageLayout}\@pdfpagelayout \ifx\@pdflang\@empty \else /Lang(\@pdflang)% \fi >>% }% \ifx\@pdfpagescrop\@empty \else \@pdfm@mark{put @pages <>}% \fi } \def\hyper@pagetransition{% \ifx\@pdfpagetransition\relax \else \ifx\@pdfpagetransition\@empty \else \special{pdf:put @thispage % <>>>% }% \fi \fi } \def\hyper@pageduration{% \ifx\@pdfpageduration\relax \else \ifx\@pdfpageduration\@empty \else \special{pdf:put @thispage % <>% }% \fi \fi } \def\hyper@pagehidden{% \ifHy@useHidKey \special{pdf:put @thispage % <>% }% \fi } \g@addto@macro\Hy@EveryPageBoxHook{% \hyper@pagetransition \hyper@pageduration \hyper@pagehidden } \def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum \Hy@Message{Sorry, dvipdfm/XeTeX does not support FORM gauges}% } \def\@Form[#1]{% \@ifundefined{textcolor}{\let\textcolor\@gobble}{}% \kvsetkeys{Form}{#1}% \Hy@FormObjects \@pdfm@mark{obj @afields []}% \@pdfm@mark{obj @corder []}% \@pdfm@mark{% obj @aform <<% /Fields @afields% /DR<<% /Font<<% /ZaDb @OBJZaDb% /Helv @OBJHelv% >>% >>% /DA(/Helv 10 Tf 0 g)% /CO @corder% \ifHy@pdfa \else \ifHyField@NeedAppearances /NeedAppearances true% \fi \fi >>% }% \@pdfm@mark{put @catalog <>}% } \let\@endForm\ltx@empty \def\dvipdfm@setdim{% height \the\ht\pdfm@box\space width \the\wd\pdfm@box\space depth \the\dp\pdfm@box\space } \newcount\HyField@AnnotCount \HyField@AnnotCount=\z@ \def\HyField@AdvanceAnnotCount{% \global\advance\HyField@AnnotCount\@ne } \def\HyField@TheAnnotCount{% \the\HyField@AnnotCount } \def\Fld@pageobjref{/P @thispage}% \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 \setbox\pdfm@box=\hbox{% \MakeTextField{\Fld@width}{\Fld@height}% }% \HyField@AdvanceAnnotCount \LayoutTextField{#2}{% \leavevmode \Hy@escapeform\PDFForm@Text \@pdfm@mark{% ann @text\HyField@TheAnnotCount\space \dvipdfm@setdim << \PDFForm@Text >>% }% }% \unhbox\pdfm@box \@pdfm@mark{put @afields @text\HyField@TheAnnotCount}% % record in @afields array \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}% \setbox\pdfm@box=\hbox{% \MakeRadioField{\Fld@width}{\Fld@height}% }% \@for\@curropt:=#1\do{% \expandafter\Fld@checkequals\@curropt==\\% \EdefEscapeName\@currValue{\@currValue}% \Hy@StepCount\Fld@listcount \@currDisplay\space \leavevmode \Hy@escapeform\PDFForm@Radio \ifnum\Fld@listcount=1 % \HyField@AdvanceAnnotCount \fi \@pdfm@mark{% ann % \ifnum\Fld@listcount=1 % @radio\HyField@TheAnnotCount% \space \fi \dvipdfm@setdim <<% \PDFForm@Radio /AP<>>>% >>% }% \unhcopy\pdfm@box\space% deliberate space between radio buttons \ifnum\Fld@listcount=1 % \@pdfm@mark{% put @afields @radio\HyField@TheAnnotCount }% \fi }% } \newcount\Fld@listcount \def\@@Listbox#1{% \HyField@PDFChoices{#1}% \setbox\pdfm@box=\hbox{% \MakeChoiceField{\Fld@width}{\Fld@height}% }% \leavevmode \Hy@escapeform\PDFForm@List \HyField@AdvanceAnnotCount \@pdfm@mark{% ann @list\HyField@TheAnnotCount\space \dvipdfm@setdim <<\PDFForm@List>>% }% \unhbox\pdfm@box \@pdfm@mark{put @afields @list\HyField@TheAnnotCount}% } \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 \setbox\pdfm@box=\hbox{\MakeButtonField{#2}}% \HyField@FlagsPushButton \ifFld@hidden\def\Fld@width{1sp}\fi \HyField@AdvanceAnnotCount \LayoutPushButtonField{% \leavevmode \Hy@escapeform\PDFForm@Push \@pdfm@mark{% ann @push\HyField@TheAnnotCount\space \dvipdfm@setdim <<\PDFForm@Push>>% }% }% \unhbox\pdfm@box \@pdfm@mark{put @afields @push\HyField@TheAnnotCount}% \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 \setbox\pdfm@box=\hbox{\MakeButtonField{#2}}% \leavevmode \Hy@escapeform\PDFForm@Submit \HyField@AdvanceAnnotCount \@pdfm@mark{% ann @submit\HyField@TheAnnotCount\space \dvipdfm@setdim <<\PDFForm@Submit>>% }% \unhbox\pdfm@box% \@pdfm@mark{put @afields @submit\HyField@TheAnnotCount}% \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 \setbox\pdfm@box=\hbox{\MakeButtonField{#2}}% \Hy@escapeform\PDFForm@Reset \HyField@AdvanceAnnotCount \@pdfm@mark{% ann @reset\HyField@TheAnnotCount\space \dvipdfm@setdim <<\PDFForm@Reset>>% }% \unhbox\pdfm@box \@pdfm@mark{put @afields @reset\HyField@TheAnnotCount}% \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 \setbox\pdfm@box=\hbox{% \MakeCheckField{\Fld@width}{\Fld@height}% }% \HyField@AdvanceAnnotCount \LayoutCheckField{#2}{% \leavevmode \Hy@escapeform\PDFForm@Check \@pdfm@mark{% ann @check\HyField@TheAnnotCount\space \dvipdfm@setdim <<\PDFForm@Check>>% }% \unhbox\pdfm@box \@pdfm@mark{put @afields @check\HyField@TheAnnotCount}% }% \endgroup } \def\Hy@FormObjects{% \@pdfm@mark{obj @OBJpdfdocencoding% <<% /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% ]% >>% }% \@pdfm@mark{obj @OBJZaDb% <<% /Type/Font% /Subtype/Type1% /Name/ZaDb% /BaseFont/ZapfDingbats% >>% }% \@pdfm@mark{obj @OBJHelv% <<% /Type/Font% /Subtype/Type1% /Name/Helv% /BaseFont/Helvetica% /Encoding @OBJpdfdocencoding% >>% }% \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@pdfversion<5 % implementation note 117, PDF spec 1.7 \ifHy@unicode \Hy@unicodefalse \fi \fi \HyPsd@XeTeXBigCharstrue \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<>% /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\@currValue\Fld@default /V/\Fld@default /DV/\Fld@default \else /V/Off% /DV/Off% \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 \HyPsd@XeTeXBigCharstrue \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}}% \@pdfm@mark{% outline \ifHy@DvipdfmxOutlineOpen [% \ifnum##21>\z@ \else -% \fi ] % \fi ##1<<% /Title(\expandafter\strip@prefix\meaning\Hy@temp)% /A<<% /S/GoTo% /D(\Hy@pstringName)% >>% >>% }% }% \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{