summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/hypdvips/hypdvips.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/hypdvips/hypdvips.sty')
-rw-r--r--Master/texmf-dist/tex/latex/hypdvips/hypdvips.sty371
1 files changed, 279 insertions, 92 deletions
diff --git a/Master/texmf-dist/tex/latex/hypdvips/hypdvips.sty b/Master/texmf-dist/tex/latex/hypdvips/hypdvips.sty
index 7c813b547f0..a72c88a885f 100644
--- a/Master/texmf-dist/tex/latex/hypdvips/hypdvips.sty
+++ b/Master/texmf-dist/tex/latex/hypdvips/hypdvips.sty
@@ -21,7 +21,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{hypdvips}
- [2008/09/02 v1.02
+ [2008/09/15 v1.03
Hyperref extensions for use with dvips]
\RequirePackage{hyperref}
\newif\ifpp@dvips
@@ -127,11 +127,11 @@
\def\pp@br@documentstring{(document)}
\ifx\backrefxxx\hyper@section@backref
\@ifpackageloaded{cleveref}
- {\def\pp@backrefformat{\\\tiny\textbf{Referenced\ in: }\sc}}
- {\def\pp@backrefformat{\\\footnotesize\textbf{Referenced\ in: }}}
+ {\def\pp@backrefformat{\setlength{\pp@offset}{\baselineskip}\\\tiny\textbf{Referenced\ in: }\sc\setlength{\baselineskip}{\pp@offset}}}
+ {\def\pp@backrefformat{\setlength{\pp@offset}{\baselineskip}\\\footnotesize\textbf{Referenced\ in: }\setlength{\baselineskip}{\pp@offset}}}
\fi
\ifx\backrefxxx\hyper@page@backref
- \def\pp@backrefformat{\\\footnotesize\textbf{Referenced\ on\ page: }}
+ \def\pp@backrefformat{\setlength{\pp@offset}{\baselineskip}\\\footnotesize\textbf{Referenced\ on\ page: }\setlength{\baselineskip}{\pp@offset}}
\fi
\@ifpackageloaded{cleveref}
{
@@ -178,11 +178,11 @@
\def\pp@br@documentstring{(Dokument)}
\ifx\backrefxxx\hyper@section@backref
\@ifpackageloaded{cleveref}
- {\def\pp@backrefformat{\\\tiny\textbf{Verwiesen\ in: }\sc}}
- {\def\pp@backrefformat{\\\footnotesize\textbf{Verwiesen\ in: }}}
+ {\def\pp@backrefformat{\setlength{\pp@offset}{\baselineskip}\\\tiny\textbf{Verwiesen\ in: }\sc\setlength{\baselineskip}{\pp@offset}}}
+ {\def\pp@backrefformat{\setlength{\pp@offset}{\baselineskip}\\\footnotesize\textbf{Verwiesen\ in: }\setlength{\baselineskip}{\pp@offset}}}
\fi
\ifx\backrefxxx\hyper@page@backref
- \def\pp@backrefformat{\\\footnotesize\textbf{Verwiesen\ auf\ Seite: }}
+ \def\pp@backrefformat{\setlength{\pp@offset}{\baselineskip}\\\footnotesize\textbf{Verwiesen\ auf\ Seite: }\setlength{\baselineskip}{\pp@offset}}
\fi
\@ifpackageloaded{cleveref}
{
@@ -300,26 +300,35 @@
\define@key[pp]{options}{#1}[]{\ifpp@languageset\else\csname pp@language@#1\endcsname\typeout{language = #1}\fi}
}
+\newcommand{\pp@obsoleteoption}[1]{% arguments: {optionname}
+ \define@key[pp]{options}{#1}[true]{\PackageWarning{hypdvips}{Obsolete package option `#1 = ##1' discarded.\MessageBreak}}
+}
+
\newcommand{\pp@SpecialPS}[1]{\special{" #1}}
\newcommand{\pp@HeaderPS}[1]{\special{! #1}}
\newcommand{\pp@SDictPS}[1]{\special{ps:SDict begin #1 end}}
\newcommand{\pp@SkipOnErrorPS}[1]{\special{ps:SDict begin pp.readerror not {#1} if end}}
\pp@booloption[false]{autoauthor}
-\pp@booloption[true]{autocrop}
+\pp@obsoleteoption{autocrop}
\pp@booloption[false]{autotitle}
\pp@booloption[true]{detailedpagebr}
\pp@booloption[false]{evenboxes}
\pp@booloption[true]{fish}
+\pp@booloption[false]{flip}
\pp@booloption[false]{fullbookmarks}
+\pp@booloption[true]{hypertnotes}
\pp@booloption[true]{javascript}
+\pp@booloption[false]{landscape}
\pp@booloption[false]{loabr}
\pp@booloption[false]{lofbr}
\pp@booloption[false]{lotbr}
\pp@booloption[false]{mac}
+\pp@booloption[false]{mirror}
\pp@booloption[true]{openmessage}
\pp@booloption[true]{quadpoints}
\pp@booloption[false]{showdests}
+\pp@booloption[true]{smallfootnotes}
\pp@booloption[false]{tocbr}
\pp@booloption[false]{twoside}
\pp@languageoption{german}
@@ -330,20 +339,24 @@
\presetkeys[pp]{options}{}
{
autoauthor=false,
- autocrop=true,
autotitle=false,
detailedpagebr=true,
evenboxes=false,
fish=true,
+ flip=false,
fullbookmarks=false,
+ hypertnotes=true,
javascript=true,
+ landscape=false,
loabr=false,
lofbr=false,
lotbr=false,
mac=false,
+ mirror=false,
openmessage=true,
quadpoints=true,
showdests=false,
+ smallfootnotes=true,
tocbr=false,
twoside=false
}
@@ -368,15 +381,11 @@
\pp@HeaderPS{true setglobal SDict /pp.showdests true put false setglobal}
\fi
-
\newlength{\pp@offset}
\newsavebox{\pp@textbox}
\def\pp@ABC{[(0123456789)]The quick brown fox jumps over the lazy dog!$^0$}
-\newlength{\pp@paperwidth}
-\newlength{\pp@paperheight}
-\setlength{\pp@paperwidth}{\paperwidth}
-\setlength{\pp@paperheight}{\paperheight}
+\special{papersize=\the\paperwidth,\the\paperheight}
\pp@HeaderPS{
true setglobal
@@ -392,6 +401,40 @@
SDict /pp.64bit pp.intwidth 64 ge put
SDict /pp.maxint 1 pp.intwidth 1 sub bitshift not put
SDict /pp.minint 1 pp.intwidth 1 sub bitshift put
+ userdict /bop-hook
+ {
+ mark /CropBox [0 0 hsize vsize] /PAGE pdfmark
+ \ifpp@landscape
+ [0 1 -1 0 hsize 0] concat
+ \ifpp@flip
+ [-1 0 0 1 vsize 0] concat
+ \fi
+ \ifpp@mirror
+ [1 0 0 -1 0 hsize] concat
+ \fi
+ \else
+ \ifpp@flip
+ [1 0 0 -1 0 vsize] concat
+ \fi
+ \ifpp@mirror
+ [-1 0 0 1 hsize 0] concat
+ \fi
+ \fi
+ } put
+ /H.V
+ {
+ \ifpp@mirror
+ hsize pdf@hoff sub
+ \else
+ pdf@hoff
+ \fi
+ \ifpp@flip
+ vsize pdf@voff sub
+ \else
+ pdf@voff
+ \fi
+ null
+ } def
/pp.openmsg
(
if \string\(app.viewerVersion < 7\string\)
@@ -719,13 +762,46 @@
copy pop
exch 1 index exch 1 index length 1 sub exch put
} def
- /pp.appendef % arguments: obj_efnametree, any
+ /pp.embedfile % arguments: mark, /Name, UnicodeName, /FS, mark, obj_Filespec, Filespec
+ {
+ exch pop exch pop /EMBED pdfmark
+ } def
+ /pp.appendef {pop pop} def
+ /pp.putefnametree {} def
+%
+% substitute for /EMBED-pdfmark:
+%
+ /pp.subst.embedfile % arguments: mark, /Name, UnicodeName, /FS, mark, obj_Filespec, Filespec
{
- mark 3 1 roll /APPEND pdfmark
+ /PUT pdfmark
+ cleartomark
+ } def
+ /pp.subst.appendef % arguments: obj_Filespec, UnicodeName
+ {
+ pp.globaldict /pp.efnametree get
+ exch pp.append exch pp.append
+ pp.globaldict exch /pp.efnametree exch put
+ } def
+ /pp.subst.putefnametree
+ {
+ mark
+ {Catalog}
+ <<
+ /Names
+ <<
+ /EmbeddedFiles
+ <<
+ /Names pp.globaldict /pp.efnametree get
+ >>
+ >>
+ >>
+ /PUT pdfmark
} def
- /pp.putefnametree
+ /pp.substEMBEDpdfmark
{
- mark {EmbeddedFilesDictionary} << /Names {EmbeddedFilesNameTree} >> /PUT pdfmark
+ /pp.embedfile {pp.subst.embedfile} def
+ /pp.appendef {pp.subst.appendef} def
+ /pp.putefnametree {pp.subst.putefnametree} def
} def
/pp.strippt % arguments: string
{
@@ -738,6 +814,12 @@
{
gsave
initmatrix
+ \ifpp@flip
+ 0 vsize translate 1 -1 scale
+ \fi
+ \ifpp@mirror
+ hsize 0 translate -1 1 scale
+ \fi
currentpoint exch pop
add def
currentpoint pop
@@ -984,12 +1066,11 @@
SDict /pp.quadpoints known
{
pp.addtoquadpoints
- dup 2 pp.outerbox 0 get HyperBorder sub 100 sub put
- dup dup 1 get pp.outerbox 3 get HyperBorder 2 mul add sub 100 sub 3 exch put
- dup 0 pp.outerbox 2 get HyperBorder add 100 add put
- dup 1 pp.currentrect 1 get 100 add put
- /QuadPoints pp.qp
- pp.DvipsArrayToPDF
+ dup 2 pp.outerbox 0 get HyperBorder sub 1 PDFToDvips sub put
+ dup dup 1 get pp.outerbox 3 get HyperBorder 2 mul add sub 1 PDFToDvips sub 3 exch put
+ dup 0 pp.outerbox 2 get HyperBorder add 1 PDFToDvips add put
+ dup 1 pp.currentrect 1 get 1 PDFToDvips add put
+ /QuadPoints pp.qp pp.DvipsArrayToPDF
}
{
pp.writebrokenlink
@@ -1537,7 +1618,14 @@
ifelse
{
true 1 index {0 ne and} forall
- {cvn}
+ {
+ dup 0 get 47 eq % /
+ {
+ 1 1 index length 1 sub getinterval
+ }
+ if
+ cvn
+ }
if
}
if
@@ -1660,6 +1748,14 @@
{
dup pp.fidict exch known {dup pp.fidict exch get} {pop} ifelse
} def
+ /pp.fliprect
+ {
+ [ exch {} forall 3 1 roll exch]
+ } def
+ /pp.mirrorrect
+ {
+ [ exch {} forall 4 -2 roll 3 1 roll exch]
+ } def
/pp.BPEPmatrix
{
initmatrix
@@ -1667,7 +1763,7 @@
pp.sysinfo
/pdfmark where
{
- /pp.backup.pdfmark exch /pdfmark get def
+ /pdfmark get /pp.backup.pdfmark exch def
}
{
/pp.backup.pdfmark {cleartomark} def
@@ -1680,8 +1776,7 @@
/BorderArrayPatch {} def % interprets the values as default user space
version (3010) eq
{
- /pp.appendef {pp.globaldict /pp.efnametree get exch pp.append pp.globaldict exch /pp.efnametree exch put pop} def % substitute for /APPEND-pdfmark
- /pp.putefnametree {mark {EmbeddedFilesDictionary} << /Names pp.globaldict /pp.efnametree get >> /PUT pdfmark} def % substitute for /EMBED-pdfmark
+ pp.substEMBEDpdfmark
/pp.BPEPmatrix {} def % uses CTM in /BP- & /EP-pdfmarks
}
if
@@ -1690,6 +1785,7 @@
product (AFPL Ghostscript) eq
product (GPL Ghostscript) eq or
{
+ pp.substEMBEDpdfmark
/BorderArrayPatch
{
[ exch
@@ -1715,17 +1811,15 @@
} def
}
if
- <<
+ <<
/DeferredMediaSelection true
- /PageSize [\strip@pt\pp@paperwidth\space pp.BPToPDF \strip@pt\pp@paperheight\space pp.BPToPDF]
+ /PageSize [\strip@pt\paperwidth\space pp.BPToPDF \strip@pt\paperheight\space pp.BPToPDF]
/ImagingBBox null
\ifpp@twoside
/Duplex true
\fi
- >> setpagedevice
- \ifpp@autocrop
- mark /CropBox [0 0 \strip@pt\pp@paperwidth\space pp.BPToPDF \strip@pt\pp@paperheight\space pp.BPToPDF] /PAGES pdfmark
- \fi
+ >>
+ setpagedevice
userdict /end-hook
{
TeXDict
@@ -1853,10 +1947,10 @@
\global\advance\csname c@\@captype\endcsname\m@ne
}
-\newif\ifpp@activerect
-\pp@activerectfalse
+\let\pp@backup@pdf@rect\pdf@rect
+\def\pp@activerect{false}
\def\pdf@rect#1{%
- \pp@activerecttrue%
+ \def\pp@activerect{true}%
\leavevmode%
\ifHy@breaklinks%
\Hy@setouterhbox\pdf@box{#1}%
@@ -1873,9 +1967,9 @@
\sbox\pp@textbox{#1}%
\fi%
\ifodd\value{page}%
- \def\pp@sidemargin{\the\oddsidemargin}%
+ \gdef\pp@sidemargin{\the\oddsidemargin}%
\else%
- \def\pp@sidemargin{\the\evensidemargin}%
+ \gdef\pp@sidemargin{\the\evensidemargin}%
\fi%
\pp@SDictPS{
/pp.outerbox
@@ -1914,7 +2008,7 @@
\else%
\pdf@addtoksx{H.B}%
\fi%
- \pp@activerectfalse%
+ \def\pp@activerect{false}%
}
\def\pdfmark@[#1]#2{%
@@ -1929,7 +2023,7 @@
\Hy@WarningNoLine{no pdfmark type specified in #2!!}%
\ifx\\#1\\%
\else%
- \ifpp@activerect%
+ \ifx\pp@activerect\pp@true%
\PackageWarning{hypdvips}{Nested link discarded: dest = `\Hy@pstringDest'\MessageBreak}%
\else%
\pdf@rect{#1}%
@@ -1939,7 +2033,7 @@
\ifx\\#1\\%
\literalps@out{[\the\pdf@toks\space\pdf@type\space pdfmark}%
\else%
- \ifpp@activerect%
+ \ifx\pp@activerect\pp@true%
\PackageWarning{hypdvips}{Nested link discarded: dest = `\Hy@pstringDest'\MessageBreak}%
#1%
\else%
@@ -1963,6 +2057,41 @@
\edef\@footnotecolor{\@linkcolor}
\edef\@footnotebordercolor{\@linkbordercolor}
\ifHy@hyperfootnotes
+ \newcommand{\pp@hyperfootnote}{%
+ \ifx\pp@activerect\pp@true%
+ \@makefnmark%
+ \else%
+ \ifpp@smallfootnotes%
+ \let\pp@backup@@thefnmark\@thefnmark%
+ \renewcommand{\@thefnmark}{\pdf@rect{\pp@backup@@thefnmark}}%
+ \Hy@colorlink\@footnotecolor%
+ \@makefnmark%
+ \Hy@endcolorlink%
+ \pdfmark{%
+ pdfmark=/ANN,%
+ linktype=footnote,%
+ Subtype=/Link,%
+ AcroHighlight=\@pdfhighlight,%
+ Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
+ Color=\@footnotebordercolor,%
+ Dest=\Hy@footnote@currentHref,%
+ Raw=H.B%
+ }%
+ \else%
+ \pdfmark[\@makefnmark]{%
+ pdfmark=/ANN,%
+ linktype=footnote,%
+ Subtype=/Link,%
+ AcroHighlight=\@pdfhighlight,%
+ Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
+ Color=\@footnotebordercolor,%
+ Dest=\Hy@footnote@currentHref%
+ }%
+ \fi%
+ \fi%
+ }
\def\@footnotemark{%
\leavevmode
\ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
@@ -1977,21 +2106,11 @@
\ifHy@draft%
\@makefnmark%
\else%
- \pdfmark[\@makefnmark]{%
- pdfmark=/ANN,%
- linktype=footnote,%
- Subtype=/Link,%
- AcroHighlight=\@pdfhighlight,%
- Border=\@pdfborder,%
- BorderStyle=\@pdfborderstyle,%
- Color=\@footnotebordercolor,%
- View={/\@pdfview \@pdfviewparams},%
- Dest=\Hy@footnote@currentHref,%
- }%
+ \pp@hyperfootnote%
\fi%
\ifhmode\spacefactor\@x@sf\fi
\relax
- }%
+ }
\fi
\let\pp@backup@H@@footnotetext\H@@footnotetext
@@ -2390,6 +2509,12 @@
/_objdef {\pp@FID_caption}
/BBox pp.bbox
/BP pdfmark
+ \ifpp@flip
+ 0 pp.bbox 3 get pp.bbox 1 get add translate 1 -1 scale
+ \fi
+ \ifpp@mirror
+ pp.bbox 2 get pp.bbox 0 get add 0 translate -1 1 scale
+ \fi
72 Resolution div 72 VResolution div neg scale
pp.bboriginx neg pp.bboriginy neg translate
}%
@@ -2451,11 +2576,20 @@
\pp@SpecialPS{
SDict /pp.readerror get not
{
- \@ifundefined{pp@fa@rect}{}{initmatrix}
+ \@ifundefined{pp@fa@rect}{}
+ {
+ initmatrix
+ \ifpp@flip
+ 0 vsize translate 1 -1 scale
+ \fi
+ \ifpp@mirror
+ hsize 0 translate -1 1 scale
+ \fi
+ }
mark
/Type /Annot
/Subtype /FileAttachment
- /Rect pp.attachmentrect
+ /Rect pp.attachmentrect \ifpp@mirror pp.mirrorrect \fi\ifpp@flip pp.fliprect \fi
\@ifundefined{pp@fa@contents}{}{/Contents (\pp@fa@contents)}
/NM (Attachment \pp@FID)
\@ifundefined{pp@fa@moddate}{/M pp.latextime}{/M (\pp@fa@moddate) dup () eq {pop pop} if}
@@ -2491,31 +2625,23 @@
\else%
\@ifundefined{pp@fa@rect}%
{%
- \pp@SDictPS{/pp.xann 0 /pp.yann \@ifundefined{pp@fa@caption}{\f@size}{\strip@pt\ht\pp@textbox}\space pp.BPToPDF pp.savecurrentpoint}%
- \pdfmark{%
- pdfmark=/DEST,%
- linktype=anchor,%
- View={/FitH pp.yann 5 add},%
- Dest={attachment.\pp@FID}%
- }%
+ \pp@SDictPS{
+ /pdf@hoff pp.attachmentrect 2 get 5 add neg
+ /pdf@voff pp.attachmentrect 3 get 5 add
+ pp.savecurrentpoint}%
}%
{%
\pp@SDictPS{
- pp.attachmentrect 4 array copy pp.PDFArrayToDvips
- /pdf@llx 1 index 0 get def
- /pdf@lly 1 index 1 get def
- /pdf@urx 1 index 2 get def
- /pdf@ury exch 3 get def
/pdf@hoff pp.attachmentrect 0 get 5 sub def
/pdf@voff pp.attachmentrect 3 get 5 add def
}%
- \pdfmark{%
- pdfmark=/DEST,%
- linktype=anchor,%
- View={/\@pdfview \@pdfviewparams},%
- Dest={attachment.\pp@FID}%
- }%
}%
+ \pdfmark{%
+ pdfmark=/DEST,%
+ linktype=anchor,%
+ View={/\@pdfview \@pdfviewparams},%
+ Dest={attachment.\pp@FID}%
+ }%
\fi%
\pp@SDictPS{currentdict /pp.fidict undef}%
\addtocontents{loa}{\protect\contentsline{\pp@fa}{\protect\numberline{\pp@FID}\protect\loaformat{\pp@FID}{\pp@fa}{#2}{#1}}{\thepage}{attachment.\pp@FID}}%
@@ -2607,6 +2733,7 @@
\pp@SDictPS{currentdict /pp.fidict undef}%
\pp@SkipOnErrorPS{mark /_objdef {\pp@FID_filespec} /type /dict /OBJ pdfmark}%
\pp@SkipOnErrorPS{
+ mark /Name (Attachment \pp@FID) /FS
mark {\pp@FID_filespec}
<<
/Type /Filespec
@@ -2619,19 +2746,9 @@
/UF {\pp@FID_data}
>>
>>
- /PUT pdfmark}%
- \pp@SDictPS{mark /_objdef {EmbeddedFilesNameTree} /type /array /OBJ pdfmark}%
- \pp@SDictPS{
- true setglobal
- {EmbeddedFilesNameTree} (Attachment \pp@FID) pp.appendef
- {EmbeddedFilesNameTree} {\pp@FID_filespec} pp.appendef
- false setglobal
- }%
- \pp@SkipOnErrorPS{mark /_objdef {EmbeddedFilesDictionary} /type /dict /OBJ pdfmark}%
+ pp.embedfile}%
+ \pp@SDictPS{true setglobal {\pp@FID_filespec} (Attachment \pp@FID) pp.appendef false setglobal}%
\pp@SkipOnErrorPS{pp.putefnametree}%
- \pp@SkipOnErrorPS{mark /_objdef {DocumentsNameDictionary} /type /dict /OBJ pdfmark}%
- \pp@SkipOnErrorPS{mark {DocumentsNameDictionary} << /EmbeddedFiles {EmbeddedFilesDictionary} >> /PUT pdfmark}%
- \pp@SkipOnErrorPS{mark {Catalog} << /Names {DocumentsNameDictionary} >> /PUT pdfmark}%
\fi%
\addtocontents{loa}{\protect\contentsline{\pp@ef}{\protect\numberline{\pp@FID}\protect\loaformat{\pp@FID}{\pp@ef}{#2}{#1}}{-}{}}%
\addtocounter{pp@AttachmentID}{1}%
@@ -2714,7 +2831,6 @@
\pp@backup@ps@empty%
}
-
\AtEndDocument{%
\@ifundefined{pp@openaction}%
{
@@ -2779,7 +2895,7 @@
\else%
\ifHy@backref%
\setlength{\pp@offset}{\the\baselineskip}%
- \pp@SDictPS{/pdf@hoff 0 /pdf@voff \strip@pt\pp@offset\space pp.BPToPDF pp.savecurrentpoint}%
+ \pp@SDictPS{/pdf@hoff -2 /pdf@voff \strip@pt\pp@offset\space pp.BPToPDF pp.savecurrentpoint}%
\pp@SDictPS{mark /Dest (backref.\arabic{pp@backrefID}) cvn /View [/\@pdfview \@pdfviewparams] /DEST pdfmark}%
\else%
\fi%
@@ -2811,7 +2927,7 @@
BorderStyle=\@pdfborderstyle,%
Color=\@backrefbordercolor,%
View={/\@pdfview \@pdfviewparams},%
- Dest={#3},%
+ Dest={#3}%
}%
\fi%
}
@@ -2833,7 +2949,7 @@
BorderStyle=\@pdfborderstyle,%
Color=\@backrefbordercolor,%
View={/\@pdfview \@pdfviewparams},%
- Dest={#3},%
+ Dest={#3}%
}%
\fi%
}
@@ -2857,7 +2973,7 @@
BorderStyle=\@pdfborderstyle,%
Color=\@backrefbordercolor,%
View={/\@pdfview \@pdfviewparams},%
- Dest={page.#1},%
+ Dest={page.#1}%
}%
\fi%
}
@@ -2954,8 +3070,8 @@
\define@key[pp]{goto}{dest}{\pp@PSenc\pp@go@destination{#1}}
\define@key[pp]{goto}{filename}{\ifnum\c@pp@id<1\pp@PSenc\pp@go@filename{#1}\else\PackageWarning{hypdvips}{Option `filename' cannot be used with option `id'.\MessageBreak Option `filename' discarded.\MessageBreak}\fi}
\define@key[pp]{goto}{id}[]{\@ifundefined{pp@go@filename}{\setcounter{pp@id}{#1}\ifnum\c@pp@id=0\PackageWarning{hypdvips}{Illegal attachment ID `#1' discarded.\MessageBreak}\fi}{\PackageWarning{hypdvips}{Option `id' cannot be used with option `filename'.\MessageBreak Option `id' discarded.\MessageBreak}}}
-\define@key[pp]{goto}{target}{\def\pp@go@target{#1}}
\define@boolkey[pp]{goto}[pp@]{newwindow}[true]{\ifx#1\@empty\else\lowercase{\def\pp@go@newwindow{#1}}\fi}
+\define@key[pp]{goto}{target}{\def\pp@go@target{#1}}
\presetkeys[pp]{goto}{}{dest={[0 /Fit]}}
\newcommand{\pp@goto}[2][]{% arguments: [options]{text}
\ifHy@draft%
@@ -3315,6 +3431,75 @@
}%
}
+\edef\@tablenotecolor{\@linkcolor}
+\edef\@tablenotebordercolor{\@linkbordercolor}
+\@ifpackageloaded{threeparttable}{
+\ifHy@draft
+\else
+ \ifpp@hypertnotes
+ \newcommand{\pp@tnotedest}[1]{%
+ \def\pp@string{#1}%
+ \@onelevel@sanitize\pp@string%
+ \pdfmark{%
+ pdfmark=/DEST,%
+ linktype=anchor,%
+ View={/\@pdfview \@pdfviewparams},%
+ Dest={table.\@currentHlabel.note: "\pp@string"}%
+ }%
+ }%
+ \renewcommand{\tnote}[1]{%
+ \protect\TPToverlap{\textsuperscript{%
+ \def\pp@string{tablenotes}%
+ \ifx\@currenvir\pp@string%
+ \TPTtagStyle{#1}%
+ \else%
+ \def\pp@string{#1}%
+ \@onelevel@sanitize\pp@string%
+ \pdfmark[\TPTtagStyle{#1}]{%
+ pdfmark=/ANN,%
+ linktype=tablenote,%
+ Subtype=/Link,%
+ AcroHighlight=\@pdfhighlight,%
+ Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
+ Color=\@tablenotebordercolor,%
+ View={/\@pdfview \@pdfviewparams},%
+ Dest={table.\@currentHlabel.note: "\pp@string"}%
+ }%
+ \fi}}%
+ }
+ \g@addto@macro{\TPTdoTablenotes}{%
+ \let\pp@backup@item\item%
+ \renewcommand\item[1][]{%
+ \par%
+ \pp@SDictPS{/pdf@hoff -2 /pdf@voff 2 pp.savecurrentpoint}%
+ \pp@tnotedest{#1}%
+ \pp@backup@item[#1]%
+ }%
+ }
+ \def\TPT@doparanotes{\par
+ \prevdepth\z@ \TPT@hsize
+ \TPTnoteSettings
+ \parindent\z@ \pretolerance 8
+ \linepenalty 200
+ \renewcommand\item[1][]{\relax\ifhmode \begingroup
+ \unskip
+ \advance\hsize 10em % \hsize is scratch register, based on real hsize
+ \penalty -45 \hskip\z@\@plus\hsize \penalty-19
+ \hskip .15\hsize \penalty 9999 \hskip-.15\hsize
+ \hskip .01\hsize\@plus-\hsize\@minus.01\hsize
+ \hskip 1em\@plus .3em
+ \endgroup\fi
+ \hskip0pt%
+ \pp@SDictPS{/pdf@hoff -2 /pdf@voff \f@size\space 3 add pp.savecurrentpoint}%
+ \pp@tnotedest{##1}%
+ \tnote{##1}\,\ignorespaces}%
+ \let\TPToverlap\relax
+ \def\endtablenotes{\par}%
+ }
+ \fi
+\fi
+}{}
%%
%% Exported commands:
%%
@@ -3337,6 +3522,8 @@
\providecommand{\openaction}[1]{\def\pp@openaction{#1}}% arguments: {action}
\providecommand{\pagelabel}[2][]{\pp@pagelabel[#1]{#2}}% {pagenumber}{pagelabel}
\providecommand{\runattachment}[2]{\pp@runattachment{#1}{#2}}% arguments: {attachment_id}{text}
+ \providecommand{\tablenotebordercolor}[1]{\gdef\@tablenotebordercolor{#1}}% arguments: {R G B}
+ \providecommand{\tablenotecolor}[1]{\gdef\@tablenotecolor{#1}}% arguments: {color}
\else
\@ifundefined{pdfmark}{\newcommand{\pdfmark}[2][]{#1}}{}
\def\@pdfview{Fit}