summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorManuel Pégourié-Gonnard <mpg@elzevir.fr>2011-08-03 13:02:30 +0000
committerManuel Pégourié-Gonnard <mpg@elzevir.fr>2011-08-03 13:02:30 +0000
commitb9f872020f9b231de20afe30533a2c8b8c8dff29 (patch)
tree5d5a042cc4428e5e9bc7249609d3284bf5bbfd28 /Master/texmf-dist/tex
parent92e1d6315731a79592eb36c89a0970f730e338d2 (diff)
hypdvips 2011/06/07 v2.03
git-svn-id: svn://tug.org/texlive/trunk@23377 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/hypdvips/hypdvips.sty300
1 files changed, 199 insertions, 101 deletions
diff --git a/Master/texmf-dist/tex/latex/hypdvips/hypdvips.sty b/Master/texmf-dist/tex/latex/hypdvips/hypdvips.sty
index 8268b54b4d8..639b103d259 100644
--- a/Master/texmf-dist/tex/latex/hypdvips/hypdvips.sty
+++ b/Master/texmf-dist/tex/latex/hypdvips/hypdvips.sty
@@ -1,10 +1,10 @@
%%
%% This is file `hypdvips.sty',
-%% Copyright 2008-2010 Raimund Niedrist
+%% Copyright 2008-2011 Raimund Niedrist
%%
%% With portions written by Donald Arsenau, David Carlisle, Steven
%% Douglas Cochran, Toby Cubitt, Geoffrey Keating, Heiko Oberdiek,
-%% Sebastian Rahtz, and the Latex3 Project 1986-2010
+%% Sebastian Rahtz, and the Latex3 Project 1986-2011
%%
%% This work may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3 of this
@@ -22,7 +22,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{hypdvips}
- [2010/09/08 v2.02
+ [2011/06/07 v2.03
Hyperref extensions for use with dvips]
\@ifpackageloaded{hyperref}
{
@@ -98,7 +98,7 @@
\newlength{\pp@linewidth}
\newcommand{\pp@drawcurrentpoint}[1]{%
\setlength{\pp@linewidth}{#1}%
- \pp@SDictPS{1 0 0 \strip@pt\pp@linewidth\space pp.BPToPDF pp.drawcurrentpoint}%
+ \pp@SDictPS{1 0 0 \strip@pt\pp@linewidth\space pp.ptToBP pp.drawcurrentpoint}%
}
\providecommand{\point}{\pp@drawcurrentpoint{1mm}}
\providecommand{\currentpoint}[1]{\pp@drawcurrentpoint{#1}}% arguments: {linewidth}
@@ -182,6 +182,7 @@
}
\pp@TeXcatcodes
\def\pp@language@english{%
+ \def\@pdflang{en}
\pp@pdfstrings@english
\def\pp@loastring{List of File Attachments}
\def\pp@optionsstring{\\\tiny\textbf{Options: }\sc}
@@ -230,6 +231,7 @@
\pp@languagesettrue
}
\def\pp@language@german{%
+ \def\@pdflang{de}
\pp@pdfstrings@german
\def\pp@loastring{Dateianlagenverzeichnis}
\def\pp@optionsstring{\\\tiny\textbf{Optionen: }\sc}
@@ -429,7 +431,7 @@
\pp@PScatcodes
\pp@HeaderPS{
true setglobal
- /pp.globaldict 5 dict def
+ /pp.globaldict 8 dict def
pp.globaldict /pp.gsborderwarning true put
pp.globaldict /pp.starttime realtime put
pp.globaldict /pp.warncount 0 put
@@ -1000,8 +1002,10 @@
repeat
exch pop
} def
+ /pp.tracing false def
/pp.enabletracing
{
+ SDict /pp.tracing true put
SDict /pp.leftboundary undef
SDict /pp.rightboundary undef
/a where
@@ -1035,8 +1039,79 @@
/pp.disabletracing
{
/a where {/a {moveto} put} if
+ /x where {/x {0 exch rmoveto} put} if
SDict /pp.leftboundary known {pp.outerbox 0 pp.leftboundary put} if
SDict /pp.rightboundary known {pp.outerbox 2 pp.rightboundary put} if
+ SDict /pp.tracing false put
+ } def
+ /pp.continuetracing
+ {
+ /pp.toks pp.globaldict /pp.brokenlinktoks get def
+ /pp.outerbox pp.globaldict /pp.brokenlinkrect get def
+ /pp.baselineskip pp.globaldict /pp.brokenlinkskip get def
+ pp.globaldict dup dup /pp.brokenlinktoks undef /pp.brokenlinkskip undef /pp.brokenlinkrect undef
+ currentpoint /pp.originy exch def /pp.originx exch def
+ /a where
+ {
+ /a
+ {
+ moveto
+ SDict
+ begin
+ currentpoint pp.originy ne exch pp.originx ne or
+ {
+ H.S /pdf@lly pdf@lly pp.outerbox 1 get sub def
+ pp.enabletracing
+ }
+ if
+ end
+ }
+ put
+ }
+ if
+ /x where
+ {
+ /x
+ {
+ 0 exch rmoveto
+ SDict
+ begin
+ currentpoint pp.originy ne exch pp.originx ne or
+ {
+ H.S /pdf@lly pdf@lly pp.outerbox 1 get sub def
+ pp.enabletracing
+ }
+ if
+ end
+ }
+ put
+ }
+ if
+ } def
+ /pp.eop
+ {
+ pp.tracing
+ {
+ pp.disabletracing
+ true setglobal
+ pp.globaldict /pp.brokenlinkrect [pp.outerbox aload pop] put
+ pp.globaldict /pp.brokenlinkskip pp.baselineskip put
+ pp.globaldict /pp.brokenlinktoks pp.toks pp.cvs put
+ false setglobal
+ mark pp.toks cvx exec /Rect
+ [
+ pdf@llx
+ pdf@lly
+ pp.outerbox 2 get HyperBorder add
+ currentpoint exch pop pp.outerbox pp.getheight sub HyperBorder sub
+ ]
+ /ANN pdfmark
+ }
+ if
+ } def
+ /pp.getheight % argument: rectangle (array); returns: height of rectangle
+ {
+ dup 1 get neg exch 3 get add
} def
/pp.addtoquadpoints
{
@@ -1072,9 +1147,9 @@
1 index /Rect eq
{
dup 4 array copy
- dup dup 1 get pp.outerbox 3 get HyperBorder 2 mul add sub 3 exch put
+ dup dup 1 get pp.outerbox pp.getheight HyperBorder 2 mul add sub 3 exch put
dup 2 pp.outerbox 2 get HyperBorder add put
- dup dup 3 get pp.outerbox 3 get HyperBorder 2 mul add add 1 exch put
+ dup dup 3 get pp.outerbox pp.getheight HyperBorder 2 mul add add 1 exch put
/pp.currentrect exch def
SDict /pp.quadpoints known
{pp.addtoquadpoints}
@@ -1092,7 +1167,7 @@
{pp.writebrokenlink}
ifelse
}
- 1 index 3 get HyperBorder 2 mul add pp.outerbox 3 get add 2 index 1 get sub pp.baselineskip div round cvi 1 sub exch repeat
+ 1 index 3 get HyperBorder 2 mul add pp.outerbox pp.getheight add 2 index 1 get sub pp.baselineskip div round cvi 1 sub exch repeat
pp.currentrect
dup 0 pp.outerbox 0 get HyperBorder sub put
dup dup 1 get pp.baselineskip add 1 exch put
@@ -1103,7 +1178,7 @@
{
pp.addtoquadpoints
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 dup 1 get pp.outerbox pp.getheight 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
@@ -1189,7 +1264,7 @@
currentdict /Rect known and
SDict /pp.outerbox known and
SDict /pp.baselineskip known and
- {Rect 1 get Rect 3 get sub pp.outerbox 3 get lt {pp.breaklink} if}
+ {Rect 1 get Rect 3 get sub pp.outerbox pp.getheight lt {pp.breaklink} if}
if
end
SDict /pp.outerbox undef
@@ -1218,7 +1293,7 @@
/H.R {pp.H.R} def
/pdfmark {pp.pdfmark} def
} def
- /pp.BPToPDF
+ /pp.ptToBP
{
72 mul 72.27 div
} def
@@ -1849,7 +1924,7 @@
if
<<
/DeferredMediaSelection true
- /PageSize [\strip@pt\paperwidth\space pp.BPToPDF \strip@pt\paperheight\space pp.BPToPDF]
+ /PageSize [\strip@pt\paperwidth\space pp.ptToBP \strip@pt\paperheight\space pp.ptToBP]
/ImagingBBox null
\ifpp@twoside
/Duplex true
@@ -1937,7 +2012,7 @@
\fi
\leavevmode
\ifpp@subfigure%
- \pp@SDictPS{/pdf@hoff -5 /pdf@voff \strip@pt\Gin@req@height\space pp.BPToPDF 5 add pp.savecurrentpoint}%
+ \pp@SDictPS{/pdf@hoff -5 /pdf@voff \strip@pt\Gin@req@height\space pp.ptToBP 5 add pp.savecurrentpoint}%
\pp@SDictPS{/pp.goodfiguredest true def}%
\ifHy@draft%
\else%
@@ -1984,32 +2059,49 @@
\def\pp@activerect{false}
\def\pdf@rect#1{%
\def\pp@activerect{true}%
- \begingroup%
+ \begingroup
\chardef\x=1 %
\def\Hy@temp{#1}%
- \ifx\Hy@temp\ltx@empty%
+ \ifx\Hy@temp\ltx@empty
\chardef\x=0 %
- \else%
+ \else
\def\y{\anchor@spot}%
- \ifx\Hy@temp\y%
+ \ifx\Hy@temp\y
\def\y{\relax}%
- \ifx\anchor@spot\y%
+ \ifx\anchor@spot\y
\chardef\x=0 %
- \fi%
- \fi%
- \fi%
- \expandafter\endgroup%
- \ifcase\x%
+ \fi
+ \fi
+ \fi
+ \expandafter\endgroup
+ \ifcase\x
\literalps@out{H.S}%
\literalps@out{H.R}%
- \else%
- \leavevmode%
- \ifHy@breaklinks%
- \Hy@setouterhbox\pdf@box{\Hy@AllowHyphens#1}%
- \else%
- \sbox\pdf@box{#1}%
- \fi%
- \dimen@\ht\pdf@box%
+ \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
\ifpp@evenboxes%
\sbox\pp@textbox\pp@ABC%
\setlength{\pp@offset}{-\the\dp\pdf@box}%
@@ -2027,40 +2119,45 @@
/pp.outerbox
[
(\pp@sidemargin) pp.strippt
- 0
+ (-\the\dp\pp@textbox) pp.strippt
(\pp@sidemargin) pp.strippt (\the\textwidth) pp.strippt add
- (\the\dp\pp@textbox) pp.strippt (\the\ht\pp@textbox) pp.strippt add
+ (\the\ht\pp@textbox) pp.strippt
] [ exch {PDFToDvips} forall ] def
- /pp.baselineskip (\the\baselineskip) pp.strippt dup 0 gt {BPToDvips def} {pop pop} ifelse
+ /pp.baselineskip (\the\baselineskip) pp.strippt dup 0 gt {PDFToDvips def} {pop pop} ifelse
}%
- \ifdim\dp\pdf@box=\z@%
+ \dimen@\ht\pdf@box
+ \ifdim\dp\pdf@box=\z@
\literalps@out{H.S}%
- \else%
+ \else
\lower\dp\pdf@box\hbox{\literalps@out{H.S}}%
- \fi%
+ \fi
\pp@SDictPS{pp.enabletracing}%
- \ifHy@breaklinks%
- \expandafter\Hy@breaklinksunhbox%
- \else%
- \expandafter\box%
- \fi%
- \pdf@box%
+ \ifHy@breaklinks
+ \ifhmode
+ \Hy@breaklinksunhbox\pdf@box
+ \else
+ \box\pdf@box
+ \fi
+ \else
+ \expandafter\box\pdf@box
+ \fi
\pp@SDictPS{pp.disabletracing}%
\ifpp@evenboxes%
\setlength{\pp@offset}{\the\dimen@}%
\addtolength{\pp@offset}{-\the\ht\pp@textbox}%
\pp@SDictPS{/pp.yoffset \strip@pt\pp@offset\space PDFToDvips def}%
\fi%
- \ifdim\dimen@=\z@%
+ \ifdim\dimen@=\z@
\literalps@out{H.R}%
- \else%
+ \else
\raise\dimen@\hbox{\literalps@out{H.R}}%
- \fi%
- \ifx\pdf@type\Hy@DEST%
- \else%
- \pdf@addtoksx{H.B}%
- \fi%
- \fi%
+ \fi
+ \Hy@RestoreSpaceFactor
+ \fi
+ \ifx\pdf@type\Hy@DEST
+ \else
+ \pdf@addtoksx{H.B}%
+ \fi
\def\pp@activerect{false}%
}
@@ -2069,9 +2166,10 @@
\edef\@processme{\noexpand\pdf@toks={\the\pdf@defaulttoks}}%
\@processme
\let\pdf@type\relax
- \setkeys{PDF}{#2}%
+ \kvsetkeys{PDF}{#2}%
\ifHy@pdfmarkerror
\else
+ \pp@SDictPS{/pp.toks (\the\pdf@toks\string) def}%
\ifx\pp@activerect\pp@true%
\ifpp@nlwarning%
\PackageWarning{hypdvips}{Nested link discarded: dest = `\Hy@pstringDest'\MessageBreak}%
@@ -2171,7 +2269,7 @@
\let\pp@backup@H@@footnotetext\H@@footnotetext
\renewcommand{\H@@footnotetext}[1]{%
\pp@backup@H@@footnotetext{%
- \pp@SDictPS{/pp.voffset \f@size\space 5 add def}%
+ \pp@SDictPS{/pp.voffset \f@size\space pp.ptToBP 5 add def}%
#1%
}%
}
@@ -2188,11 +2286,11 @@
\setlength{\pp@offset}{-\the\baselineskip}%
\def\pp@string{plain}%
\ifx\pp@bibstyle\pp@string%
- \pp@SDictPS{/pp.voffset \strip@pt\pp@offset\space pp.BPToPDF 5 add def}%
+ \pp@SDictPS{/pp.voffset \strip@pt\pp@offset\space pp.ptToBP 5 add def}%
\fi%
\def\pp@string{gerplain}%
\ifx\pp@bibstyle\pp@string%
- \pp@SDictPS{/pp.voffset \strip@pt\pp@offset\space pp.BPToPDF 5 add def}%
+ \pp@SDictPS{/pp.voffset \strip@pt\pp@offset\space pp.ptToBP 5 add def}%
\fi%
\pp@backup@bibitem%
}
@@ -2236,31 +2334,8 @@
}
}
-\newcommand{\pp@beforelink}[1]{% arguments: labelname
- \ifpp@evenboxes%
- \sbox\pp@textbox\pp@ABC%
- \else%
- \cref@gettype{#1}{\pp@labeltype}%
- \cref@getlabel{#1}{\pp@labelcaption}%
- \@ifundefined{cref@\pp@labeltype @label}%
- {\sbox\pp@textbox{\cref@default@label{\pp@labelcaption}{}{}}}%
- {\sbox\pp@textbox{\csname cref@\pp@labeltype @label\endcsname{\pp@labelcaption}{}{}}}%
- \fi%
- \setlength{\pp@offset}{\the\dp\pp@textbox}%
- \pp@SDictPS{/pp.yoffset \strip@pt\pp@offset\space PDFToDvips def}%
- \hyper@linkstart{link}{\cref@hyperref{#1}}%
-}
-
-\newcommand{\pp@afterlink}{%
- \setlength{\pp@offset}{\the\baselineskip}%
- \addtolength{\pp@offset}{-2pt}%
- \addtolength{\pp@offset}{-\the\ht\pp@textbox}%
- \pp@SDictPS{/pp.yoffset \strip@pt\pp@offset\space PDFToDvips def}%
- \hyper@linkend%
-}
-
\renewcommand{\Hy@backout}[1]{%
- \@bsphack%
+ \@bsphack
\ifpp@detailedbr%
\else%
\ifpp@pagebackref%
@@ -2276,7 +2351,7 @@
\ifpp@pagebackref%
\def\pp@string{\pp@br@pagestring~\thepage}%
\else%
- \ifx\@currentlabel\@empty%
+ \ifx\@empty\@currentlabel%
\def\pp@string{\pp@br@documentstring}%
\else%
\def\pp@string{\@currentlabel}%
@@ -2287,17 +2362,20 @@
\string\backcite{#1}{{\thepage}{\pp@string}{\pp@br@currentHref}}%
}%
}%
- \@esphack%
+ \@esphack
}
\@ifpackageloaded{cleveref}
{
+ \def\pp@link#1\relax#2\relax#3\relax#4{#1\hyper@@link{}{#4}{#2}#3}
+ \def\pp@rangelink#1\relax#2\relax#3\relax#4\relax#5\relax#6#7{#1\hyper@@link{}{#6}{#2}#3\hyper@@link{}{#7}{#4}#5}
\renewcommand{\@@setcref}[2]{%
- \cref@getlabel{#2}{\@tmplabel}%
+ \cref@getlabel{#2}{\@templabel}%
\if@crefstarred%
- #1{\@tmplabel}{}{}%
+ #1{\@templabel}{}{}%
\else%
- #1{\@tmplabel}{\pp@beforelink{#2}}{\pp@afterlink}%
+ \edef\@templink{\cref@hyperref{#2}}%
+ \expandafter\pp@link#1{\@templabel}{\relax}{\relax}\relax{\@templink}%
\fi%
}
\renewcommand{\@@setcrefrange}[3]{%
@@ -2306,9 +2384,9 @@
\if@crefstarred%
#1{\@labela}{\@labelb}{}{}{}{}%
\else%
- #1{\@labela}{\@labelb}%
- {\pp@beforelink{#2}}{\pp@afterlink}%
- {\pp@beforelink{#3}}{\pp@afterlink}%
+ \edef\@linka{\cref@hyperref{#2}}%
+ \edef\@linkb{\cref@hyperref{#3}}%
+ \expandafter\pp@rangelink#1{\@labela}{\@labelb}{\relax}{\relax}{\relax}{\relax}\relax{\@linka}{\@linkb}%
\fi%
}
\renewcommand{\Hy@backout}[1]{%
@@ -2548,9 +2626,9 @@
/pp.attachmentrect
[
-1
- -\strip@pt\dp\pp@textbox\space pp.BPToPDF 1 sub
- \strip@pt\wd\pp@textbox\space pp.BPToPDF 1 add
- \strip@pt\ht\pp@textbox\space pp.BPToPDF 1 add
+ -\strip@pt\dp\pp@textbox\space pp.ptToBP 1 sub
+ \strip@pt\wd\pp@textbox\space pp.ptToBP 1 add
+ \strip@pt\ht\pp@textbox\space pp.ptToBP 1 add
]
def
/pp.bbox pp.attachmentrect 4 array copy def
@@ -2943,17 +3021,25 @@
\renewcommand{\contentsline}[4]{%
\ifx\\#4\\%
\csname l@#1\endcsname{#2}{#3}%
- \else%
- \ifcase\Hy@linktoc% none
+ \else
+ \ifcase\Hy@linktoc % none
\csname l@#1\endcsname{#2}{#3}%
- \or% section
- \csname l@#1\endcsname{\hyper@@link{}{#4}{#2}}{#3}%
- \or% page
- \csname l@#1\endcsname{{#2}}{\hyper@@link{}{#4}{#3}}%
- \else% all
- \csname l@#1\endcsname{\hyper@@link{}{#4}{#2}}{\hyper@@link{}{#4}{#3}}%
- \fi%
- \fi%
+ \or % section
+ \csname l@#1\endcsname{%
+ \hyper@@link{}{#4}{#2}
+ }{#3}%
+ \or % page
+ \csname l@#1\endcsname{{#2}}{%
+ \hyper@@link{}{#4}{#3}
+ }%
+ \else % all
+ \csname l@#1\endcsname{%
+ \hyper@@link{}{#4}{#2}
+ }{%
+ \hyper@@link{}{#4}{#3}
+ }%
+ \fi
+ \fi
}
\edef\@backrefcolor{\@citecolor}
@@ -3009,7 +3095,7 @@
\ifHy@draft%
\else%
\setlength{\pp@offset}{\the\baselineskip}%
- \pp@SDictPS{/pdf@hoff -2 /pdf@voff \strip@pt\pp@offset\space pp.BPToPDF pp.savecurrentpoint}%
+ \pp@SDictPS{/pdf@hoff -2 /pdf@voff \strip@pt\pp@offset\space pp.ptToBP pp.savecurrentpoint}%
\pp@SDictPS{mark /Dest (backref.\arabic{pp@backrefID}) cvn /View [/\@pdfview \@pdfviewparams] /DEST pdfmark}%
\fi%
\edef\pp@br@currentHref{backref.\arabic{pp@backrefID}}%
@@ -3533,6 +3619,18 @@
\fi
}{}
+\global\let\pp@backup@@makecol\@makecol
+\gdef\@makecol{%
+ \setbox\@cclv\vbox{\unvbox\@cclv\pp@SDictPS{pp.eop}}%
+ \pp@backup@@makecol%
+ }
+
+\global\let\pp@backup@@startcolumn\@startcolumn
+\gdef\@startcolumn{%
+ \pp@SDictPS{pp.globaldict /pp.brokenlinkrect known \string{pp.continuetracing\string} if}%
+ \pp@backup@@startcolumn%
+ }
+
%%
%% Exported commands:
%%