Current File : //usr/share/texlive/texmf-dist/tex/latex/hyperref/hdviwind.def |
%%
%% This is file `hdviwind.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% hyperref.dtx (with options: `dviwindo,pdfmarkbase')
%%
%% File: hyperref.dtx
%% Copyright
%% 1995-2001 Sebastian Rahtz, with portions written by David Carlisle and Heiko Oberdiek,
%% 2001-2015 Heiko Oberdiek.
%% 2016-2019 Oberdiek Package Support Group
%% 2019-2021 LaTeX Project
%% https://github.com/latex3/hyperref/issues
%%
%% This file is part of the `Hyperref Bundle'.
%% -------------------------------------------
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
%%
%% The Current Maintainer of this work is the LaTeX Project.
%%
%% The list of all files belonging to the `Hyperref Bundle' is
%% given in the file `manifest.txt'.
%%
\ProvidesFile{hdviwind.def}
[2021-02-27 v7.00k %
Hyperref driver for dviwindo]
\Hy@VersionCheck{hdviwind.def}
\begingroup
\@ifundefined{headerps@out}{}{%
\toks@\expandafter{\Hy@FirstPageHook}%
\xdef\Hy@FirstPageHook{%
\noexpand\headerps@out{%
systemdict /pdfmark known%
{%
userdict /?pdfmark systemdict /exec get put%
}{%
userdict /?pdfmark systemdict /pop get put %
userdict /pdfmark systemdict /cleartomark get put%
}%
ifelse%
}%
\the\toks@
}%
}%
\endgroup
\def\Hy@PutCatalog#1{%
\pdfmark{pdfmark=/PUT,Raw={\string{Catalog\string} <<#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
\providecommand*{\XR@ext}{dvi}
\providecommand*\wwwbrowser{c:\string\netscape\string\netscape}
\Hy@WrapperDef\hyper@anchor#1{%
\Hy@SaveLastskip
\Hy@VerboseAnchor{#1}%
\begingroup
\let\protect=\string
\special{mark: #1}%
\endgroup
\Hy@activeanchortrue
\Hy@colorlink\@anchorcolor\anchor@spot\Hy@endcolorlink
\Hy@activeanchorfalse
\Hy@RestoreLastskip
}
\Hy@WrapperDef\hyper@anchorstart#1{%
\Hy@SaveLastskip
\Hy@VerboseAnchor{#1}%
\special{mark: #1}%
\Hy@activeanchortrue
}
\def\hyper@anchorend{%
\Hy@activeanchorfalse
\Hy@RestoreLastskip
}
\def\hyper@linkstart#1#2{%
\Hy@VerboseLinkStart{#1}{#2}%
\expandafter\Hy@colorlink\csname @#1color\endcsname
\special{button: %
10000000 %
\number\baselineskip\space
#2%
}%
}
\def\hyper@linkend{%
\Hy@endcolorlink
}
\def\hyper@link#1#2#3{%
\Hy@VerboseLinkStart{#1}{#2}%
\leavevmode
\ifHy@raiselinks
\Hy@SaveSpaceFactor
\Hy@SaveSavedSpaceFactor
\sbox\@tempboxa{\Hy@RestoreSpaceFactor#3}%
\Hy@RestoreSavedSpaceFactor
\@linkdim\dp\@tempboxa
\lower\@linkdim\hbox{%
\special{button: %
\number\wd\@tempboxa\space
\number\ht\@tempboxa\space
#2%
}%
\expandafter\Hy@colorlink\csname @#1color\endcsname
\Hy@RestoreSpaceFactor
#3\Hy@xspace@end
\Hy@SaveSpaceFactor
\Hy@endcolorlink
}%
\@linkdim\ht\@tempboxa
\advance\@linkdim by -6.5\p@
\raise\@linkdim\hbox{}%
\Hy@RestoreSpaceFactor
\else
\special{button: %
\number\wd\@tempboxa\space
\number\ht\@tempboxa\space
#2%
}%
\expandafter\Hy@colorlink\csname @#1color\endcsname
#3\Hy@xspace@end
\Hy@endcolorlink
\fi
}
\def\hyper@linkurl#1#2{%
\begingroup
\hyper@chars
\leavevmode
\ifHy@raiselinks
\Hy@SaveSpaceFactor
\Hy@SaveSavedSpaceFactor
\sbox\@tempboxa{\Hy@RestoreSpaceFactor#1}%
\Hy@RestoreSavedSpaceFactor
\@linkdim\dp\@tempboxa
\lower\@linkdim\hbox{%
\special{button: %
\number\wd\@tempboxa\space
\number\ht\@tempboxa\space
launch: \wwwbrowser\space
#2%
}%
\Hy@colorlink\@urlcolor
\Hy@RestoreSpaceFactor
#1\Hy@xspace@end
\Hy@SaveSpaceFactor
\Hy@endcolorlink
}%
\@linkdim\ht\@tempboxa
\advance\@linkdim by -6.5\p@
\raise\@linkdim\hbox{}%
\Hy@RestoreSpaceFactor
\else
\special{button: %
\number\wd\@tempboxa\space
\number\ht\@tempboxa\space
launch: \wwwbrowser\space
#2%
}%
\Hy@colorlink\@urlcolor
#1\Hy@xspace@end
\Hy@endcolorlink
\fi
\endgroup
}
\def\hyper@linkfile#1#2#3{%
\begingroup
\hyper@chars
\leavevmode
\ifHy@raiselinks
\Hy@SaveSpaceFactor
\Hy@SaveSavedSpaceFactor
\sbox\@tempboxa{\Hy@RestoreSpaceFactor#1}%
\Hy@RestoreSavedSpaceFactor
\@linkdim\dp\@tempboxa
\lower\@linkdim\hbox{%
\special{button: %
\number\wd\@tempboxa\space
\number\ht\@tempboxa\space
#3,%
file: #2%
}%
\Hy@colorlink\@filecolor
\Hy@RestoreSpaceFactor
#1\Hy@xspace@end
\Hy@SaveSpaceFactor
\Hy@endcolorlink
}%
\@linkdim\ht\@tempboxa
\advance\@linkdim by -6.5\p@
\raise\@linkdim\hbox{}%
\Hy@RestoreSpaceFactor
\else
\special{button: %
\number\wd\@tempboxa\space
\number\ht\@tempboxa\space
#3,%
file: #2%
}%
\Hy@colorlink\@filecolor
#1\Hy@xspace@end
\Hy@endcolorlink
\fi
\endgroup
}
\HyInfo@AddonUnsupportedtrue
\def\PDF@FinishDoc{%
\Hy@UseMaketitleInfos
\HyInfo@TrappedUnsupported
\special{PDF: Keywords \@pdfkeywords}%
\special{PDF: Title \@pdftitle}%
\special{PDF: Creator \@pdfcreator}%
\ifx\@pdfcreationdate\@empty
\else
\special{PDF: CreationDate \@pdfcreationdate}%
\fi
\ifx\@pdfmoddate\@empty
\else
\special{PDF: ModDate \@pdfmoddate}%
\fi
\special{PDF: Author \@pdfauthor}%
\ifx\@pdfproducer\relax
\else
\special{PDF: Producer \@pdfproducer}%
\fi
\special{PDF: Subject \@pdfsubject}%
\Hy@DisableOption{pdfauthor}%
\Hy@DisableOption{pdftitle}%
\Hy@DisableOption{pdfsubject}%
\Hy@DisableOption{pdfcreator}%
\Hy@DisableOption{addtopdfcreator}%
\Hy@DisableOption{pdfcreationdate}%
\Hy@DisableOption{pdfcreationdate}%
\Hy@DisableOption{pdfmoddate}%
\Hy@DisableOption{pdfproducer}%
\Hy@DisableOption{pdfkeywords}%
\Hy@DisableOption{pdftrapped}%
\Hy@DisableOption{pdfinfo}%
}
\def\PDF@SetupDoc{%
\ifx\@baseurl\@empty
\else
\special{PDF: Base \@baseurl}%
\fi
\ifx\@pdfpagescrop\@empty\else
\special{PDF: BBox \@pdfpagescrop}%
\fi
\def\Hy@temp{}%
\ifx\@pdfstartpage\@empty
\else
\ifx\@pdfstartview\@empty
\else
\edef\Hy@temp{%
,Page=\@pdfstartpage
,View=\@pdfstartview
}%
\fi
\fi
\edef\Hy@temp{%
\noexpand\pdfmark{%
pdfmark=/DOCVIEW,%
PageMode=/\@pdfpagemode
\Hy@temp
}%
}%
\Hy@temp
\ifx\@pdfpagescrop\@empty
\else
\pdfmark{pdfmark=/PAGES,CropBox=\@pdfpagescrop}%
\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
}%
\pdfmark{pdfmark=/PUT,%
Raw={%
\string{Catalog\string}<<%
\ifx\Hy@temp\@empty
\else
/ViewerPreferences<<\Hy@temp>>%
\fi
\Hy@UseNameKey{PageLayout}\@pdfpagelayout
\ifx\@pdflang\relax
\else
/Lang(\@pdflang)%
\fi
>>%
}%
}%
}
\def\literalps@out#1{\special{ps:#1}}%
\def\Hy@DistillerDestFix{%
\begingroup
\let\x\literalps@out
\ifnum \@ifundefined{OpMode}{0}{%
\@ifundefined{gexmode}{0}{%
\ifnum\gexmode>0 \OpMode\else 0\fi
}}>1 %
\def\x##1{%
\immediate\special{!=##1}%
}%
\fi
\x{%
/product where{%
pop %
product(Distiller)search{%
pop pop pop %
version(.)search{%
exch pop exch pop%
(3011)eq{%
gsave %
newpath 0 0 moveto closepath clip%
/Courier findfont 10 scalefont setfont %
72 72 moveto(.)show %
grestore%
}if%
}{pop}ifelse%
}{pop}ifelse%
}if%
}%
\endgroup
}
\newif\ifHy@pdfmarkerror
\def\pdfmark{\@ifnextchar[{\pdfmark@}{\pdfmark@[]}}
\def\pdfmark@[#1]#2{%
\Hy@pdfmarkerrorfalse
\edef\@processme{\noexpand\pdf@toks={\the\pdf@defaulttoks}}%
\@processme
\let\pdf@type\relax
\let\pdf@objdef\ltx@empty
\kvsetkeys{PDF}{#2}%
\ifHy@pdfmarkerror
\else
\ifx\pdf@type\relax
\Hy@WarningNoLine{no pdfmark type specified in #2!!}%
\ifx\\#1\\%
\else
\pdf@rect{#1}%
\fi
\else
\ifx\\#1\\%
\literalps@out{%
[%
\ifx\pdf@objdef\ltx@empty
\else
/_objdef\string{\pdf@objdef\string}%
\fi
\the\pdf@toks\space\pdf@type\space pdfmark%
}%
\else
\ltx@IfUndefined{@\pdf@linktype color}{%
\Hy@colorlink\@linkcolor
}{%
\expandafter\Hy@colorlink
\csname @\pdf@linktype color\endcsname
}%
\pdf@rect{#1}%
\literalps@out{%
[%
\ifx\pdf@objdef\ltx@empty
\else
/_objdef\string{\pdf@objdef\string}%
\fi
\the\pdf@toks\space\pdf@type\space pdfmark%
}%
\Hy@endcolorlink
\fi
\fi
\fi
}
\newsavebox{\pdf@box}
\providecommand*{\Hy@setouterhbox}{\sbox}
\providecommand*{\Hy@breaklinksunhbox}{\unhbox}
\def\Hy@DEST{/DEST}
\def\pdf@rect#1{%
\begingroup
\chardef\x=1 %
\def\Hy@temp{#1}%
\ifx\Hy@temp\ltx@empty
\chardef\x=0 %
\else
\def\y{\anchor@spot}%
\ifx\Hy@temp\y
\def\y{\relax}%
\ifx\anchor@spot\y
\chardef\x=0 %
\fi
\fi
\fi
\expandafter\endgroup
\ifcase\x
\literalps@out{H.S}%
\literalps@out{H.R}%
\else
\leavevmode
\Hy@SaveSpaceFactor
\ifmmode
\def\Hy@LinkMath{$}%
\else
\let\Hy@LinkMath\ltx@empty
\fi
\ifHy@breaklinks
\Hy@setouterhbox\pdf@box{%
\Hy@RestoreSpaceFactor
\Hy@LinkMath
\Hy@AllowHyphens#1\Hy@xspace@end
\Hy@LinkMath
\Hy@SaveSpaceFactor
}%
\else
\sbox\pdf@box{%
\Hy@RestoreSpaceFactor
\Hy@LinkMath
#1\Hy@xspace@end
\Hy@LinkMath
\Hy@SaveSpaceFactor
}%
\fi
\dimen@\ht\pdf@box
\ifdim\dp\pdf@box=\z@
\literalps@out{H.S}%
\else
\lower\dp\pdf@box\hbox{\literalps@out{H.S}}%
\fi
\ifHy@breaklinks
\ifhmode
\Hy@breaklinksunhbox\pdf@box
\else
\box\pdf@box
\fi
\else
\expandafter\box\pdf@box
\fi
\ifdim\dimen@=\z@
\literalps@out{H.R}%
\else
\raise\dimen@\hbox{\literalps@out{H.R}}%
\fi
\Hy@RestoreSpaceFactor
\fi
\ifx\pdf@type\Hy@DEST
\else
\pdf@addtoksx{H.B}%
\fi
}
\newtoks\pdf@toks
\newtoks\pdf@defaulttoks
\pdf@defaulttoks={}%
\def\pdf@addtoks#1#2{%
\edef\@processme{\pdf@toks{\the\pdf@toks/#2 #1}}%
\@processme
}
\def\pdf@addtoksx#1{%
\edef\@processme{\pdf@toks{\the\pdf@toks\space #1}}%
\@processme
}
\def\PDFdefaults#1{%
\pdf@defaulttoks={#1}%
}
\define@key{PDF}{pdfmark}{\def\pdf@type{#1}}
\define@key{PDF}{linktype}{\def\pdf@linktype{#1}}
\def\pdf@linktype{link}
\define@key{PDF}{objdef}{\edef\pdf@objdef{#1}}
\let\pdf@objdef\ltx@empty
\define@key{PDF}{Raw}{\pdf@addtoksx{#1}}
\define@key{PDF}{Action}{\pdf@addtoks{#1}{Action}}
\define@key{PDF}{Border}{%
\edef\Hy@temp{#1}%
\ifx\Hy@temp\@empty
\else
\pdf@addtoks{[#1]\Hy@BorderArrayPatch}{Border}% hash-ok
\fi
}
\let\Hy@BorderArrayPatch\@empty
\define@key{PDF}{BorderStyle}{%
\edef\Hy@temp{#1}%
\ifx\Hy@temp\@empty
\else
\pdf@addtoks{<<#1>>}{BS}%
\fi
}
\define@key{PDF}{Color}{%
\ifx\relax#1\relax
\else
\pdf@addtoks{[#1]}{Color}% hash-ok
\fi
}
\define@key{PDF}{Contents}{\pdf@addtoks{(#1)}{Contents}}
\define@key{PDF}{Count}{\pdf@addtoks{#1}{Count}}
\define@key{PDF}{CropBox}{\pdf@addtoks{[#1]}{CropBox}}% hash-ok
\define@key{PDF}{DOSFile}{\pdf@addtoks{(#1)}{DOSFile}}
\define@key{PDF}{DataSource}{\pdf@addtoks{(#1)}{DataSource}}
\define@key{PDF}{Dest}{%
\Hy@pstringdef\Hy@pstringDest{\HyperDestNameFilter{#1}}%
\ifx\Hy@pstringDest\@empty
\Hy@pdfmarkerrortrue
\Hy@Warning{Destination with empty name ignored}%
\else
\pdf@addtoks{(\Hy@pstringDest) cvn}{Dest}%
\fi
}
\define@key{PDF}{DestAnchor}{%
\Hy@pstringdef\Hy@pstringDest{\HyperDestNameFilter{#1}}%
\ifx\Hy@pstringDest\@empty
\Hy@pdfmarkerrortrue
\Hy@Warning{Destination with empty name ignored}%
\else
\pdf@addtoks{(\Hy@pstringDest) cvn}{Dest}%
\fi
}
\define@key{PDF}{Dir}{\pdf@addtoks{(#1)}{Dir}}
\define@key{PDF}{File}{\pdf@addtoks{(#1)}{File}}
\define@key{PDF}{Flags}{\pdf@addtoks{#1}{Flags}}
\define@key{PDF}{PDFAFlags}{%
\ifHy@pdfa
\pdf@addtoks{#1}{F}%
\fi
}
\define@key{PDF}{AcroHighlight}{%
\begingroup
\edef\x{#1}%
\expandafter\endgroup\ifx\x\@empty
\else
\pdf@addtoks{#1}{H}%
\fi
}
\define@key{PDF}{ID}{\pdf@addtoks{[#1]}{ID}}% hash-ok
\define@key{PDF}{MacFile}{\pdf@addtoks{(#1)}{MacFile}}
\define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}
\define@key{PDF}{Op}{\pdf@addtoks{(#1)}{Op}}
\define@key{PDF}{Open}{\pdf@addtoks{#1}{Open}}
\define@key{PDF}{Page}{\pdf@addtoks{#1}{Page}}
\define@key{PDF}{PageMode}{\pdf@addtoks{#1}{PageMode}}
\define@key{PDF}{Params}{\pdf@addtoks{(#1)}{Params}}
\define@key{PDF}{Rect}{\pdf@addtoks{[#1]}{Rect}}% hash-ok
\define@key{PDF}{SrcPg}{\pdf@addtoks{#1}{SrcPg}}
\define@key{PDF}{Subtype}{\pdf@addtoks{#1}{Subtype}}
\define@key{PDF}{Title}{\pdf@addtoks{(#1)}{Title}}
\define@key{PDF}{Unix}{\pdf@addtoks{(#1)}{Unix}}
\define@key{PDF}{UnixFile}{\pdf@addtoks{(#1)}{UnixFile}}
\define@key{PDF}{View}{\pdf@addtoks{[#1]}{View}}% hash-ok
\define@key{PDF}{WinFile}{\pdf@addtoks{(#1)}{WinFile}}
\define@key{PDF}{Author}{\pdf@addtoks{(#1)}{Author}}
\define@key{PDF}{Creator}{\pdf@addtoks{(#1)}{Creator}}
\define@key{PDF}{CreationDate}{\pdf@addtoks{(#1)}{CreationDate}}
\define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}
\define@key{PDF}{Producer}{\pdf@addtoks{(#1)}{Producer}}
\define@key{PDF}{Subject}{\pdf@addtoks{(#1)}{Subject}}
\define@key{PDF}{Keywords}{\pdf@addtoks{(#1)}{Keywords}}
\define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}
\define@key{PDF}{Base}{\pdf@addtoks{(#1)}{Base}}
\define@key{PDF}{URI}{\pdf@addtoks{#1}{URI}}
\define@key{PDF}{Trapped}{%
\edef\Hy@temp{#1}%
\ifx\Hy@temp\@empty
\else
\pdf@addtoks{/#1}{Trapped}%
\fi
}
\endinput
%%
%% End of file `hdviwind.def'.