diff options
author | Karl Berry <karl@freefriends.org> | 2008-09-16 17:56:46 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-09-16 17:56:46 +0000 |
commit | 15a509f0627543bda1158db0a69cf522d922a0f2 (patch) | |
tree | f78661eeefd2e22e0c91fd4a82f490bbbfd4efe4 /Master | |
parent | b902e36d1fee9dce93081846d15b7666c09c2b13 (diff) |
hypdvips 1.03 (15sep08)
git-svn-id: svn://tug.org/texlive/trunk@10612 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
16 files changed, 291 insertions, 99 deletions
diff --git a/Master/texmf-dist/doc/latex/hypdvips/README b/Master/texmf-dist/doc/latex/hypdvips/README index dcd1bd386f3..854dac7b7a6 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/README +++ b/Master/texmf-dist/doc/latex/hypdvips/README @@ -1,18 +1,23 @@ -LaTeX package hypdvips 2008/09/02 v1.02 +LaTeX package hypdvips 2008/09/15 v1.03 -The hypdvips package fixes some problems when using hyperref with dvips. It -also adds support for breaking links, file attachments, embedded documents and -different types of GoTo-links. The cooperation of hyperref with cleveref is -improved, which in addition allows an enhanced back-referencing system. +The hypdvips package fixes some problems when using hyperref with dvips. It +also adds support for breaking links, hyperlinked tablenotes, file attachments, +embedded documents and different types of GoTo-links. The cooperation of +hyperref with cleveref is improved, which in addition allows an enhanced back- +referencing system. History: +v1.03 - new package options: `flip' & `mirror' + - support for package threeparttable: tablenotes are now hyperlinked + - fixes corrupted /Names entry in {Catalog} when embedding files + v1.02 - better support for broken links (should now work in tables too) - fixes \bmstyle command -v1.01 - uses xcolor package to achieve better print quality when hyperref +v1.01 - uses xcolor package to achieve better print quality when hyperref option `colorlinks' is used - - patches bookmark package to work with jobnames which start with a + - patches bookmark package to work with jobnames which start with a parenthesis `(' - corrected some minor typos in the documentation diff --git a/Master/texmf-dist/doc/latex/hypdvips/hypdvips.pdf b/Master/texmf-dist/doc/latex/hypdvips/hypdvips.pdf Binary files differindex b172fc89bef..6d35b6bdd4e 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/hypdvips.pdf +++ b/Master/texmf-dist/doc/latex/hypdvips/hypdvips.pdf diff --git a/Master/texmf-dist/doc/latex/hypdvips/images/ex1.eps b/Master/texmf-dist/doc/latex/hypdvips/images/ex1.eps Binary files differindex 64fc560fa8f..0292d0da571 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/images/ex1.eps +++ b/Master/texmf-dist/doc/latex/hypdvips/images/ex1.eps diff --git a/Master/texmf-dist/doc/latex/hypdvips/images/ex2.eps b/Master/texmf-dist/doc/latex/hypdvips/images/ex2.eps Binary files differindex 9e4bdc04387..ef50a59141d 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/images/ex2.eps +++ b/Master/texmf-dist/doc/latex/hypdvips/images/ex2.eps diff --git a/Master/texmf-dist/doc/latex/hypdvips/images/ex3.eps b/Master/texmf-dist/doc/latex/hypdvips/images/ex3.eps Binary files differindex ff94ae01314..538ec0508f9 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/images/ex3.eps +++ b/Master/texmf-dist/doc/latex/hypdvips/images/ex3.eps diff --git a/Master/texmf-dist/doc/latex/hypdvips/images/ex4.eps b/Master/texmf-dist/doc/latex/hypdvips/images/ex4.eps Binary files differindex 781c718a3d6..dcba41e4642 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/images/ex4.eps +++ b/Master/texmf-dist/doc/latex/hypdvips/images/ex4.eps diff --git a/Master/texmf-dist/doc/latex/hypdvips/images/ex5.eps b/Master/texmf-dist/doc/latex/hypdvips/images/ex5.eps Binary files differindex ce42b347e9a..13e41c1601a 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/images/ex5.eps +++ b/Master/texmf-dist/doc/latex/hypdvips/images/ex5.eps diff --git a/Master/texmf-dist/doc/latex/hypdvips/images/ex6.eps b/Master/texmf-dist/doc/latex/hypdvips/images/ex6.eps Binary files differindex 3394d69e7ad..c44d83cb7ab 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/images/ex6.eps +++ b/Master/texmf-dist/doc/latex/hypdvips/images/ex6.eps diff --git a/Master/texmf-dist/doc/latex/hypdvips/images/ex7.eps b/Master/texmf-dist/doc/latex/hypdvips/images/ex7.eps Binary files differindex e16e4becdb3..a513d0c1098 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/images/ex7.eps +++ b/Master/texmf-dist/doc/latex/hypdvips/images/ex7.eps diff --git a/Master/texmf-dist/doc/latex/hypdvips/images/graph.eps b/Master/texmf-dist/doc/latex/hypdvips/images/graph.eps Binary files differindex 14b1b8cd74c..d9741025386 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/images/graph.eps +++ b/Master/texmf-dist/doc/latex/hypdvips/images/graph.eps diff --git a/Master/texmf-dist/doc/latex/hypdvips/images/ids.eps b/Master/texmf-dist/doc/latex/hypdvips/images/ids.eps Binary files differindex f765b3d7440..db3c4d58125 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/images/ids.eps +++ b/Master/texmf-dist/doc/latex/hypdvips/images/ids.eps diff --git a/Master/texmf-dist/doc/latex/hypdvips/images/openmsg_six.eps b/Master/texmf-dist/doc/latex/hypdvips/images/openmsg_six.eps Binary files differindex 3b3ff85f1a4..8e52a6bf6ff 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/images/openmsg_six.eps +++ b/Master/texmf-dist/doc/latex/hypdvips/images/openmsg_six.eps diff --git a/Master/texmf-dist/doc/latex/hypdvips/images/paperclip.eps b/Master/texmf-dist/doc/latex/hypdvips/images/paperclip.eps Binary files differindex 57e55cf24fc..f5292628131 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/images/paperclip.eps +++ b/Master/texmf-dist/doc/latex/hypdvips/images/paperclip.eps diff --git a/Master/texmf-dist/doc/latex/hypdvips/images/pushpin.eps b/Master/texmf-dist/doc/latex/hypdvips/images/pushpin.eps Binary files differindex 5bc011c1338..a5deb04451a 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/images/pushpin.eps +++ b/Master/texmf-dist/doc/latex/hypdvips/images/pushpin.eps diff --git a/Master/texmf-dist/doc/latex/hypdvips/images/tag.eps b/Master/texmf-dist/doc/latex/hypdvips/images/tag.eps Binary files differindex f12ebea4632..72f28af8096 100644 --- a/Master/texmf-dist/doc/latex/hypdvips/images/tag.eps +++ b/Master/texmf-dist/doc/latex/hypdvips/images/tag.eps 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} |