summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def')
-rw-r--r--Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def72
1 files changed, 65 insertions, 7 deletions
diff --git a/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def b/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def
index 66c6e09a982..52e99bf380e 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def
+++ b/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def
@@ -24,7 +24,7 @@
%% given in the file `manifest.txt'.
%%
\ProvidesFile{hdvipdfm.def}
- [2009/10/09 v6.79a
+ [2009/11/14 v6.79e
Hyperref driver for dvipdfm]
\def\Hy@PutCatalog#1{\@pdfm@mark{docview << #1 >>}}
\ifHy@pagelabels
@@ -58,7 +58,7 @@
}%
}%
\fi
-\RequirePackage{pdftexcmds}[2007/11/11]
+\RequirePackage{pdftexcmds}[2009/04/10]
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdf@escapestring\endcsname\relax
\begingroup
@@ -526,11 +526,21 @@
\fi
}
\AtBeginShipoutFirst{%
- \ifx\special@paper\@empty
- \else
- \ifHy@setpagesize
- \special{papersize=\special@paper}%
- \fi
+ \ifHy@setpagesize
+ \begingroup
+ \@ifundefined{stockwidth}{%
+ \ifx\special@paper\@empty
+ \special{papersize=\the\paperwidth,\the\paperheight}%
+ \else
+ \special{papersize=\special@paper}%
+ \fi
+ }{%
+ \ifdim\stockwidth=\z@
+ \else
+ \special{papersize=\the\stockwidth,\the\stockheight}%
+ \fi
+ }%
+ \endgroup
\fi
\Hy@DisableOption{setpagesize}%
}
@@ -1270,15 +1280,18 @@
\fi
\pdfstringdef\Hy@tempa{#2}%
\if@filesw
+ \stepcounter{bookmark@seq@number}%
\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}
\newcommand{\currentpdfbookmark}{%
\pdfbookmark[\Hy@currentbookmarklevel]%
}
@@ -1300,6 +1313,50 @@
}
\def\BOOKMARK{\@ifnextchar[{\@BOOKMARK}{\@@BOOKMARK[1][-]}}
\def\@BOOKMARK[#1]{\@ifnextchar[{\@@BOOKMARK[#1]}{\@@BOOKMARK[#1][-]}}
+\def\Hy@OutlineRerunCheck{%
+ \begingroup
+ \xdef\Hy@OutlineCheckSumBefore{%
+ \@ifundefined{pdf@filemdfivesum}{}{%
+ \pdf@filemdfivesum{\jobname.out}%
+ }%
+ :%
+ \@ifundefined{pdf@filesize}{}{%
+ \pdf@filesize{\jobname.out}%
+ }%
+ }%
+ \endgroup
+ \AtEndDocument{%
+ \clearpage
+ \if@filesw
+ \immediate\write\@mainaux{%
+ \string\csname\space Hy@OutlineCheckEnd\string\endcsname
+ }%
+ \fi
+ }%
+}
+\AtBeginDocument{%
+ \def\Hy@OutlineCheckEnd{%
+ \begingroup
+ \immediate\closeout\@outlinefile
+ \edef\Hy@OutlineCheckSumAfter{%
+ \@ifundefined{pdf@filemdfivesum}{}{%
+ \pdf@filemdfivesum{\jobname.out}%
+ }%
+ :%
+ \@ifundefined{pdf@filesize}{}{%
+ \pdf@filesize{\jobname.out}%
+ }%
+ }%
+ \ifx\Hy@OutlineCheckSumBefore\Hy@OutlineCheckSumAfter
+ \else
+ \Hy@WarningNoLine{%
+ Rerun to get outlines right\MessageBreak
+ or use package `bookmark'%
+ }%
+ \fi
+ \endgroup
+ }%
+}
\def\ReadBookmarks{%
\begingroup
\escapechar=`\\%
@@ -1339,6 +1396,7 @@
\else
\if@filesw
\newwrite\@outlinefile
+ \Hy@OutlineRerunCheck
\immediate\openout\@outlinefile=\jobname.out\relax
\ifHy@typexml
\immediate\write\@outlinefile{<relaxxml>\relax}%