summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/oberdiek/bookmark.dtx')
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/bookmark.dtx220
1 files changed, 191 insertions, 29 deletions
diff --git a/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx b/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx
index 1bc538f99c1..24005447954 100644
--- a/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx
@@ -81,7 +81,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: bookmark 2010/04/03 v1.10 PDF bookmarks (HO)}
+\Msg{* Package: bookmark 2010/04/04 v1.11 PDF bookmarks (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -164,7 +164,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bookmark.drv}%
- [2010/04/03 v1.10 PDF bookmarks (HO)]%
+ [2010/04/04 v1.11 PDF bookmarks (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2008/08/11]
\begin{document}
@@ -173,7 +173,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{2086}
+% \CheckSum{2067}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -194,7 +194,7 @@ and the derived files
% \GetFileInfo{bookmark.drv}
%
% \title{The \xpackage{bookmark} package}
-% \date{2010/04/03 v1.10}
+% \date{2010/04/04 v1.11}
% \author{Heiko Oberdiek\\\xemail{heiko.oberdiek at googlemail.com}}
%
% \maketitle
@@ -573,7 +573,7 @@ and the derived files
open,
openlevel=2,
atend
-]{bookmark}[2010/04/03]
+]{bookmark}[2010/04/04]
\bookmarksetup{color=blue}
@@ -676,13 +676,14 @@ and the derived files
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bookmark}%
- [2010/04/03 v1.10 PDF bookmarks (HO)]%
+ [2010/04/04 v1.11 PDF bookmarks (HO)]%
% \end{macrocode}
%
% \subsubsection{Requirements}
%
% \paragraph{\eTeX.}
%
+% \begin{macro}{\BKM@CalcExpr}
% \begin{macrocode}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname numexpr\endcsname\relax
@@ -703,33 +704,50 @@ and the derived files
}%
\fi
% \end{macrocode}
+% \end{macro}
%
% \paragraph{Escape features of \pdfTeX.}
%
% \begin{macrocode}
\RequirePackage{pdfescape}[2007/03/20]
+% \end{macrocode}
+% \begin{macro}{\BKM@EscapeName}
+% \begin{macrocode}
\def\BKM@EscapeName#1{%
\ifx#1\@empty
\else
\EdefEscapeName#1#1%
\fi
}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@EscapeString}
+% \begin{macrocode}
\def\BKM@EscapeString#1{%
\ifx#1\@empty
\else
\EdefEscapeString#1#1%
\fi
}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@EscapeHex}
+% \begin{macrocode}
\def\BKM@EscapeHex#1{%
\ifx#1\@empty
\else
\EdefEscapeHex#1#1%
\fi
}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@UnescapeHex}
+% \begin{macrocode}
\def\BKM@UnescapeHex#1{%
\EdefUnescapeHex#1#1%
}%
% \end{macrocode}
+% \end{macro}
%
% \paragraph{Packages.}
%
@@ -905,19 +923,31 @@ and the derived files
%
% \paragraph{Redefinitions \xpackage{hyperref}'s options}
%
+% \begin{macro}{\BKM@PatchHyperrefOption}
% \begin{macrocode}
\def\BKM@PatchHyperrefOption#1{%
\expandafter\BKM@@PatchHyperrefOption\csname KV@Hyp@#1\endcsname%
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@@PatchHyperrefOption}
+% \begin{macrocode}
\def\BKM@@PatchHyperrefOption#1{%
\expandafter\BKM@@@PatchHyperrefOption#1{##1}\BKM@nil#1%
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@@@PatchHyperrefOption}
+% \begin{macrocode}
\def\BKM@@@PatchHyperrefOption#1\BKM@nil#2#3{%
\def#2##1{%
#1%
\bookmarksetup{#3={##1}}%
}%
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
\BKM@PatchHyperrefOption{bookmarksopen}{open}
\BKM@PatchHyperrefOption{bookmarksopenlevel}{openlevel}
\BKM@PatchHyperrefOption{bookmarksdepth}{depth}
@@ -989,8 +1019,8 @@ and the derived files
% \begin{macrocode}
\def\BKM@temp#1{%
\DeclareStringOption{#1}%
- \expandafter\edef\csname BKM@#1\endcsname{%
- \expandafter\noexpand\csname bookmark@#1\endcsname
+ \expandafter\edef\csname bookmark@#1\endcsname{%
+ \expandafter\noexpand\csname BKM@#1\endcsname
}%
}
% \end{macrocode}
@@ -1399,6 +1429,7 @@ and the derived files
%
% \paragraph{Driver detection.}
%
+% \begin{macro}{\BKM@DefineDriverKey}
% \begin{macrocode}
\def\BKM@DefineDriverKey#1{%
\define@key{BKM}{#1}[]{%
@@ -1408,6 +1439,9 @@ and the derived files
\DisableKeyvalOption{BKM}{#1}%
}%
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
\BKM@DefineDriverKey{pdftex}
\BKM@DefineDriverKey{dvips}
\BKM@DefineDriverKey{dvipsone}
@@ -1435,7 +1469,14 @@ and the derived files
% \end{macro}
% \begin{macrocode}
\InputIfFileExists{bookmark.cfg}{}{}
+% \end{macrocode}
+% \begin{macro}{\BookmarkDriverDefault}
+% \begin{macrocode}
\providecommand*{\BookmarkDriverDefault}{dvips}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@driver}
+% \begin{macrocode}
\ifpdf
\def\BKM@driver{pdftex}%
\else
@@ -1450,6 +1491,7 @@ and the derived files
\fi
\fi
% \end{macrocode}
+% \end{macro}
%
% \paragraph{Process options.}
%
@@ -1462,13 +1504,12 @@ and the derived files
%
% \begin{macrocode}
\newif\ifBKM@DvipdfmxOutlineOpen
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname SpecialDvipdfmxOutlineOpen\endcsname\relax
-\else
+\ltx@IfUndefined{SpecialDvipdfmxOutlineOpen}{%
+}{%
\ifnum\SpecialDvipdfmxOutlineOpen>\z@
\BKM@DvipdfmxOutlineOpentrue
\fi
-\fi
+}
% \end{macrocode}
% \begin{macrocode}
\def\BKM@temp{dvipdfmx}%
@@ -1535,26 +1576,41 @@ and the derived files
%
% \subsubsection{Compatibility for \xpackage{hyperref}}
%
+% \begin{macro}{\pdfbookmark}
% \begin{macrocode}
\renewcommand*{\pdfbookmark}[3][0]{%
\bookmark[level=#1,dest={#3.#1}]{#2}%
\hyper@anchorstart{#3.#1}\hyper@anchorend
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\currentpdfbookmark}
+% \begin{macrocode}
\renewcommand*{\currentpdfbookmark}{%
\pdfbookmark[\BKM@currentlevel]%
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\subpdfbookmark}
+% \begin{macrocode}
\renewcommand*{\subpdfbookmark}{%
\BKM@CalcExpr\BKM@CalcResult\BKM@currentlevel+1%
\expandafter\pdfbookmark\expandafter[\BKM@CalcResult]%
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\belowpdfbookmark}
+% \begin{macrocode}
\renewcommand*{\belowpdfbookmark}[2]{%
\xdef\BKM@gtemp{\number\BKM@currentlevel}%
\subpdfbookmark{#1}{#2}%
\global\let\BKM@currentlevel\BKM@gtemp
}
% \end{macrocode}
+% \end{macro}
%
-% section number, text, label, level, file
+% Section number, text, label, level, file
+% \begin{macro}{\Hy@writebookmark}
% \begin{macrocode}
\renewcommand*{\Hy@writebookmark}[5]{%
\ifnum#4>\BKM@depth\relax
@@ -1577,10 +1633,13 @@ and the derived files
\fi
}
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\ReadBookmarks}
% \begin{macrocode}
\let\ReadBookmarks\relax
% \end{macrocode}
+% \end{macro}
%
% \begin{macrocode}
%</package>
@@ -1592,21 +1651,28 @@ and the derived files
%<*dvipdfm>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-dvipdfm.def}%
- [2010/04/03 v1.10 bookmark driver for dvipdfm (HO)]%
+ [2010/04/04 v1.11 bookmark driver for dvipdfm (HO)]%
% \end{macrocode}
%
+% \begin{macro}{\BKM@id}
% \begin{macrocode}
\newcount\BKM@id
\BKM@id=\z@
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\BKM@0}
% \begin{macrocode}
-\def\BKM@0{000}
+\@namedef{BKM@0}{000}
% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ifBKM@sw}
% \begin{macrocode}
\newif\ifBKM@sw
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\bookmark}
% \begin{macrocode}
\newcommand*{\bookmark}[2][]{%
\if@filesw
@@ -1737,6 +1803,8 @@ and the derived files
\fi
}
% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@getx}
% \begin{macrocode}
\def\BKM@getx#1#2#3{%
\def\BKM@x@parent{#1}%
@@ -1744,6 +1812,7 @@ and the derived files
\def\BKM@x@abslevel{#3}%
}
% \end{macrocode}
+% \end{macro}
%
% \begin{macrocode}
%</dvipdfm>
@@ -1755,7 +1824,7 @@ and the derived files
%<*vtex>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-vtex.def}%
- [2010/04/03 v1.10 bookmark driver for VTeX (HO)]%
+ [2010/04/04 v1.11 bookmark driver for VTeX (HO)]%
% \end{macrocode}
%
% \begin{macrocode}
@@ -1767,18 +1836,25 @@ and the derived files
\fi
% \end{macrocode}
%
+% \begin{macro}{\BKM@id}
% \begin{macrocode}
\newcount\BKM@id
\BKM@id=\z@
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\BKM@0}
% \begin{macrocode}
-\def\BKM@0{00}
+\@namedef{BKM@0}{00}
% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ifBKM@sw}
% \begin{macrocode}
\newif\ifBKM@sw
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\bookmark}
% \begin{macrocode}
\newcommand*{\bookmark}[2][]{%
\if@filesw
@@ -1904,12 +1980,16 @@ and the derived files
\fi
}
% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@getx}
% \begin{macrocode}
\def\BKM@getx#1#2{%
\def\BKM@x@parent{#1}%
\def\BKM@x@level{#2}%
}
% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@toRGB}
% \begin{macrocode}
\def\BKM@toRGB#1 #2 #3\@nil{%
\let\BKM@RGBcolor\@empty
@@ -1917,6 +1997,10 @@ and the derived files
\BKM@toRGBComponent{#2}%
\BKM@toRGBComponent{#3}%
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@toRGBComponent}
+% \begin{macrocode}
\def\BKM@toRGBComponent#1{%
\dimen@=#1pt\relax
\ifdim\dimen@>\z@
@@ -1943,6 +2027,10 @@ and the derived files
\edef\BKM@RGBcolor{\BKM@RGBcolor00}%
\fi
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@toHexDigit}
+% \begin{macrocode}
\def\BKM@toHexDigit#1{%
\expandafter\ifcase\expandafter\@firstofone\expandafter{\number#1} %
0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or
@@ -1950,10 +2038,14 @@ and the derived files
\fi
}
% \end{macrocode}
+% \end{macro}
% \begin{macrocode}
\begingroup
\catcode`\|=0 %
\catcode`\\=12 %
+% \end{macrocode}
+% \begin{macro}{\BKM@vtex@title}
+% \begin{macrocode}
|gdef|BKM@vtex@title{%
|@onelevel@sanitize|BKM@title
|edef|BKM@title{|expandafter|BKM@vtex@leftparen|BKM@title\(|@nil}%
@@ -1963,68 +2055,94 @@ and the derived files
|edef|BKM@title{|expandafter|BKM@vtex@two|BKM@title\2|@nil}%
|edef|BKM@title{|expandafter|BKM@vtex@three|BKM@title\3|@nil}%
}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@vtex@leftparen}
+% \begin{macrocode}
|gdef|BKM@vtex@leftparen#1\(#2|@nil{%
#1%
|ifx||#2||%
|else
(%
- |@ReturnAfterFi{%
+ |ltx@ReturnAfterFi{%
|BKM@vtex@leftparen#2|@nil
}%
|fi
}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@vtex@rightparen}
+% \begin{macrocode}
|gdef|BKM@vtex@rightparen#1\)#2|@nil{%
#1%
|ifx||#2||%
|else
)%
- |@ReturnAfterFi{%
+ |ltx@ReturnAfterFi{%
|BKM@vtex@rightparen#2|@nil
}%
|fi
}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@vtex@zero}
+% \begin{macrocode}
|gdef|BKM@vtex@zero#1\0#2|@nil{%
#1%
|ifx||#2||%
|else
|noexpand|hv@pdf@char0%
- |@ReturnAfterFi{%
+ |ltx@ReturnAfterFi{%
|BKM@vtex@zero#2|@nil
}%
|fi
}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@vtex@one}
+% \begin{macrocode}
|gdef|BKM@vtex@one#1\1#2|@nil{%
#1%
|ifx||#2||%
|else
|noexpand|hv@pdf@char1%
- |@ReturnAfterFi{%
+ |ltx@ReturnAfterFi{%
|BKM@vtex@one#2|@nil
}%
|fi
}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@vtex@two}
+% \begin{macrocode}
|gdef|BKM@vtex@two#1\2#2|@nil{%
#1%
|ifx||#2||%
|else
|noexpand|hv@pdf@char2%
- |@ReturnAfterFi{%
+ |ltx@ReturnAfterFi{%
|BKM@vtex@two#2|@nil
}%
|fi
}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@vtex@three}
+% \begin{macrocode}
|gdef|BKM@vtex@three#1\3#2|@nil{%
#1%
|ifx||#2||%
|else
|noexpand|hv@pdf@char3%
- |@ReturnAfterFi{%
+ |ltx@ReturnAfterFi{%
|BKM@vtex@three#2|@nil
}%
|fi
}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
|endgroup
-\long\def\@ReturnafterFi#1\fi{\fi#1}
% \end{macrocode}
%
% \begin{macrocode}
@@ -2037,9 +2155,10 @@ and the derived files
%<*pdftex>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-pdftex.def}%
- [2010/04/03 v1.10 bookmark driver for pdfTeX (HO)]%
+ [2010/04/04 v1.11 bookmark driver for pdfTeX (HO)]%
% \end{macrocode}
%
+% \begin{macro}{\BKM@DO@entry}
% \begin{macrocode}
\def\BKM@DO@entry#1#2{%
\begingroup
@@ -2135,6 +2254,7 @@ and the derived files
\endgroup
}
% \end{macrocode}
+% \end{macro}
% \begin{macro}{\BKM@DefGotoNameAction}
% Macro \cs{BKM@DefGotoNameAction} is a hook for
% package \xpackage{hypdestopt}.
@@ -2158,12 +2278,16 @@ and the derived files
%<*dvips>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-dvips.def}%
- [2010/04/03 v1.10 bookmark driver for dvips (HO)]%
+ [2010/04/04 v1.11 bookmark driver for dvips (HO)]%
% \end{macrocode}
+% \begin{macro}{\BKM@PSHeaderFile}
% \begin{macrocode}
\def\BKM@PSHeaderFile#1{%
\special{header=#1}%
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
%</dvips>
% \end{macrocode}
%
@@ -2173,12 +2297,16 @@ and the derived files
%<*dvipsone>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-dvipsone.def}%
- [2010/04/03 v1.10 bookmark driver for dvipsone (HO)]%
+ [2010/04/04 v1.11 bookmark driver for dvipsone (HO)]%
% \end{macrocode}
+% \begin{macro}{\BKM@PSHeaderFile}
% \begin{macrocode}
\def\BKM@PSHeaderFile#1{%
\special{header=#1}%
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
%</dvipsone>
% \end{macrocode}
%
@@ -2188,12 +2316,16 @@ and the derived files
%<*textures>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-textures.def}%
- [2010/04/03 v1.10 bookmark driver for textures (HO)]%
+ [2010/04/04 v1.11 bookmark driver for textures (HO)]%
% \end{macrocode}
+% \begin{macro}{\BKM@PSHeaderFile}
% \begin{macrocode}
\def\BKM@PSHeaderFile#1{%
\special{prePostScriptfile #1}%
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
%</textures>
% \end{macrocode}
%
@@ -2201,7 +2333,13 @@ and the derived files
%
% \begin{macrocode}
%<*pdfmark>
+% \end{macrocode}
+% \begin{macro}{\BKM@filename}
+% \begin{macrocode}
\def\BKM@filename{\jobname.out.ps}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
\BKM@PSHeaderFile\BKM@filename
% \end{macrocode}
%
@@ -2210,6 +2348,7 @@ and the derived files
\AfterLastShipout{\BKM@pdfmark@out}
% \end{macrocode}
%
+% \begin{macro}{\BKM@pdfmark@out}
% Do not use package \xpackage{rerunfilecheck} here, because
% the file \cs{BKM@filename} is not read during the \TeX\ run.
% \begin{macrocode}
@@ -2231,11 +2370,17 @@ and the derived files
\let\BKM@DO@entry\@gobbletwo
\fi
}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@write}
+% \begin{macrocode}
\def\BKM@write#{%
\immediate\write\BKM@file
}
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\BKM@DO@entry}
% The specification for pdfmark says that |/Color| is the
% name of the key for color, however ghostscript only passes
% the key into the PDF file, thus the key name must be |/C|.
@@ -2355,6 +2500,7 @@ and the derived files
\endgroup
}
% \end{macrocode}
+% \end{macro}
% \begin{macrocode}
%</pdfmark>
% \end{macrocode}
@@ -2376,18 +2522,25 @@ and the derived files
}
% \end{macrocode}
%
+% \begin{macro}{\BKM@id}
% \begin{macrocode}
\newcount\BKM@id
\BKM@id=\z@
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\BKM@0}
% \begin{macrocode}
-\def\BKM@0{000}
+\@namedef{BKM@0}{000}
% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ifBKM@sw}
% \begin{macrocode}
\newif\ifBKM@sw
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\bookmark}
% \begin{macrocode}
\newcommand*{\bookmark}[2][]{%
\if@filesw
@@ -2456,6 +2609,8 @@ and the derived files
\fi
}
% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@getx}
% \begin{macrocode}
\def\BKM@getx#1#2#3{%
\def\BKM@x@parent{#1}%
@@ -2463,6 +2618,8 @@ and the derived files
\def\BKM@x@childs{#3}%
}
% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BKM@auxentry}
% \begin{macrocode}
\def\BKM@auxentry#1{%
\expandafter\ifx\csname BKM@#1\endcsname\@empty
@@ -2471,6 +2628,7 @@ and the derived files
\fi
}
% \end{macrocode}
+% \end{macro}
%
% \subsubsection{Read auxiliary data}
%
@@ -2887,6 +3045,10 @@ and the derived files
% \item
% \cs{bookmarkget} added.
% \end{Version}
+% \begin{Version}{2010/04/04 v1.11}
+% \item
+% Bug fix (introduced in v1.10).
+% \end{Version}
% \end{History}
%
% \PrintIndex