summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-11-16 01:43:15 +0000
committerKarl Berry <karl@freefriends.org>2009-11-16 01:43:15 +0000
commitfaaa36262649a67fb85d27b3e605d94da0b75fa4 (patch)
treef12854652616632c4733ad854294bb580f8f2365 /Master/texmf-dist/source/latex
parent860f96fed59d8da7fe4422b5a8c0c1dcea518d90 (diff)
hyperref update (15nov09)
git-svn-id: svn://tug.org/texlive/trunk@16022 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r--Master/texmf-dist/source/latex/hyperref/backref.dtx66
-rw-r--r--Master/texmf-dist/source/latex/hyperref/doc/manual.tex4
-rw-r--r--Master/texmf-dist/source/latex/hyperref/hyperref.dtx187
3 files changed, 226 insertions, 31 deletions
diff --git a/Master/texmf-dist/source/latex/hyperref/backref.dtx b/Master/texmf-dist/source/latex/hyperref/backref.dtx
index bb6cbdcd3d6..8a24e6d27dd 100644
--- a/Master/texmf-dist/source/latex/hyperref/backref.dtx
+++ b/Master/texmf-dist/source/latex/hyperref/backref.dtx
@@ -1,5 +1,5 @@
% \iffalse
-%% File: backref.dtx Copyright (C) 1995-2005 David Carlisle, Sebastian Rahtz, Heiko Oberdiek
+%% File: backref.dtx Copyright (C) 1995-2009 David Carlisle, Sebastian Rahtz, Heiko Oberdiek
%
%% This file is part of the `Hyperref Bundle'.
%% -------------------------------------------
@@ -22,9 +22,9 @@
%<driver>\ProvidesFile{backref.drv}
% \fi
% \ProvidesFile{backref.dtx}
- [2006/09/05 v1.28 Bibliographical back referencing]%
+ [2009/11/14 v1.29 Bibliographical back referencing]%
%
-% \CheckSum{574}
+% \CheckSum{620}
%
% \iffalse
%<*driver>
@@ -690,6 +690,66 @@
}
% \end{macrocode}
% \end{macro}
+%
+% \subsection{Rerun warning}
+%
+% The following code computes a MD5 sum and the file size of the
+% |.brf| file at the begin and the end of the document and compares
+% them. A rerun warning is given, if they do not match.
+% This method requires pdf\TeX\ or Lua\TeX. The method fails,
+% if the MD5 sum and the file size are the same for
+% a changed |.brf| file (it's probably very seldom).
+% \begin{macrocode}
+\RequirePackage{pdftexcmds}[2009/04/10]
+\begingroup
+ \xdef\BR@CheckSumBefore{%
+ \@ifundefined{pdf@filemdfivesum}{}{%
+ \pdf@filemdfivesum{\jobname.brf}%
+ }%
+ :%
+ \@ifundefined{pdf@filesize}{}{%
+ \pdf@filesize{\jobname.brf}%
+ }%
+ }%
+\endgroup
+\AtBeginDocument{%
+ \AtEndDocument{%
+ \clearpage
+ \if@filesw
+ \immediate\write\@mainaux{%
+ \string\csname\space BR@CheckEnd\string\endcsname
+ }%
+ \fi
+ }%
+% \end{macrocode}
+% \begin{macro}{\BR@CheckEnd}
+% \begin{macrocode}
+ \def\BR@CheckEnd{%
+ \begingroup
+ \@ifundefined{tf@brf@open}{}{%
+ \immediate\closeout\tf@brf
+ }%
+ \edef\BR@CheckSumAfter{%
+ \@ifundefined{pdf@filemdfivesum}{}{%
+ \pdf@filemdfivesum{\jobname.brf}%
+ }%
+ :%
+ \@ifundefined{pdf@filesize}{}{%
+ \pdf@filesize{\jobname.brf}%
+ }%
+ }%
+ \ifx\BR@CheckSumBefore\BR@CheckSumAfter
+ \else
+ \PackageWarningNoLine{backref}{%
+ Rerun to get bibliographical references right%
+ }%
+ \fi
+ \endgroup
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
%</package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/hyperref/doc/manual.tex b/Master/texmf-dist/source/latex/hyperref/doc/manual.tex
index 5c1e94e4129..ee623aec628 100644
--- a/Master/texmf-dist/source/latex/hyperref/doc/manual.tex
+++ b/Master/texmf-dist/source/latex/hyperref/doc/manual.tex
@@ -525,7 +525,7 @@ pdfnumcopies & integer & empty & number of printed copies \\
pdfpagelayout & text & empty & set layout of PDF pages \\
pdfpagelabels & boolean & true & set PDF page labels \\
pdfpagetransition & text & empty & set PDF page transition style \\
-pdfpicktrackbypdfsize & text & empty & set option for print dialog \\
+pdfpicktraybypdfsize & text & empty & set option for print dialog \\
pdfprintarea & text & empty & set /PrintArea of viewer preferences \\
pdfprintclip & text & empty & set /PrintClip of viewer preferences \\
pdfprintpagerange & n n (n n)*
@@ -680,7 +680,7 @@ pdfpagemode & \textit{empty} & set default mode of PDF display \\
pdfpagelabels & \textit{true} & set PDF page labels \\
pdfpagescrop & \textit{empty} & set crop size of PDF document \\
pdfpagetransition & \textit{empty} & set PDF page transition style \\
-pdfpicktrackbypdfsize
+pdfpicktraybypdfsize
& \textit{empty} & set option for print dialog \\
pdfprintarea & \textit{empty} & set /PrintArea of viewer preferences \\
pdfprintclip & \textit{empty} & set /PrintClip of viewer preferences \\
diff --git a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
index a8b8e4023c3..92a11a1e1d8 100644
--- a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
+++ b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
@@ -38,7 +38,7 @@
%<puenc>\ProvidesFile{puenc.def}
%<puvnenc>\ProvidesFile{puvnenc.def}
%<puarenc>\ProvidesFile{puarenc.def}
-%<!none> [2009/10/09 v6.79a
+%<!none> [2009/11/14 v6.79e
%<package> Hypertext links for LaTeX]
%<nohyperref> Dummy hyperref (SR)]
%<driver> Hyperref documentation driver file]
@@ -114,7 +114,7 @@
\end{document}
%</driver>
% \fi
-% \CheckSum{24653}
+% \CheckSum{24810}
%
% \MakeShortVerb{|}
% \StopEventually{}
@@ -145,6 +145,8 @@
% }
% \makeatother
%
+% \providecommand*{\eTeX}{\mbox{$\varepsilon$-\TeX}}
+%
% \section{File hycheck.tex}
%
% Many commands of \LaTeX\ or other packages cannot be
@@ -9745,12 +9747,19 @@
\ifHy@hyperindex
\def\HyInd@ParenLeft{(}%
\def\HyInd@ParenRight{)}%
+ \def\hyperindexformat#1#2{%
+ \let\HyOrg@hyperpage\hyperpage
+ \let\hyperpage\@firstofone
+ #1{\HyOrg@hyperpage{#2}}%
+ \let\hyperpage\HyOrg@hyperpage
+ }%
\Hy@nextfalse
\@ifpackageloaded{multind}{\Hy@nexttrue}{}%
\@ifpackageloaded{index}{\Hy@nexttrue}{}%
\@ifpackageloaded{amsmidx}{\Hy@nexttrue}{}%
\begingroup
\lccode`\|=\expandafter`\HyInd@EncapChar\relax
+ \lccode`\/=`\\\relax
\lowercase{\endgroup
\ifHy@next
\let\HyInd@org@wrindex\@wrindex
@@ -9759,13 +9768,28 @@
\ifx\\#3\\%
\HyInd@org@wrindex{#1}{#2|hyperpage}%
\else
- \def\Hy@temp@A{#3}%
- \ifcase0\ifx\Hy@temp@A\HyInd@ParenLeft 1\fi
- \ifx\Hy@temp@A\HyInd@ParenRight 1\fi
- \relax
- \HyInd@org@wrindex{#1}{#2|#3}%
+ \HyInd@@@wrindex{#1}{#2}#3\\%
+ \fi
+ }%
+ \def\HyInd@@@wrindex#1#2#3#4\\{%
+ \def\Hy@temp@A{#3}%
+ \ifcase0\ifx\Hy@temp@A\HyInd@ParenLeft 1\fi
+ \ifx\Hy@temp@A\HyInd@ParenRight 1\fi
+ \relax
+ \HyInd@org@wrindex{#1}{%
+ #2|hyperindexformat{/#3#4}%
+ }%
+ \else
+ \ifx\\#4\\%
+ \ifx\Hy@temp@A\HyInd@ParenRight
+ \HyInd@org@wrindex{#1}{#2|#3}%
+ \else
+ \HyInd@org@wrindex{#1}{#2|#3hyperpage}%
+ \fi
\else
- \HyInd@org@wrindex{#1}{#2|#3hyperpage}%
+ \HyInd@org@wrindex{#1}{%
+ #2|#3hyperindexformat{/#4}%
+ }%
\fi
\fi
}%
@@ -9778,22 +9802,41 @@
\string\indexentry{#1|hyperpage}{\thepage}%
}%
\else
- \def\Hy@temp@A{#2}%
- \ifcase0\ifx\Hy@temp@A\HyInd@ParenLeft 1\fi
- \ifx\Hy@temp@A\HyInd@ParenRight 1\fi
- \relax
+ \HyInd@@@wrindex{#1}#2\\%
+ \fi
+ \fi
+ \endgroup
+ \@esphack
+ }%
+ \def\HyInd@@@wrindex#1#2#3\\{%
+ \def\Hy@temp@A{#2}%
+ \ifcase0\ifx\Hy@temp@A\HyInd@ParenLeft 1\fi
+ \ifx\Hy@temp@A\HyInd@ParenRight 1\fi
+ \relax
+ \protected@write\@indexfile{}{%
+ \string\indexentry{%
+ #1|hyperindexformat{/#2#3}%
+ }{\thepage}%
+ }%
+ \else
+ \ifx\\#3\\%
+ \ifx\Hy@temp@A\HyInd@ParenRight
\protected@write\@indexfile{}{%
- \string\indexentry{#1|#2}{\thepage}%
+ \string\indexentry{#1|#2}{\thepage}%
}%
\else
\protected@write\@indexfile{}{%
\string\indexentry{#1|#2hyperpage}{\thepage}%
}%
\fi
+ \else
+ \protected@write\@indexfile{}{%
+ \string\indexentry{%
+ #1|#2hyperindexformat{/#3}%
+ }{\thepage}%
+ }%
\fi
\fi
- \endgroup
- \@esphack
}%
\fi
}%
@@ -10375,7 +10418,7 @@
% Since version 1.30.0 pdf\TeX\ offers \cs{pdfescapestring}.
% \begin{macrocode}
%<*pdftex|dvipdfm|vtex|pdfmarkbase|dviwindo>
-\RequirePackage{pdftexcmds}[2007/11/11]
+\RequirePackage{pdftexcmds}[2009/04/10]
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdf@escapestring\endcsname\relax
\begingroup
@@ -12061,11 +12104,21 @@
% \end{macrocode}
% \begin{macrocode}
\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}%
}
@@ -13682,11 +13735,22 @@
} def%
}%
}
-\AfterBeginDocument{%
- \ifx\special@paper\@empty\else
- \ifHy@setpagesize
- \special{papersize=\special@paper}%
- \fi
+\AtBeginShipoutFirst{%
+ \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}%
}
@@ -16198,6 +16262,19 @@
% in Heidelberg. See |paper.pdf| and |slides.pdf| in the
% |doc| directory of hyperref.
%
+% When using the right-to-left typesetting based on \eTeX, the order
+% of the |\BOOKMARK| commands written to the |\@outlinefile| could
+% appear wrong, because of mis-feature of \eTeX's implementation (that
+% it processes the shipped out lines left-to-right, instead of the
+% order in which they appear in the document). The wrong order will
+% appear when the file contains two bookmarks on the same line typeset
+% right-to-left.
+%
+% To work around this problem, the |bookmark@seq@number| counter is
+% used to write the bookmark's sequential number into a comment in the
+% |\@outlinefile|, which could be used to post-process it to achieve
+% the proper ordering of |\BOOKMARK| commands in that file.
+%
% \begin{macrocode}
\def\Hy@writebookmark#1#2#3#4#5{%
% section number, text, label, level, file
@@ -16257,15 +16334,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}
% \end{macrocode}
% In the call of \cmd{\BOOKMARK} the braces around \verb|#4|
% are omitted, because it is not likely, that the level number
@@ -16303,6 +16383,59 @@
% The macros for calculating structure of outlines
% are derived from those by Petr Olsak used in the texinfopdf macros.
%
+% \subsubsection{Rerun warning}
+%
+% \begin{macro}{\Hy@OutlineRerunCheck}
+% \begin{macrocode}
+\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
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Driver stuff}
+%
% The VTEX section was written originally by VTEX, but then
% amended by Denis Girou (\Email{denis.girou@idris.fr}),
% then by by Taco Hoekwater (\Email{taco.hoekwater@wkap.nl}. The problem
@@ -16409,6 +16542,7 @@
\else
\if@filesw
\newwrite\@outlinefile
+ \Hy@OutlineRerunCheck
\immediate\openout\@outlinefile=\jobname.out\relax
\ifHy@typexml
\immediate\write\@outlinefile{<relaxxml>\relax}%
@@ -16480,6 +16614,7 @@
\else
\if@filesw
\newwrite\@outlinefile
+ \Hy@OutlineRerunCheck
\immediate\openout\@outlinefile=\jobname.out\relax
\ifHy@typexml
\immediate\write\@outlinefile{<relaxxml>\relax}%