summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/bookmark/README.md11
-rw-r--r--Master/texmf-dist/doc/latex/bookmark/bookmark-example.tex11
-rw-r--r--Master/texmf-dist/doc/latex/bookmark/bookmark.pdfbin475757 -> 479157 bytes
-rw-r--r--Master/texmf-dist/source/latex/bookmark/bookmark-frozen.dtx1073
-rw-r--r--Master/texmf-dist/source/latex/bookmark/bookmark.dtx250
-rw-r--r--Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm-2019-12-03.def191
-rw-r--r--Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm.def19
-rw-r--r--Master/texmf-dist/tex/latex/bookmark/bkm-dvips-2019-12-03.def (renamed from Master/texmf-dist/tex/latex/bookmark/bkm-dvipsone.def)22
-rw-r--r--Master/texmf-dist/tex/latex/bookmark/bkm-dvips.def32
-rw-r--r--Master/texmf-dist/tex/latex/bookmark/bkm-pdftex-2019-12-03.def (renamed from Master/texmf-dist/tex/latex/bookmark/bkm-textures.def)165
-rw-r--r--Master/texmf-dist/tex/latex/bookmark/bkm-pdftex.def21
-rw-r--r--Master/texmf-dist/tex/latex/bookmark/bkm-vtex-2019-12-03.def300
-rw-r--r--Master/texmf-dist/tex/latex/bookmark/bkm-vtex.def16
-rw-r--r--Master/texmf-dist/tex/latex/bookmark/bookmark.sty45
14 files changed, 1804 insertions, 352 deletions
diff --git a/Master/texmf-dist/doc/latex/bookmark/README.md b/Master/texmf-dist/doc/latex/bookmark/README.md
index d4437f18fc5..5e373e0e7cf 100644
--- a/Master/texmf-dist/doc/latex/bookmark/README.md
+++ b/Master/texmf-dist/doc/latex/bookmark/README.md
@@ -1,6 +1,6 @@
-# bookmarks
+# bookmark package for LaTeX
-bookmarks package for LaTeX
+Version: 2020-11-06 v1.29
This package implements a new bookmark (outline) organization for
@@ -10,3 +10,10 @@ are available (URI, GoToR, Named). The bookmarks are
generated in the first compile run.
Package hyperref uses two runs.
+
+## Copyright (C)
+* 2007, 2009-2011 Heiko Oberdiek
+* 2016-2020 Oberdiek Package Support Group
+
+## License
+LATEX Project Public License, version 1.3c or later.
diff --git a/Master/texmf-dist/doc/latex/bookmark/bookmark-example.tex b/Master/texmf-dist/doc/latex/bookmark/bookmark-example.tex
index 01777494850..14137f03164 100644
--- a/Master/texmf-dist/doc/latex/bookmark/bookmark-example.tex
+++ b/Master/texmf-dist/doc/latex/bookmark/bookmark-example.tex
@@ -9,11 +9,11 @@
%% This is a generated file.
%%
%% Project: bookmark
-%% Version: 2019/12/03 v1.28
+%% Version: 2020-11-06 v1.29
%%
%% Copyright (C)
%% 2007-2011 Heiko Oberdiek
-%% 2016-2019 Oberdiek Package Support Group
+%% 2016-2020 Oberdiek Package Support Group
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -32,11 +32,12 @@
%% https://github.com/ho-tex/bookmark/issues
%%
%%
-%% This work consists of the main source file bookmark.dtx
+%% This work consists of the main source file bookmark.dtx and bookmark-frozen.dtx
%% and the derived files
%% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm-2019-12-03.def, bkm-dvips-2019-12-03.def,
+%% bkm-pdftex-2019-12-03.def, bkm-vtex-2019-12-03.def,
%% bookmark-example.tex.
%%
\documentclass{article}
diff --git a/Master/texmf-dist/doc/latex/bookmark/bookmark.pdf b/Master/texmf-dist/doc/latex/bookmark/bookmark.pdf
index e4fbe0984c5..75c9c98b244 100644
--- a/Master/texmf-dist/doc/latex/bookmark/bookmark.pdf
+++ b/Master/texmf-dist/doc/latex/bookmark/bookmark.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/bookmark/bookmark-frozen.dtx b/Master/texmf-dist/source/latex/bookmark/bookmark-frozen.dtx
new file mode 100644
index 00000000000..bf4456829f3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/bookmark/bookmark-frozen.dtx
@@ -0,0 +1,1073 @@
+% \iffalse meta-comment
+%
+% File: bookmark-frozen.dtx
+% Version: 2020-11-06 v1.29
+% Info: PDF bookmarks
+%
+% Copyright (C)
+% 2007-2011 Heiko Oberdiek
+% 2016-2020 Oberdiek Package Support Group
+% https://github.com/ho-tex/bookmark/issues
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any later
+% version. This version of this license is in
+% https://www.latex-project.org/lppl/lppl-1-3c.txt
+% and the latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainers of this work are
+% Heiko Oberdiek and the Oberdiek Package Support Group
+% https://github.com/ho-tex/bookmark/issues
+%
+% This work consists of the main source file bookmark.dtx
+% and the derived files
+% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
+% bkm-dvipdfm.def, bkm-dvips.def,
+% bkm-pdftex.def, bkm-vtex.def,
+% bkm-dvipdfm-2019-12-03.def, bkm-dvips-2019-12-03.def,
+% bkm-pdftex-2019-12-03.def, bkm-vtex-2019-12-03.def,
+% bookmark-example.tex.
+%
+% Distribution:
+% CTAN:macros/latex/contrib/bookmark/bookmark.dtx
+% CTAN:macros/latex/contrib/bookmark/bookmark-frozen.dtx
+% CTAN:macros/latex/contrib/bookmark/bookmark.pdf
+%
+% Unpacking:
+% (a) If bookmark.ins is present:
+% tex bookmark.ins
+% (b) Without bookmark.ins:
+% tex bookmark.dtx
+% (c) If you insist on using LaTeX
+% latex \let\install=y\input{bookmark.dtx}
+% (quote the arguments according to the demands of your shell)
+%
+% Documentation:
+% (a) If bookmark.drv is present:
+% latex bookmark.drv
+% (b) Without bookmark.drv:
+% latex bookmark.dtx; ...
+% The class ltxdoc loads the configuration file ltxdoc.cfg
+% if available. Here you can specify further options, e.g.
+% use A4 as paper format:
+% \PassOptionsToClass{a4paper}{article}
+%
+% Programm calls to get the documentation (example):
+% pdflatex bookmark.dtx
+% makeindex -s gind.ist bookmark.idx
+% pdflatex bookmark.dtx
+% makeindex -s gind.ist bookmark.idx
+% pdflatex bookmark.dtx
+%
+% Installation:
+% TDS:tex/latex/bookmark/bookmark.sty
+% TDS:tex/latex/bookmark/bkm-dvipdfm.def
+% TDS:tex/latex/bookmark/bkm-dvips.def
+% TDS:tex/latex/bookmark/bkm-pdftex.def
+% TDS:tex/latex/bookmark/bkm-vtex.def
+% TDS:tex/latex/bookmark/bkm-dvipdfm-2019-12-03.def
+% TDS:tex/latex/bookmark/bkm-dvips-2019-12-03.def
+% TDS:tex/latex/bookmark/bkm-pdftex-2019-12-03.def
+% TDS:tex/latex/bookmark/bkm-vtex-2019-12-03.def%
+% TDS:doc/latex/bookmark/bookmark.pdf
+% TDS:doc/latex/bookmark/bookmark-example.tex
+% TDS:source/latex/bookmark/bookmark.dtx
+% TDS:source/latex/bookmark/bookmark-frozen.dtx
+%
+% \fi
+%<*pdftexfrozen>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{bkm-pdftex.def}%
+ [2019/12/03 v1.28 bookmark driver for pdfTeX (HO)]%
+\def\BKM@DO@entry#1#2{%
+ \begingroup
+ \kvsetkeys{BKM@DO}{#1}%
+ \def\BKM@DO@title{#2}%
+ \ifx\BKM@DO@srcfile\@empty
+ \else
+ \BKM@UnescapeHex\BKM@DO@srcfile
+ \fi
+ \BKM@UnescapeHex\BKM@DO@title
+ \expandafter\expandafter\expandafter\BKM@getx
+ \csname BKM@\BKM@DO@id\endcsname\@empty\@empty
+ \let\BKM@attr\@empty
+ \ifx\BKM@DO@flags\@empty
+ \else
+ \edef\BKM@attr{\BKM@attr/F \BKM@DO@flags}%
+ \fi
+ \ifx\BKM@DO@color\@empty
+ \else
+ \edef\BKM@attr{\BKM@attr/C[\BKM@DO@color]}%
+ \fi
+ \ifx\BKM@attr\@empty
+ \else
+ \edef\BKM@attr{attr{\BKM@attr}}%
+ \fi
+ \let\BKM@action\@empty
+ \ifx\BKM@DO@gotor\@empty
+ \ifx\BKM@DO@dest\@empty
+ \ifx\BKM@DO@named\@empty
+ \ifx\BKM@DO@rawaction\@empty
+ \ifx\BKM@DO@uri\@empty
+ \ifx\BKM@DO@page\@empty
+ \PackageError{bookmark}{%
+ Missing action\BKM@SourceLocation
+ }\@ehc
+ \edef\BKM@action{goto page1{/Fit}}%
+ \else
+ \ifx\BKM@DO@view\@empty
+ \def\BKM@DO@view{Fit}%
+ \fi
+ \edef\BKM@action{goto page\BKM@DO@page{/\BKM@DO@view}}%
+ \fi
+ \else
+ \BKM@UnescapeHex\BKM@DO@uri
+ \BKM@EscapeString\BKM@DO@uri
+ \edef\BKM@action{user{<</S/URI/URI(\BKM@DO@uri)>>}}%
+ \fi
+ \else
+ \BKM@UnescapeHex\BKM@DO@rawaction
+ \edef\BKM@action{%
+ user{%
+ <<%
+ \BKM@DO@rawaction
+ >>%
+ }%
+ }%
+ \fi
+ \else
+ \BKM@EscapeName\BKM@DO@named
+ \edef\BKM@action{%
+ user{<</S/Named/N/\BKM@DO@named>>}%
+ }%
+ \fi
+ \else
+ \BKM@UnescapeHex\BKM@DO@dest
+ \BKM@DefGotoNameAction\BKM@action\BKM@DO@dest
+ \fi
+ \else
+ \ifx\BKM@DO@dest\@empty
+ \ifx\BKM@DO@page\@empty
+ \def\BKM@DO@page{0}%
+ \else
+ \BKM@CalcExpr\BKM@DO@page\BKM@DO@page-1%
+ \fi
+ \ifx\BKM@DO@view\@empty
+ \def\BKM@DO@view{Fit}%
+ \fi
+ \edef\BKM@action{/D[\BKM@DO@page/\BKM@DO@view]}%
+ \else
+ \BKM@UnescapeHex\BKM@DO@dest
+ \BKM@EscapeString\BKM@DO@dest
+ \edef\BKM@action{/D(\BKM@DO@dest)}%
+ \fi
+ \BKM@UnescapeHex\BKM@DO@gotor
+ \BKM@EscapeString\BKM@DO@gotor
+ \edef\BKM@action{%
+ user{%
+ <<%
+ /S/GoToR%
+ /F(\BKM@DO@gotor)%
+ \BKM@action
+ >>%
+ }%
+ }%
+ \fi
+ \pdfoutline\BKM@attr\BKM@action
+ count\ifBKM@DO@open\else-\fi\BKM@x@childs
+ {\BKM@DO@title}%
+ \endgroup
+}
+\def\BKM@DefGotoNameAction#1#2{%
+ \BKM@EscapeString\BKM@DO@dest
+ \edef#1{goto name{#2}}%
+}
+\def\BKM@SourceLocation{%
+ \ifx\BKM@DO@srcfile\@empty
+ \ifx\BKM@DO@srcline\@empty
+ \else
+ .\MessageBreak
+ Source: line \BKM@DO@srcline
+ \fi
+ \else
+ \ifx\BKM@DO@srcline\@empty
+ .\MessageBreak
+ Source: file `\BKM@DO@srcfile'%
+ \else
+ .\MessageBreak
+ Source: file `\BKM@DO@srcfile', line \BKM@DO@srcline
+ \fi
+ \fi
+}
+\RequirePackage{auxhook}
+\AddLineBeginMainAux{%
+ \string\providecommand\string\BKM@entry[2]{}%
+}
+\newcount\BKM@id
+\BKM@id=\z@
+\@namedef{BKM@0}{000}
+\newif\ifBKM@sw
+\newcommand*{\bookmark}[2][]{%
+ \if@filesw
+ \begingroup
+ \BKM@InitSourceLocation
+ \def\bookmark@text{#2}%
+ \BKM@setup{#1}%
+ \ifx\BKM@srcfile\@empty
+ \else
+ \BKM@EscapeHex\BKM@srcfile
+ \fi
+ \edef\BKM@prev{\the\BKM@id}%
+ \global\advance\BKM@id\@ne
+ \BKM@swtrue
+ \@whilesw\ifBKM@sw\fi{%
+ \ifnum\ifBKM@startatroot\z@\else\BKM@prev\fi=\z@
+ \BKM@startatrootfalse
+ \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
+ 0{\BKM@level}0%
+ }%
+ \BKM@swfalse
+ \else
+ \expandafter\expandafter\expandafter\BKM@getx
+ \csname BKM@\BKM@prev\endcsname
+ \ifnum\BKM@level>\BKM@x@level\relax
+ \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
+ {\BKM@prev}{\BKM@level}0%
+ }%
+ \ifnum\BKM@prev>\z@
+ \BKM@CalcExpr\BKM@CalcResult\BKM@x@childs+1%
+ \expandafter\xdef\csname BKM@\BKM@prev\endcsname{%
+ {\BKM@x@parent}{\BKM@x@level}{\BKM@CalcResult}%
+ }%
+ \fi
+ \BKM@swfalse
+ \else
+ \let\BKM@prev\BKM@x@parent
+ \fi
+ \fi
+ }%
+ \pdfstringdef\BKM@title{\bookmark@text}%
+ \edef\BKM@FLAGS{\BKM@PrintStyle}%
+ \csname BKM@HypDestOptHook\endcsname
+ \BKM@EscapeHex\BKM@dest
+ \BKM@EscapeHex\BKM@uri
+ \BKM@EscapeHex\BKM@gotor
+ \BKM@EscapeHex\BKM@rawaction
+ \BKM@EscapeHex\BKM@title
+ \immediate\write\@mainaux{%
+ \string\BKM@entry{%
+ id=\number\BKM@id
+ \ifBKM@open
+ \ifnum\BKM@level<\BKM@openlevel
+ ,open%
+ \fi
+ \fi
+ \BKM@auxentry{dest}%
+ \BKM@auxentry{named}%
+ \BKM@auxentry{uri}%
+ \BKM@auxentry{gotor}%
+ \BKM@auxentry{page}%
+ \BKM@auxentry{view}%
+ \BKM@auxentry{rawaction}%
+ \BKM@auxentry{color}%
+ \ifnum\BKM@FLAGS>\z@
+ ,flags=\BKM@FLAGS
+ \fi
+ \BKM@auxentry{srcline}%
+ \BKM@auxentry{srcfile}%
+ }{\BKM@title}%
+ }%
+ \endgroup
+ \fi
+}
+\def\BKM@getx#1#2#3{%
+ \def\BKM@x@parent{#1}%
+ \def\BKM@x@level{#2}%
+ \def\BKM@x@childs{#3}%
+}
+\def\BKM@auxentry#1{%
+ \expandafter\ifx\csname BKM@#1\endcsname\@empty
+ \else
+ ,#1={\csname BKM@#1\endcsname}%
+ \fi
+}
+\def\BKM@InitSourceLocation{%
+ \edef\BKM@srcline{\the\inputlineno}%
+ \BKM@LuaTeX@InitFile
+ \ifx\BKM@srcfile\@empty
+ \ltx@IfUndefined{currfilepath}{}{%
+ \edef\BKM@srcfile{\currfilepath}%
+ }%
+ \fi
+}
+\ifluatex
+ \ifnum\luatexversion>36 %
+ \def\BKM@LuaTeX@InitFile{%
+ \begingroup
+ \ltx@LocToksA={}%
+ \edef\x{\endgroup
+ \def\noexpand\BKM@srcfile{%
+ \the\expandafter\ltx@LocToksA
+ \directlua{%
+ if status and status.filename then %
+ tex.settoks('ltx@LocToksA', status.filename)%
+ end%
+ }%
+ }%
+ }\x
+ }%
+ \else
+ \let\BKM@LuaTeX@InitFile\relax
+ \fi
+\else
+ \let\BKM@LuaTeX@InitFile\relax
+\fi
+\SetupKeyvalOptions{family=BKM@DO,prefix=BKM@DO@}
+\DeclareStringOption[0]{id}
+\DeclareBoolOption{open}
+\DeclareStringOption{flags}
+\DeclareStringOption{color}
+\DeclareStringOption{dest}
+\DeclareStringOption{named}
+\DeclareStringOption{uri}
+\DeclareStringOption{gotor}
+\DeclareStringOption{page}
+\DeclareStringOption{view}
+\DeclareStringOption{rawaction}
+\DeclareStringOption{srcline}
+\DeclareStringOption{srcfile}
+\AtBeginDocument{%
+ \let\BKM@entry\BKM@DO@entry
+}
+\ifBKM@atend
+ \AfterLastShipout{%
+ \BKM@EndHook
+ }%
+\fi
+%</pdftexfrozen>
+%<*dvipsfrozen>
+\def\BKM@SourceLocation{%
+ \ifx\BKM@DO@srcfile\@empty
+ \ifx\BKM@DO@srcline\@empty
+ \else
+ .\MessageBreak
+ Source: line \BKM@DO@srcline
+ \fi
+ \else
+ \ifx\BKM@DO@srcline\@empty
+ .\MessageBreak
+ Source: file `\BKM@DO@srcfile'%
+ \else
+ .\MessageBreak
+ Source: file `\BKM@DO@srcfile', line \BKM@DO@srcline
+ \fi
+ \fi
+}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{bkm-dvips.def}%
+ [2019/12/03 v1.28 bookmark driver for dvips (HO)]%
+\def\BKM@PSHeaderFile#1{%
+ \special{header=#1}%
+}
+\def\BKM@filename{\jobname.out.ps}
+\BKM@PSHeaderFile\BKM@filename
+\RequirePackage{atveryend}[2009/12/07]
+\AfterLastShipout{\BKM@pdfmark@out}
+\def\BKM@pdfmark@out{%
+ \if@filesw
+ \newwrite\BKM@file
+ \immediate\openout\BKM@file=\BKM@filename\relax
+ \BKM@write{\@percentchar!}%
+ \BKM@write{/pdfmark where{pop}}%
+ \BKM@write{%
+ {%
+ /globaldict where{pop globaldict}{userdict}ifelse%
+ /pdfmark/cleartomark load put%
+ }%
+ }%
+ \BKM@write{ifelse}%
+ \else
+ \let\BKM@write\@gobble
+ \let\BKM@DO@entry\@gobbletwo
+ \fi
+}
+\def\BKM@write#{%
+ \immediate\write\BKM@file
+}
+\def\BKM@DO@entry#1#2{%
+ \begingroup
+ \kvsetkeys{BKM@DO}{#1}%
+ \ifx\BKM@DO@srcfile\@empty
+ \else
+ \BKM@UnescapeHex\BKM@DO@srcfile
+ \fi
+ \def\BKM@DO@title{#2}%
+ \BKM@UnescapeHex\BKM@DO@title
+ \expandafter\expandafter\expandafter\BKM@getx
+ \csname BKM@\BKM@DO@id\endcsname\@empty\@empty
+ \let\BKM@attr\@empty
+ \ifx\BKM@DO@flags\@empty
+ \else
+ \edef\BKM@attr{\BKM@attr/F \BKM@DO@flags}%
+ \fi
+ \ifx\BKM@DO@color\@empty
+ \else
+ \edef\BKM@attr{\BKM@attr/C[\BKM@DO@color]}%
+ \fi
+ \let\BKM@action\@empty
+ \ifx\BKM@DO@gotor\@empty
+ \ifx\BKM@DO@dest\@empty
+ \ifx\BKM@DO@named\@empty
+ \ifx\BKM@DO@rawaction\@empty
+ \ifx\BKM@DO@uri\@empty
+ \ifx\BKM@DO@page\@empty
+ \PackageError{bookmark}{%
+ Missing action\BKM@SourceLocation
+ }\@ehc
+ \edef\BKM@action{%
+ /Action/GoTo%
+ /Page 1%
+ /View[/Fit]%
+ }%
+ \else
+ \ifx\BKM@DO@view\@empty
+ \def\BKM@DO@view{Fit}%
+ \fi
+ \edef\BKM@action{%
+ /Action/GoTo%
+ /Page \BKM@DO@page
+ /View[/\BKM@DO@view]%
+ }%
+ \fi
+ \else
+ \BKM@UnescapeHex\BKM@DO@uri
+ \BKM@EscapeString\BKM@DO@uri
+ \edef\BKM@action{%
+ /Action<<%
+ /Subtype/URI%
+ /URI(\BKM@DO@uri)%
+ >>%
+ }%
+ \fi
+ \else
+ \BKM@UnescapeHex\BKM@DO@rawaction
+ \edef\BKM@action{%
+ /Action<<%
+ \BKM@DO@rawaction
+ >>%
+ }%
+ \fi
+ \else
+ \BKM@EscapeName\BKM@DO@named
+ \edef\BKM@action{%
+ /Action<<%
+ /Subtype/Named%
+ /N/\BKM@DO@named
+ >>%
+ }%
+ \fi
+ \else
+ \BKM@UnescapeHex\BKM@DO@dest
+ \BKM@EscapeString\BKM@DO@dest
+ \edef\BKM@action{%
+ /Action/GoTo%
+ /Dest(\BKM@DO@dest)cvn%
+ }%
+ \fi
+ \else
+ \ifx\BKM@DO@dest\@empty
+ \ifx\BKM@DO@page\@empty
+ \def\BKM@DO@page{1}%
+ \fi
+ \ifx\BKM@DO@view\@empty
+ \def\BKM@DO@view{Fit}%
+ \fi
+ \edef\BKM@action{%
+ /Page \BKM@DO@page
+ /View[/\BKM@DO@view]%
+ }%
+ \else
+ \BKM@UnescapeHex\BKM@DO@dest
+ \BKM@EscapeString\BKM@DO@dest
+ \edef\BKM@action{%
+ /Dest(\BKM@DO@dest)cvn%
+ }%
+ \fi
+ \BKM@UnescapeHex\BKM@DO@gotor
+ \BKM@EscapeString\BKM@DO@gotor
+ \edef\BKM@action{%
+ /Action/GoToR%
+ /File(\BKM@DO@gotor)%
+ \BKM@action
+ }%
+ \fi
+ \BKM@write{[}%
+ \BKM@write{/Title(\BKM@DO@title)}%
+ \ifnum\BKM@x@childs>\z@
+ \BKM@write{/Count \ifBKM@DO@open\else-\fi\BKM@x@childs}%
+ \fi
+ \ifx\BKM@attr\@empty
+ \else
+ \BKM@write{\BKM@attr}%
+ \fi
+ \BKM@write{\BKM@action}%
+ \BKM@write{/OUT pdfmark}%
+ \endgroup
+}
+\RequirePackage{auxhook}
+\AddLineBeginMainAux{%
+ \string\providecommand\string\BKM@entry[2]{}%
+}
+\newcount\BKM@id
+\BKM@id=\z@
+\@namedef{BKM@0}{000}
+\newif\ifBKM@sw
+\newcommand*{\bookmark}[2][]{%
+ \if@filesw
+ \begingroup
+ \BKM@InitSourceLocation
+ \def\bookmark@text{#2}%
+ \BKM@setup{#1}%
+ \ifx\BKM@srcfile\@empty
+ \else
+ \BKM@EscapeHex\BKM@srcfile
+ \fi
+ \edef\BKM@prev{\the\BKM@id}%
+ \global\advance\BKM@id\@ne
+ \BKM@swtrue
+ \@whilesw\ifBKM@sw\fi{%
+ \ifnum\ifBKM@startatroot\z@\else\BKM@prev\fi=\z@
+ \BKM@startatrootfalse
+ \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
+ 0{\BKM@level}0%
+ }%
+ \BKM@swfalse
+ \else
+ \expandafter\expandafter\expandafter\BKM@getx
+ \csname BKM@\BKM@prev\endcsname
+ \ifnum\BKM@level>\BKM@x@level\relax
+ \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
+ {\BKM@prev}{\BKM@level}0%
+ }%
+ \ifnum\BKM@prev>\z@
+ \BKM@CalcExpr\BKM@CalcResult\BKM@x@childs+1%
+ \expandafter\xdef\csname BKM@\BKM@prev\endcsname{%
+ {\BKM@x@parent}{\BKM@x@level}{\BKM@CalcResult}%
+ }%
+ \fi
+ \BKM@swfalse
+ \else
+ \let\BKM@prev\BKM@x@parent
+ \fi
+ \fi
+ }%
+ \pdfstringdef\BKM@title{\bookmark@text}%
+ \edef\BKM@FLAGS{\BKM@PrintStyle}%
+ \csname BKM@HypDestOptHook\endcsname
+ \BKM@EscapeHex\BKM@dest
+ \BKM@EscapeHex\BKM@uri
+ \BKM@EscapeHex\BKM@gotor
+ \BKM@EscapeHex\BKM@rawaction
+ \BKM@EscapeHex\BKM@title
+ \immediate\write\@mainaux{%
+ \string\BKM@entry{%
+ id=\number\BKM@id
+ \ifBKM@open
+ \ifnum\BKM@level<\BKM@openlevel
+ ,open%
+ \fi
+ \fi
+ \BKM@auxentry{dest}%
+ \BKM@auxentry{named}%
+ \BKM@auxentry{uri}%
+ \BKM@auxentry{gotor}%
+ \BKM@auxentry{page}%
+ \BKM@auxentry{view}%
+ \BKM@auxentry{rawaction}%
+ \BKM@auxentry{color}%
+ \ifnum\BKM@FLAGS>\z@
+ ,flags=\BKM@FLAGS
+ \fi
+ \BKM@auxentry{srcline}%
+ \BKM@auxentry{srcfile}%
+ }{\BKM@title}%
+ }%
+ \endgroup
+ \fi
+}
+\def\BKM@getx#1#2#3{%
+ \def\BKM@x@parent{#1}%
+ \def\BKM@x@level{#2}%
+ \def\BKM@x@childs{#3}%
+}
+\def\BKM@auxentry#1{%
+ \expandafter\ifx\csname BKM@#1\endcsname\@empty
+ \else
+ ,#1={\csname BKM@#1\endcsname}%
+ \fi
+}
+\def\BKM@InitSourceLocation{%
+ \edef\BKM@srcline{\the\inputlineno}%
+ \BKM@LuaTeX@InitFile
+ \ifx\BKM@srcfile\@empty
+ \ltx@IfUndefined{currfilepath}{}{%
+ \edef\BKM@srcfile{\currfilepath}%
+ }%
+ \fi
+}
+\ifluatex
+ \ifnum\luatexversion>36 %
+ \def\BKM@LuaTeX@InitFile{%
+ \begingroup
+ \ltx@LocToksA={}%
+ \edef\x{\endgroup
+ \def\noexpand\BKM@srcfile{%
+ \the\expandafter\ltx@LocToksA
+ \directlua{%
+ if status and status.filename then %
+ tex.settoks('ltx@LocToksA', status.filename)%
+ end%
+ }%
+ }%
+ }\x
+ }%
+ \else
+ \let\BKM@LuaTeX@InitFile\relax
+ \fi
+\else
+ \let\BKM@LuaTeX@InitFile\relax
+\fi
+\SetupKeyvalOptions{family=BKM@DO,prefix=BKM@DO@}
+\DeclareStringOption[0]{id}
+\DeclareBoolOption{open}
+\DeclareStringOption{flags}
+\DeclareStringOption{color}
+\DeclareStringOption{dest}
+\DeclareStringOption{named}
+\DeclareStringOption{uri}
+\DeclareStringOption{gotor}
+\DeclareStringOption{page}
+\DeclareStringOption{view}
+\DeclareStringOption{rawaction}
+\DeclareStringOption{srcline}
+\DeclareStringOption{srcfile}
+\AtBeginDocument{%
+ \let\BKM@entry\BKM@DO@entry
+}
+\ifBKM@atend
+ \AfterLastShipout{%
+ \BKM@EndHook
+ }%
+\fi
+%</dvipsfrozen>
+%<*dvipdfmfrozen>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{bkm-dvipdfm.def}%
+ [2019/12/03 v1.28 bookmark driver for dvipdfm (HO)]%
+\newcount\BKM@id
+\BKM@id=\z@
+\@namedef{BKM@0}{000}
+\newif\ifBKM@sw
+\newcommand*{\bookmark}[2][]{%
+ \if@filesw
+ \begingroup
+ \def\bookmark@text{#2}%
+ \BKM@setup{#1}%
+ \edef\BKM@prev{\the\BKM@id}%
+ \global\advance\BKM@id\@ne
+ \BKM@swtrue
+ \@whilesw\ifBKM@sw\fi{%
+ \def\BKM@abslevel{1}%
+ \ifnum\ifBKM@startatroot\z@\else\BKM@prev\fi=\z@
+ \BKM@startatrootfalse
+ \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
+ 0{\BKM@level}\BKM@abslevel
+ }%
+ \BKM@swfalse
+ \else
+ \expandafter\expandafter\expandafter\BKM@getx
+ \csname BKM@\BKM@prev\endcsname
+ \ifnum\BKM@level>\BKM@x@level\relax
+ \BKM@CalcExpr\BKM@abslevel\BKM@x@abslevel+1%
+ \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
+ {\BKM@prev}{\BKM@level}\BKM@abslevel
+ }%
+ \BKM@swfalse
+ \else
+ \let\BKM@prev\BKM@x@parent
+ \fi
+ \fi
+ }%
+ \csname HyPsd@XeTeXBigCharstrue\endcsname
+ \pdfstringdef\BKM@title{\bookmark@text}%
+ \edef\BKM@FLAGS{\BKM@PrintStyle}%
+ \let\BKM@action\@empty
+ \ifx\BKM@gotor\@empty
+ \ifx\BKM@dest\@empty
+ \ifx\BKM@named\@empty
+ \ifx\BKM@rawaction\@empty
+ \ifx\BKM@uri\@empty
+ \ifx\BKM@page\@empty
+ \PackageError{bookmark}{Missing action}\@ehc
+ \edef\BKM@action{/Dest[@page1/Fit]}%
+ \else
+ \ifx\BKM@view\@empty
+ \def\BKM@view{Fit}%
+ \fi
+ \edef\BKM@action{/Dest[@page\BKM@page/\BKM@view]}%
+ \fi
+ \else
+ \BKM@EscapeString\BKM@uri
+ \edef\BKM@action{%
+ /A<<%
+ /S/URI%
+ /URI(\BKM@uri)%
+ >>%
+ }%
+ \fi
+ \else
+ \edef\BKM@action{/A<<\BKM@rawaction>>}%
+ \fi
+ \else
+ \BKM@EscapeName\BKM@named
+ \edef\BKM@action{%
+ /A<</S/Named/N/\BKM@named>>%
+ }%
+ \fi
+ \else
+ \BKM@EscapeString\BKM@dest
+ \edef\BKM@action{%
+ /A<<%
+ /S/GoTo%
+ /D(\BKM@dest)%
+ >>%
+ }%
+ \fi
+ \else
+ \ifx\BKM@dest\@empty
+ \ifx\BKM@page\@empty
+ \def\BKM@page{0}%
+ \else
+ \BKM@CalcExpr\BKM@page\BKM@page-1%
+ \fi
+ \ifx\BKM@view\@empty
+ \def\BKM@view{Fit}%
+ \fi
+ \edef\BKM@action{/D[\BKM@page/\BKM@view]}%
+ \else
+ \BKM@EscapeString\BKM@dest
+ \edef\BKM@action{/D(\BKM@dest)}%
+ \fi
+ \BKM@EscapeString\BKM@gotor
+ \edef\BKM@action{%
+ /A<<%
+ /S/GoToR%
+ /F(\BKM@gotor)%
+ \BKM@action
+ >>%
+ }%
+ \fi
+ \special{pdf:%
+ out \ifBKM@DvipdfmxOutlineOpen
+ [%
+ \ifBKM@open
+ \ifnum\BKM@level<%
+ \expandafter\ltx@firstofone\expandafter
+ {\number\BKM@openlevel} %
+ \else
+ -%
+ \fi
+ \else
+ -%
+ \fi
+ ] %
+ \fi
+ \BKM@abslevel
+ <<%
+ /Title(\BKM@title)%
+ \ifx\BKM@color\@empty
+ \else
+ /C[\BKM@color]%
+ \fi
+ \ifnum\BKM@FLAGS>\z@
+ /F \BKM@FLAGS
+ \fi
+ \BKM@action
+ >>%
+ }%
+ \endgroup
+ \fi
+}
+\def\BKM@getx#1#2#3{%
+ \def\BKM@x@parent{#1}%
+ \def\BKM@x@level{#2}%
+ \def\BKM@x@abslevel{#3}%
+}
+\ifBKM@atend
+ \RequirePackage{atenddvi}%
+ \AtEndDvi{\BKM@EndHook}%
+\fi
+%</dvipdfmfrozen>
+%<*vtexfrozen>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{bkm-vtex.def}%
+ [2019/12/03 v1.28 bookmark driver for VTeX (HO)]%
+\ifvtexpdf
+\else
+ \PackageWarningNoLine{bookmark}{%
+ The VTeX driver only supports PDF mode%
+ }%
+\fi
+\newcount\BKM@id
+\BKM@id=\z@
+\@namedef{BKM@0}{00}
+\newif\ifBKM@sw
+\newcommand*{\bookmark}[2][]{%
+ \if@filesw
+ \begingroup
+ \def\bookmark@text{#2}%
+ \BKM@setup{#1}%
+ \edef\BKM@prev{\the\BKM@id}%
+ \global\advance\BKM@id\@ne
+ \BKM@swtrue
+ \@whilesw\ifBKM@sw\fi{%
+ \ifnum\ifBKM@startatroot\z@\else\BKM@prev\fi=\z@
+ \BKM@startatrootfalse
+ \def\BKM@parent{0}%
+ \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
+ 0{\BKM@level}%
+ }%
+ \BKM@swfalse
+ \else
+ \expandafter\expandafter\expandafter\BKM@getx
+ \csname BKM@\BKM@prev\endcsname
+ \ifnum\BKM@level>\BKM@x@level\relax
+ \let\BKM@parent\BKM@prev
+ \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
+ {\BKM@prev}{\BKM@level}%
+ }%
+ \BKM@swfalse
+ \else
+ \let\BKM@prev\BKM@x@parent
+ \fi
+ \fi
+ }%
+ \pdfstringdef\BKM@title{\bookmark@text}%
+ \BKM@vtex@title
+ \edef\BKM@FLAGS{\BKM@PrintStyle}%
+ \let\BKM@action\@empty
+ \ifx\BKM@gotor\@empty
+ \ifx\BKM@dest\@empty
+ \ifx\BKM@named\@empty
+ \ifx\BKM@rawaction\@empty
+ \ifx\BKM@uri\@empty
+ \ifx\BKM@page\@empty
+ \PackageError{bookmark}{Missing action}\@ehc
+ \def\BKM@action{!1}%
+ \else
+ \edef\BKM@action{!\BKM@page}%
+ \fi
+ \else
+ \BKM@EscapeString\BKM@uri
+ \edef\BKM@action{%
+ <u=%
+ /S/URI%
+ /URI(\BKM@uri)%
+ >%
+ }%
+ \fi
+ \else
+ \edef\BKM@action{<u=\BKM@rawaction>}%
+ \fi
+ \else
+ \BKM@EscapeName\BKM@named
+ \edef\BKM@action{%
+ <u=%
+ /S/Named%
+ /N/\BKM@named
+ >%
+ }%
+ \fi
+ \else
+ \BKM@EscapeString\BKM@dest
+ \edef\BKM@action{\BKM@dest}%
+ \fi
+ \else
+ \ifx\BKM@dest\@empty
+ \ifx\BKM@page\@empty
+ \def\BKM@page{1}%
+ \fi
+ \ifx\BKM@view\@empty
+ \def\BKM@view{Fit}%
+ \fi
+ \edef\BKM@action{/D[\BKM@page/\BKM@view]}%
+ \else
+ \BKM@EscapeString\BKM@dest
+ \edef\BKM@action{/D(\BKM@dest)}%
+ \fi
+ \BKM@EscapeString\BKM@gotor
+ \edef\BKM@action{%
+ <u=%
+ /S/GoToR%
+ /F(\BKM@gotor)%
+ \BKM@action
+ >>%
+ }%
+ \fi
+ \ifx\BKM@color\@empty
+ \let\BKM@RGBcolor\@empty
+ \else
+ \expandafter\BKM@toRGB\BKM@color\@nil
+ \fi
+ \special{%
+ !outline \BKM@action;%
+ p=\BKM@parent,%
+ i=\number\BKM@id,%
+ s=%
+ \ifBKM@open
+ \ifnum\BKM@level<\BKM@openlevel
+ o%
+ \else
+ c%
+ \fi
+ \else
+ c%
+ \fi,%
+ \ifx\BKM@RGBcolor\@empty
+ \else
+ c=\BKM@RGBcolor,%
+ \fi
+ \ifnum\BKM@FLAGS>\z@
+ f=\BKM@FLAGS,%
+ \fi
+ t=\BKM@title
+ }%
+ \endgroup
+ \fi
+}
+\def\BKM@getx#1#2{%
+ \def\BKM@x@parent{#1}%
+ \def\BKM@x@level{#2}%
+}
+\def\BKM@toRGB#1 #2 #3\@nil{%
+ \let\BKM@RGBcolor\@empty
+ \BKM@toRGBComponent{#1}%
+ \BKM@toRGBComponent{#2}%
+ \BKM@toRGBComponent{#3}%
+}
+\def\BKM@toRGBComponent#1{%
+ \dimen@=#1pt\relax
+ \ifdim\dimen@>\z@
+ \ifdim\dimen@<\p@
+ \dimen@=255\dimen@
+ \advance\dimen@ by 32768sp\relax
+ \divide\dimen@ by 65536\relax
+ \dimen@ii=\dimen@
+ \divide\dimen@ii by 16\relax
+ \edef\BKM@RGBcolor{%
+ \BKM@RGBcolor
+ \BKM@toHexDigit\dimen@ii
+ }%
+ \dimen@ii=16\dimen@ii
+ \advance\dimen@-\dimen@ii
+ \edef\BKM@RGBcolor{%
+ \BKM@RGBcolor
+ \BKM@toHexDigit\dimen@
+ }%
+ \else
+ \edef\BKM@RGBcolor{\BKM@RGBcolor FF}%
+ \fi
+ \else
+ \edef\BKM@RGBcolor{\BKM@RGBcolor00}%
+ \fi
+}
+\def\BKM@toHexDigit#1{%
+ \ifcase\expandafter\@firstofone\expandafter{\number#1} %
+ 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or
+ 8\or 9\or A\or B\or C\or D\or E\or F%
+ \fi
+}
+\begingroup
+ \catcode`\|=0 %
+ \catcode`\\=12 %
+ |gdef|BKM@vtex@title{%
+ |@onelevel@sanitize|BKM@title
+ |edef|BKM@title{|expandafter|BKM@vtex@leftparen|BKM@title\(|@nil}%
+ |edef|BKM@title{|expandafter|BKM@vtex@rightparen|BKM@title\)|@nil}%
+ |edef|BKM@title{|expandafter|BKM@vtex@zero|BKM@title\0|@nil}%
+ |edef|BKM@title{|expandafter|BKM@vtex@one|BKM@title\1|@nil}%
+ |edef|BKM@title{|expandafter|BKM@vtex@two|BKM@title\2|@nil}%
+ |edef|BKM@title{|expandafter|BKM@vtex@three|BKM@title\3|@nil}%
+ }%
+ |gdef|BKM@vtex@leftparen#1\(#2|@nil{%
+ #1%
+ |ifx||#2||%
+ |else
+ (%
+ |ltx@ReturnAfterFi{%
+ |BKM@vtex@leftparen#2|@nil
+ }%
+ |fi
+ }%
+ |gdef|BKM@vtex@rightparen#1\)#2|@nil{%
+ #1%
+ |ifx||#2||%
+ |else
+ )%
+ |ltx@ReturnAfterFi{%
+ |BKM@vtex@rightparen#2|@nil
+ }%
+ |fi
+ }%
+ |gdef|BKM@vtex@zero#1\0#2|@nil{%
+ #1%
+ |ifx||#2||%
+ |else
+ |noexpand|hv@pdf@char0%
+ |ltx@ReturnAfterFi{%
+ |BKM@vtex@zero#2|@nil
+ }%
+ |fi
+ }%
+ |gdef|BKM@vtex@one#1\1#2|@nil{%
+ #1%
+ |ifx||#2||%
+ |else
+ |noexpand|hv@pdf@char1%
+ |ltx@ReturnAfterFi{%
+ |BKM@vtex@one#2|@nil
+ }%
+ |fi
+ }%
+ |gdef|BKM@vtex@two#1\2#2|@nil{%
+ #1%
+ |ifx||#2||%
+ |else
+ |noexpand|hv@pdf@char2%
+ |ltx@ReturnAfterFi{%
+ |BKM@vtex@two#2|@nil
+ }%
+ |fi
+ }%
+ |gdef|BKM@vtex@three#1\3#2|@nil{%
+ #1%
+ |ifx||#2||%
+ |else
+ |noexpand|hv@pdf@char3%
+ |ltx@ReturnAfterFi{%
+ |BKM@vtex@three#2|@nil
+ }%
+ |fi
+ }%
+|endgroup
+\ifBKM@atend
+ \RequirePackage{atenddvi}%
+ \AtEndDvi{\BKM@EndHook}%
+\fi
+%</vtexfrozen>
diff --git a/Master/texmf-dist/source/latex/bookmark/bookmark.dtx b/Master/texmf-dist/source/latex/bookmark/bookmark.dtx
index 49ed2e897d1..c4431428b95 100644
--- a/Master/texmf-dist/source/latex/bookmark/bookmark.dtx
+++ b/Master/texmf-dist/source/latex/bookmark/bookmark.dtx
@@ -1,12 +1,12 @@
% \iffalse meta-comment
%
% File: bookmark.dtx
-% Version: 2019/12/03 v1.28
+% Version: 2020-11-06 v1.29
% Info: PDF bookmarks
%
% Copyright (C)
% 2007-2011 Heiko Oberdiek
-% 2016-2019 Oberdiek Package Support Group
+% 2016-2020 Oberdiek Package Support Group
% https://github.com/ho-tex/bookmark/issues
%
% This work may be distributed and/or modified under the
@@ -28,12 +28,15 @@
% This work consists of the main source file bookmark.dtx
% and the derived files
% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
+% bkm-dvipdfm.def, bkm-dvips.def,
+% bkm-pdftex.def, bkm-vtex.def,
+% bkm-dvipdfm-2019-12-03.def, bkm-dvips-2019-12-03.def,
+% bkm-pdftex-2019-12-03.def, bkm-vtex-2019-12-03.def,
% bookmark-example.tex.
%
% Distribution:
% CTAN:macros/latex/contrib/bookmark/bookmark.dtx
+% CTAN:macros/latex/contrib/bookmark/bookmark-frozen.dtx
% CTAN:macros/latex/contrib/bookmark/bookmark.pdf
%
% Unpacking:
@@ -66,13 +69,16 @@
% TDS:tex/latex/bookmark/bookmark.sty
% TDS:tex/latex/bookmark/bkm-dvipdfm.def
% TDS:tex/latex/bookmark/bkm-dvips.def
-% TDS:tex/latex/bookmark/bkm-dvipsone.def
-% TDS:tex/latex/bookmark/bkm-textures.def
% TDS:tex/latex/bookmark/bkm-pdftex.def
% TDS:tex/latex/bookmark/bkm-vtex.def
+% TDS:tex/latex/bookmark/bkm-dvipdfm-2019-12-03.def
+% TDS:tex/latex/bookmark/bkm-dvips-2019-12-03.def
+% TDS:tex/latex/bookmark/bkm-pdftex-2019-12-03.def
+% TDS:tex/latex/bookmark/bkm-vtex-2019-12-03.def%
% TDS:doc/latex/bookmark/bookmark.pdf
% TDS:doc/latex/bookmark/bookmark-example.tex
% TDS:source/latex/bookmark/bookmark.dtx
+% TDS:source/latex/bookmark/bookmark-frozen.dtx
%
%<*ignore>
\begingroup
@@ -89,7 +95,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: bookmark 2019/12/03 v1.28 PDF bookmarks (HO)}
+\Msg{* Package: bookmark 2020-11-06 v1.29 PDF bookmarks (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -101,11 +107,11 @@
This is a generated file.
Project: bookmark
-Version: 2019/12/03 v1.28
+Version: 2020-11-06 v1.29
Copyright (C)
2007-2011 Heiko Oberdiek
- 2016-2019 Oberdiek Package Support Group
+ 2016-2020 Oberdiek Package Support Group
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -124,11 +130,12 @@ Heiko Oberdiek and the Oberdiek Package Support Group
https://github.com/ho-tex/bookmark/issues
-This work consists of the main source file bookmark.dtx
+This work consists of the main source file bookmark.dtx and bookmark-frozen.dtx
and the derived files
bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
- bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
- bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
+ bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+ bkm-dvipdfm-2019-12-03.def, bkm-dvips-2019-12-03.def,
+ bkm-pdftex-2019-12-03.def, bkm-vtex-2019-12-03.def,
bookmark-example.tex.
\endpreamble
@@ -141,12 +148,14 @@ and the derived files
\file{bookmark.sty}{\from{bookmark.dtx}{package}}%
\file{bkm-dvipdfm.def}{\from{bookmark.dtx}{dvipdfm}}%
\file{bkm-dvips.def}{\from{bookmark.dtx}{dvips,pdfmark}}%
- \file{bkm-dvipsone.def}{\from{bookmark.dtx}{dvipsone,pdfmark}}%
- \file{bkm-textures.def}{\from{bookmark.dtx}{textures,pdfmark}}%
\file{bkm-pdftex.def}{\from{bookmark.dtx}{pdftex}}%
\file{bkm-vtex.def}{\from{bookmark.dtx}{vtex}}%
\usedir{doc/latex/bookmark}%
\file{bookmark-example.tex}{\from{bookmark.dtx}{example}}%
+ \file{bkm-pdftex-2019-12-03.def}{\from{bookmark-frozen.dtx}{pdftexfrozen}}%
+ \file{bkm-dvips-2019-12-03.def}{\from{bookmark-frozen.dtx}{dvipsfrozen}}%
+ \file{bkm-vtex-2019-12-03.def}{\from{bookmark-frozen.dtx}{vtexfrozen}}%
+ \file{bkm-dvipdfm-2019-12-03.def}{\from{bookmark-frozen.dtx}{dvipdfmfrozen}}%
}
\catcode32=13\relax% active space
@@ -157,8 +166,9 @@ and the derived files
\Msg{* files into a directory searched by TeX:}
\Msg{*}
\Msg{* bookmark.sty, bkm-dvipdfm.def, bkm-dvips.def,}
-\Msg{* bkm-dvipsone.def, bkm-textures.def, bkm-pdftex.def,}
-\Msg{* bkm-vtex.def}
+\Msg{* bkm-pdftex.def, bkm-vtex.def, bkm-dvipdfm-2019-12-03.def,}
+\Msg{* bkm-dvips-2019-12-03.def, bkm-pdftex-2019-12-03.def,}
+\Msg{* and bkm-vtex-2019-12-03.def}
\Msg{*}
\Msg{* To produce the documentation run the file `bookmark.drv'}
\Msg{* through LaTeX.}
@@ -175,7 +185,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bookmark.drv}%
- [2019/12/03 v1.28 PDF bookmarks (HO)]%
+ [2020-11-06 v1.29 PDF bookmarks (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\begin{document}
@@ -189,7 +199,7 @@ and the derived files
% \GetFileInfo{bookmark.drv}
%
% \title{The \xpackage{bookmark} package}
-% \date{2019/12/03 v1.28}
+% \date{2020-11-06 v1.29}
% \author{Heiko Oberdiek\thanks
% {Please report any issues at \url{https://github.com/ho-tex/bookmark/issues}}}
%
@@ -287,7 +297,6 @@ and the derived files
% \subsubsection{Driver options}
%
% Supported drivers are \xoption{pdftex}, \xoption{dvips},
-% \xoption{dvipsone}, \xoption{textures},
% \xoption{dvipdfm} (\xoption{xetex}), and \xoption{vtex}.
% The \hologo{TeX} engines \hologo{pdfTeX}, \hologo{XeTeX},
% and \hologo{VTeX} are automatically detected.
@@ -297,18 +306,18 @@ and the derived files
% \begin{quote}
% |\def\BookmarkDriverDefault{dvipdfm}|
% \end{quote}
+% The current versions of the drivers uses new \LaTeX-hooks. If an
+% older format than 2020-10-01 is detected frozen versions of
+% the previous drivers are used as fallback.
+%
+% \paragraph{Open bookmarks with dvipdfmx.} Older version of
+% the package had an option \xoption{dvipdfmx-outline-open}
+% to activate code which allows to specify the open
+% status of an outline entry.
+% The package now assumes that all used dvipdfmx version are current enough to
+% understand this code and so activates the code always.
+% The option itself will be ignored.
%
-% \paragraph{Open bookmarks with dvipdfmx.} Since 2007-04-25 the
-% cvs version of dvipmdfmx contains a patch that extends the
-% \cs{special} for bookmarks in order to specify the open status of
-% an outline entry. Option \xoption{dvipdfmx-outline-open} notifies
-% the package that the dvi driver program understands this kind
-% of \cs{special}. Alternatively \cs{SpecialDvipdfmxOutlineOpen}
-% can be defined as number one in the configuration file or before
-% the package is loaded, e.g.:
-% \begin{quote}
-% |\chardef\SpecialDvipdfmxOutlineOpen=1\relax|
-% \end{quote}
%
% \subsubsection{Layout options}
%
@@ -396,7 +405,7 @@ and the derived files
% unhappily the file name is a secret. The package supports
% some ways to get the file name:
% \begin{itemize}
-% \item If \hologo{LuaTeX} (indenpendently from DVI or PDF modus)
+% \item If \hologo{LuaTeX} (independently from DVI or PDF modus)
% is running, then its |status.filename| is used automatically.
% \item Package \cs{currfile} \cite{currfile} redefines \hologo{LaTeX}
% internals to keep track of the file name. If the package
@@ -607,12 +616,11 @@ and the derived files
% adding bookmarks at the end of the document depends
% on the driver.
%
-% Some drivers
-% (\xoption{pdftex}, \xoption{dvips}, \xoption{dvipsone},
-% \xoption{textures}) use package \xpackage{atveryend}'s
+% The driver \xoption{pdftex}
+% use package \xpackage{atveryend}'s
% for this purpose. \cs{AtEndDocument} is too early,
% the last page might not been shipped out. Because the \xext{aux}
-% file is needed, these drivers use \cs{AfterLastShipout}.
+% file is needed, this driver use \cs{AfterLastShipout}.
%
% The implementation of the other drivers
% (\xoption{dvipdfm}, \xoption{xetex}, \xoption{vtex})
@@ -622,6 +630,8 @@ and the derived files
% helps. It puts its argument on last page of the document.
% Two \hologo{LaTeX} runs are necessary at least, because
% the last page is detected by a reference.
+%
+% \xoption{dvips} uses now the new LaTeX hook \texttt{shipout/lastpage}.
% \item
% The time of expansion of the argument of \cs{BookmarkAtEnd}
% is not specified. This can happen immediately or at the end
@@ -752,7 +762,7 @@ and the derived files
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bookmark}%
- [2019/12/03 v1.28 PDF bookmarks (HO)]%
+ [2020-11-06 v1.29 PDF bookmarks (HO)]%
% \end{macrocode}
%
% \subsubsection{Requirements}
@@ -1622,23 +1632,13 @@ and the derived files
% \begin{macrocode}
\BKM@DefineDriverKey{pdftex}
\BKM@DefineDriverKey{dvips}
-\BKM@DefineDriverKey{dvipsone}
-\BKM@DefineDriverKey{textures}
\BKM@DefineDriverKey{dvipdfm}
\BKM@DefineDriverKey{dvipdfmx}
\BKM@DefineDriverKey{xetex}
\BKM@DefineDriverKey{vtex}
\define@key{BKM}{dvipdfmx-outline-open}[true]{%
- \expandafter\ifx\csname if#1\expandafter\endcsname
- \csname iftrue\endcsname
- \chardef\SpecialDvipdfmxOutlineOpen\@ne
- \else
- \chardef\SpecialDvipdfmxOutlineOpen\z@
- \fi
-}
-\g@addto@macro\BKM@DisableOptions{%
- \DisableKeyvalOption{BKM}{dvipdfmx-outline-open}%
-}
+ \PackageWarning{bookmark}{Option 'dvipdfmx-outline-open' is obsolete
+ and ignored}{}}
% \end{macrocode}
% \begin{macro}{\bookmark@driver}
% \begin{macrocode}
@@ -1709,22 +1709,6 @@ and the derived files
% \paragraph{Driver validation and loading.}
%
% \begin{macrocode}
-\newif\ifBKM@DvipdfmxOutlineOpen
-\ltx@IfUndefined{SpecialDvipdfmxOutlineOpen}{%
- \ifxetex
- \ifdim\number\XeTeXversion\XeTeXrevision in<0.9995in %
- \else
- \chardef\SpecialDvipdfmxOutlineOpen\ltx@one
- \BKM@DvipdfmxOutlineOpentrue
- \fi
- \fi
-}{%
- \ifnum\SpecialDvipdfmxOutlineOpen>\z@
- \BKM@DvipdfmxOutlineOpentrue
- \fi
-}
-% \end{macrocode}
-% \begin{macrocode}
\def\BKM@temp{dvipdfmx}%
\ifx\BKM@temp\BKM@driver
\def\BKM@driver{dvipdfm}%
@@ -1778,6 +1762,8 @@ and the derived files
\fi
\fi
\fi
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
+\IfFormatAtLeastTF{2020/10/01}{}{\edef\BKM@driver{\BKM@driver-2019-12-03}}
\InputIfFileExists{bkm-\BKM@driver.def}{}{%
\PackageError{bookmark}{%
Unsupported driver `\BKM@driver'.\MessageBreak
@@ -1843,7 +1829,7 @@ and the derived files
\let\partnumberline\@gobble
\let\chapternumberline\@gobble
\fi
- \bookmark[level=#4,dest={#3}]{#2}%
+ \bookmark[level=#4,dest={\HyperDestNameFilter{#3}}]{#2}%
\endgroup
\fi
\fi
@@ -1867,7 +1853,7 @@ and the derived files
%<*dvipdfm>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-dvipdfm.def}%
- [2019/12/03 v1.28 bookmark driver for dvipdfm (HO)]%
+ [2020-11-06 v1.29 bookmark driver for dvipdfm (HO)]%
% \end{macrocode}
%
% \begin{macro}{\BKM@id}
@@ -1990,7 +1976,7 @@ and the derived files
}%
\fi
\special{pdf:%
- out \ifBKM@DvipdfmxOutlineOpen
+ out
[%
\ifBKM@open
\ifnum\BKM@level<%
@@ -2003,7 +1989,6 @@ and the derived files
-%
\fi
] %
- \fi
\BKM@abslevel
<<%
/Title(\BKM@title)%
@@ -2042,7 +2027,7 @@ and the derived files
%<*vtex>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-vtex.def}%
- [2019/12/03 v1.28 bookmark driver for VTeX (HO)]%
+ [2020-11-06 v1.29 bookmark driver for VTeX (HO)]%
% \end{macrocode}
%
% \begin{macrocode}
@@ -2373,7 +2358,7 @@ and the derived files
%<*pdftex>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-pdftex.def}%
- [2019/12/03 v1.28 bookmark driver for pdfTeX (HO)]%
+ [2020-11-06 v1.29 bookmark driver for pdfTeX (HO)]%
% \end{macrocode}
%
% \begin{macro}{\BKM@DO@entry}
@@ -2529,55 +2514,28 @@ and the derived files
%<*dvips>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-dvips.def}%
- [2019/12/03 v1.28 bookmark driver for dvips (HO)]%
+ [2020-11-06 v1.29 bookmark driver for dvips (HO)]%
% \end{macrocode}
% \begin{macro}{\BKM@PSHeaderFile}
% \begin{macrocode}
\def\BKM@PSHeaderFile#1{%
- \special{header=#1}%
+ \special{PSfile=#1}%
}
% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-%</dvips>
-% \end{macrocode}
-%
-% \subsubsection{Driver dvipsone}
-%
-% \begin{macrocode}
-%<*dvipsone>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvipsone.def}%
- [2019/12/03 v1.28 bookmark driver for dvipsone (HO)]%
-% \end{macrocode}
-% \begin{macro}{\BKM@PSHeaderFile}
+% \begin{macro}{\BKM@filename}
% \begin{macrocode}
-\def\BKM@PSHeaderFile#1{%
- \special{header=#1}%
-}
+\def\BKM@filename{\jobname.out.ps}
% \end{macrocode}
% \end{macro}
% \begin{macrocode}
-%</dvipsone>
-% \end{macrocode}
-%
-% \subsubsection{Driver textures}
-%
-% \begin{macrocode}
-%<*textures>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-textures.def}%
- [2019/12/03 v1.28 bookmark driver for textures (HO)]%
-% \end{macrocode}
-% \begin{macro}{\BKM@PSHeaderFile}
-% \begin{macrocode}
-\def\BKM@PSHeaderFile#1{%
- \special{prePostScriptfile #1}%
-}
+\AddToHook{shipout/lastpage}{%
+ \BKM@pdfmark@out
+ \BKM@PSHeaderFile\BKM@filename
+ }
% \end{macrocode}
% \end{macro}
% \begin{macrocode}
-%</textures>
+%</dvips>
% \end{macrocode}
%
% \subsubsection{Common part}
@@ -2585,19 +2543,6 @@ 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}
-%
-% \begin{macrocode}
-\RequirePackage{atveryend}[2009/12/07]
-\AfterLastShipout{\BKM@pdfmark@out}
-% \end{macrocode}
%
% \begin{macro}{\BKM@pdfmark@out}
% Do not use package \xpackage{rerunfilecheck} here, because
@@ -2771,12 +2716,8 @@ and the derived files
% \subsubsection{Write auxiliary file}
%
% \begin{macrocode}
-\RequirePackage{auxhook}
-% \end{macrocode}
-% \begin{macrocode}
-\AddLineBeginMainAux{%
- \string\providecommand\string\BKM@entry[2]{}%
-}
+\AddToHook{begindocument}{%
+ \immediate\write\@mainaux{\string\providecommand\string\BKM@entry[2]{}}}
% \end{macrocode}
%
% \begin{macro}{\BKM@id}
@@ -3005,46 +2946,44 @@ and the derived files
%
% \subsubsection{Drivers using hooks at end of document}
%
-% The following drivers use package \xpackage{atveryend}'s
-% \cs{AfterLastShipout}, because they still need the
-% \xext{aux} file.
+% Driver \xoption{pdftex} use the LaTeX hook \xoption{enddocument/afterlastpage}
+% (which is equivalent to the previously used
+% \cs{AfterLastShipout} of \xpackage{atveryend}'s),
+% because it still needs the \xext{aux} file. It uses
+% uses \cs{pdfoutline} for the bookmakrs that can be used after the last page.
% \begin{itemize}
% \item
% Driver \xoption{pdftex} uses \cs{pdfoutline} that can
% be used after the last page.
-% \item
-% PostScript drivers such as
-% \xoption{dvips} use an external PostScript header file
-% for the bookmarks. File writing can be done after
-% the last shipout page, but before the \xext{aux} file is closed.
% \end{itemize}
% \begin{macrocode}
-%<*pdftex|pdfmark>
+%<*pdftex>
\ifBKM@atend
- \AfterLastShipout{%
+ \AddToHook{enddocument/afterlastpage}{%
\BKM@EndHook
}%
\fi
-%</pdftex|pdfmark>
+%</pdftex>
% \end{macrocode}
%
-% \subsubsection{Drivers using \cs{AtEndDvi}}
+% \subsubsection{Drivers using \xoption{shipout/lastpage}}
%
% The other drivers implement \cs{bookmark} using \cs{special}
% commands. Thus the last bookmarks must be put on the last page,
% not afterwards.
% \cs{AtEndDocument} cannot be used, because it is too late, the
-% last page can already be output. Therefore we use package
-% \xpackage{atenddvi} that uses the help of packages \xpackage{atbegshi}
-% and \xpackage{zref}. The argument of \cs{AtEndDvi} is put
-% at the end of the last page. At least two \hologo{LaTeX} runs are necessary.
-% \begin{macrocode}
-%<*dvipdfm|vtex>
+% last page can already be output. Therefore we use the
+% LaTeX hook \xoption{shipout/lastpage}.
+% At least two \hologo{LaTeX} runs are necessary.
+% The postscript driver \xoption{dvips} use an external PostScript file
+% for the bookmarks. The file writing has been moved to the
+% the last shipout page too to avoid conflicts with pgf.
+% \begin{macrocode}
+%<*dvipdfm|vtex|pdfmark>
\ifBKM@atend
- \RequirePackage{atenddvi}%
- \AtEndDvi{\BKM@EndHook}%
+ \AddToHook{shipout/lastpage}{\BKM@EndHook}%
\fi
-%</dvipdfm|vtex>
+%</dvipdfm|vtex|pdfmark>
% \end{macrocode}
%
% \section{Installation}
@@ -3097,8 +3036,6 @@ and the derived files
% bookmark.sty & tex/latex/bookmark/bookmark.sty\\
% bkm-dvipdfm.def & tex/latex/bookmark/bkm-dvipdfm.def\\
% bkm-dvips.def & tex/latex/bookmark/bkm-dvips.def\\
-% bkm-dvipsone.def & tex/latex/bookmark/bkm-dvipsone.def\\
-% bkm-textures.def & tex/latex/bookmark/bkm-textures.def\\
% bkm-pdftex.def & tex/latex/bookmark/bkm-pdftex.def\\
% bkm-vtex.def & tex/latex/bookmark/bkm-vtex.def\\
% bookmark.pdf & doc/latex/bookmark/bookmark.pdf\\
@@ -3424,7 +3361,7 @@ and the derived files
% \end{Version}
% \begin{Version}{2016/05/17 v1.26}
% \item
-% define \cs{pdfbookmark} to allow pdftex driver to be used with Lua\TeX.
+% define \cs{pdfoutline} to allow pdftex driver to be used with Lua\TeX.
% \end{Version}
% \begin{Version}{2019/06/04 v1.27}
% \item
@@ -3434,9 +3371,22 @@ and the derived files
% \begin{Version}{2019/12/03 v1.28}
% \item
% Documentation updates.
-% \item adjust package loading (all required packages already loade
+% \item adjust package loading (all required packages already loaded
% by \xpackage{hyperref}).
% \end{Version}
+% \begin{Version}{2020-11-06 v1.29}
+% \item Adapted the dvips to avoid a clash with pgf.
+% https://github.com/pgf-tikz/pgf/issues/944
+% \item All drivers now use the new LaTeX hooks
+% and so require a format 2020-10-01 or newer. The older
+% drivers are provided as frozen versions and are used if an older
+% format is detected.
+% \item Added support for destlabel option of hyperref, https://github.com/ho-tex/bookmark/issues/1
+% \item Removed the \xoption{dvipsone} and \xoption{textures} driver.
+% \item Removed the code for option \xoption{dvipdfmx-outline-open}
+% and \cs{SpecialDvipdfmxOutlineOpen}. All dvipdfmx version should now support
+% this out-of-the-box.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm-2019-12-03.def b/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm-2019-12-03.def
new file mode 100644
index 00000000000..ad256b40fd5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm-2019-12-03.def
@@ -0,0 +1,191 @@
+%%
+%% This is file `bkm-dvipdfm-2019-12-03.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% bookmark-frozen.dtx (with options: `dvipdfmfrozen')
+%%
+%% This is a generated file.
+%%
+%% Project: bookmark
+%% Version: 2020-11-06 v1.29
+%%
+%% Copyright (C)
+%% 2007-2011 Heiko Oberdiek
+%% 2016-2020 Oberdiek Package Support Group
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. This version of this license is in
+%% https://www.latex-project.org/lppl/lppl-1-3c.txt
+%% and the latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainers of this work are
+%% Heiko Oberdiek and the Oberdiek Package Support Group
+%% https://github.com/ho-tex/bookmark/issues
+%%
+%%
+%% This work consists of the main source file bookmark.dtx and bookmark-frozen.dtx
+%% and the derived files
+%% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
+%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm-2019-12-03.def, bkm-dvips-2019-12-03.def,
+%% bkm-pdftex-2019-12-03.def, bkm-vtex-2019-12-03.def,
+%% bookmark-example.tex.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{bkm-dvipdfm.def}%
+ [2019/12/03 v1.28 bookmark driver for dvipdfm (HO)]%
+\newcount\BKM@id
+\BKM@id=\z@
+\@namedef{BKM@0}{000}
+\newif\ifBKM@sw
+\newcommand*{\bookmark}[2][]{%
+ \if@filesw
+ \begingroup
+ \def\bookmark@text{#2}%
+ \BKM@setup{#1}%
+ \edef\BKM@prev{\the\BKM@id}%
+ \global\advance\BKM@id\@ne
+ \BKM@swtrue
+ \@whilesw\ifBKM@sw\fi{%
+ \def\BKM@abslevel{1}%
+ \ifnum\ifBKM@startatroot\z@\else\BKM@prev\fi=\z@
+ \BKM@startatrootfalse
+ \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
+ 0{\BKM@level}\BKM@abslevel
+ }%
+ \BKM@swfalse
+ \else
+ \expandafter\expandafter\expandafter\BKM@getx
+ \csname BKM@\BKM@prev\endcsname
+ \ifnum\BKM@level>\BKM@x@level\relax
+ \BKM@CalcExpr\BKM@abslevel\BKM@x@abslevel+1%
+ \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
+ {\BKM@prev}{\BKM@level}\BKM@abslevel
+ }%
+ \BKM@swfalse
+ \else
+ \let\BKM@prev\BKM@x@parent
+ \fi
+ \fi
+ }%
+ \csname HyPsd@XeTeXBigCharstrue\endcsname
+ \pdfstringdef\BKM@title{\bookmark@text}%
+ \edef\BKM@FLAGS{\BKM@PrintStyle}%
+ \let\BKM@action\@empty
+ \ifx\BKM@gotor\@empty
+ \ifx\BKM@dest\@empty
+ \ifx\BKM@named\@empty
+ \ifx\BKM@rawaction\@empty
+ \ifx\BKM@uri\@empty
+ \ifx\BKM@page\@empty
+ \PackageError{bookmark}{Missing action}\@ehc
+ \edef\BKM@action{/Dest[@page1/Fit]}%
+ \else
+ \ifx\BKM@view\@empty
+ \def\BKM@view{Fit}%
+ \fi
+ \edef\BKM@action{/Dest[@page\BKM@page/\BKM@view]}%
+ \fi
+ \else
+ \BKM@EscapeString\BKM@uri
+ \edef\BKM@action{%
+ /A<<%
+ /S/URI%
+ /URI(\BKM@uri)%
+ >>%
+ }%
+ \fi
+ \else
+ \edef\BKM@action{/A<<\BKM@rawaction>>}%
+ \fi
+ \else
+ \BKM@EscapeName\BKM@named
+ \edef\BKM@action{%
+ /A<</S/Named/N/\BKM@named>>%
+ }%
+ \fi
+ \else
+ \BKM@EscapeString\BKM@dest
+ \edef\BKM@action{%
+ /A<<%
+ /S/GoTo%
+ /D(\BKM@dest)%
+ >>%
+ }%
+ \fi
+ \else
+ \ifx\BKM@dest\@empty
+ \ifx\BKM@page\@empty
+ \def\BKM@page{0}%
+ \else
+ \BKM@CalcExpr\BKM@page\BKM@page-1%
+ \fi
+ \ifx\BKM@view\@empty
+ \def\BKM@view{Fit}%
+ \fi
+ \edef\BKM@action{/D[\BKM@page/\BKM@view]}%
+ \else
+ \BKM@EscapeString\BKM@dest
+ \edef\BKM@action{/D(\BKM@dest)}%
+ \fi
+ \BKM@EscapeString\BKM@gotor
+ \edef\BKM@action{%
+ /A<<%
+ /S/GoToR%
+ /F(\BKM@gotor)%
+ \BKM@action
+ >>%
+ }%
+ \fi
+ \special{pdf:%
+ out \ifBKM@DvipdfmxOutlineOpen
+ [%
+ \ifBKM@open
+ \ifnum\BKM@level<%
+ \expandafter\ltx@firstofone\expandafter
+ {\number\BKM@openlevel} %
+ \else
+ -%
+ \fi
+ \else
+ -%
+ \fi
+ ] %
+ \fi
+ \BKM@abslevel
+ <<%
+ /Title(\BKM@title)%
+ \ifx\BKM@color\@empty
+ \else
+ /C[\BKM@color]%
+ \fi
+ \ifnum\BKM@FLAGS>\z@
+ /F \BKM@FLAGS
+ \fi
+ \BKM@action
+ >>%
+ }%
+ \endgroup
+ \fi
+}
+\def\BKM@getx#1#2#3{%
+ \def\BKM@x@parent{#1}%
+ \def\BKM@x@level{#2}%
+ \def\BKM@x@abslevel{#3}%
+}
+\ifBKM@atend
+ \RequirePackage{atenddvi}%
+ \AtEndDvi{\BKM@EndHook}%
+\fi
+\endinput
+%%
+%% End of file `bkm-dvipdfm-2019-12-03.def'.
diff --git a/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm.def b/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm.def
index 9f0be1f7f8e..a57fddacfad 100644
--- a/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm.def
+++ b/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm.def
@@ -9,11 +9,11 @@
%% This is a generated file.
%%
%% Project: bookmark
-%% Version: 2019/12/03 v1.28
+%% Version: 2020-11-06 v1.29
%%
%% Copyright (C)
%% 2007-2011 Heiko Oberdiek
-%% 2016-2019 Oberdiek Package Support Group
+%% 2016-2020 Oberdiek Package Support Group
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -32,16 +32,17 @@
%% https://github.com/ho-tex/bookmark/issues
%%
%%
-%% This work consists of the main source file bookmark.dtx
+%% This work consists of the main source file bookmark.dtx and bookmark-frozen.dtx
%% and the derived files
%% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm-2019-12-03.def, bkm-dvips-2019-12-03.def,
+%% bkm-pdftex-2019-12-03.def, bkm-vtex-2019-12-03.def,
%% bookmark-example.tex.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-dvipdfm.def}%
- [2019/12/03 v1.28 bookmark driver for dvipdfm (HO)]%
+ [2020-11-06 v1.29 bookmark driver for dvipdfm (HO)]%
\newcount\BKM@id
\BKM@id=\z@
\@namedef{BKM@0}{000}
@@ -146,7 +147,7 @@
}%
\fi
\special{pdf:%
- out \ifBKM@DvipdfmxOutlineOpen
+ out
[%
\ifBKM@open
\ifnum\BKM@level<%
@@ -159,7 +160,6 @@
-%
\fi
] %
- \fi
\BKM@abslevel
<<%
/Title(\BKM@title)%
@@ -182,8 +182,7 @@
\def\BKM@x@abslevel{#3}%
}
\ifBKM@atend
- \RequirePackage{atenddvi}%
- \AtEndDvi{\BKM@EndHook}%
+ \AddToHook{shipout/lastpage}{\BKM@EndHook}%
\fi
\endinput
diff --git a/Master/texmf-dist/tex/latex/bookmark/bkm-dvipsone.def b/Master/texmf-dist/tex/latex/bookmark/bkm-dvips-2019-12-03.def
index 2e075100348..a0556864b86 100644
--- a/Master/texmf-dist/tex/latex/bookmark/bkm-dvipsone.def
+++ b/Master/texmf-dist/tex/latex/bookmark/bkm-dvips-2019-12-03.def
@@ -1,19 +1,19 @@
%%
-%% This is file `bkm-dvipsone.def',
+%% This is file `bkm-dvips-2019-12-03.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
-%% bookmark.dtx (with options: `dvipsone,pdfmark')
+%% bookmark-frozen.dtx (with options: `dvipsfrozen')
%%
%% This is a generated file.
%%
%% Project: bookmark
-%% Version: 2019/12/03 v1.28
+%% Version: 2020-11-06 v1.29
%%
%% Copyright (C)
%% 2007-2011 Heiko Oberdiek
-%% 2016-2019 Oberdiek Package Support Group
+%% 2016-2020 Oberdiek Package Support Group
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -32,11 +32,12 @@
%% https://github.com/ho-tex/bookmark/issues
%%
%%
-%% This work consists of the main source file bookmark.dtx
+%% This work consists of the main source file bookmark.dtx and bookmark-frozen.dtx
%% and the derived files
%% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm-2019-12-03.def, bkm-dvips-2019-12-03.def,
+%% bkm-pdftex-2019-12-03.def, bkm-vtex-2019-12-03.def,
%% bookmark-example.tex.
%%
\def\BKM@SourceLocation{%
@@ -57,8 +58,8 @@
\fi
}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvipsone.def}%
- [2019/12/03 v1.28 bookmark driver for dvipsone (HO)]%
+\ProvidesFile{bkm-dvips.def}%
+ [2019/12/03 v1.28 bookmark driver for dvips (HO)]%
\def\BKM@PSHeaderFile#1{%
\special{header=#1}%
}
@@ -352,7 +353,6 @@
\BKM@EndHook
}%
\fi
-
\endinput
%%
-%% End of file `bkm-dvipsone.def'.
+%% End of file `bkm-dvips-2019-12-03.def'.
diff --git a/Master/texmf-dist/tex/latex/bookmark/bkm-dvips.def b/Master/texmf-dist/tex/latex/bookmark/bkm-dvips.def
index 2d1d697b0b2..87384f54ac9 100644
--- a/Master/texmf-dist/tex/latex/bookmark/bkm-dvips.def
+++ b/Master/texmf-dist/tex/latex/bookmark/bkm-dvips.def
@@ -9,11 +9,11 @@
%% This is a generated file.
%%
%% Project: bookmark
-%% Version: 2019/12/03 v1.28
+%% Version: 2020-11-06 v1.29
%%
%% Copyright (C)
%% 2007-2011 Heiko Oberdiek
-%% 2016-2019 Oberdiek Package Support Group
+%% 2016-2020 Oberdiek Package Support Group
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -32,11 +32,12 @@
%% https://github.com/ho-tex/bookmark/issues
%%
%%
-%% This work consists of the main source file bookmark.dtx
+%% This work consists of the main source file bookmark.dtx and bookmark-frozen.dtx
%% and the derived files
%% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm-2019-12-03.def, bkm-dvips-2019-12-03.def,
+%% bkm-pdftex-2019-12-03.def, bkm-vtex-2019-12-03.def,
%% bookmark-example.tex.
%%
\def\BKM@SourceLocation{%
@@ -58,14 +59,15 @@
}
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-dvips.def}%
- [2019/12/03 v1.28 bookmark driver for dvips (HO)]%
+ [2020-11-06 v1.29 bookmark driver for dvips (HO)]%
\def\BKM@PSHeaderFile#1{%
- \special{header=#1}%
+ \special{PSfile=#1}%
}
\def\BKM@filename{\jobname.out.ps}
-\BKM@PSHeaderFile\BKM@filename
-\RequirePackage{atveryend}[2009/12/07]
-\AfterLastShipout{\BKM@pdfmark@out}
+\AddToHook{shipout/lastpage}{%
+ \BKM@pdfmark@out
+ \BKM@PSHeaderFile\BKM@filename
+ }
\def\BKM@pdfmark@out{%
\if@filesw
\newwrite\BKM@file
@@ -207,10 +209,8 @@
\BKM@write{/OUT pdfmark}%
\endgroup
}
-\RequirePackage{auxhook}
-\AddLineBeginMainAux{%
- \string\providecommand\string\BKM@entry[2]{}%
-}
+\AddToHook{begindocument}{%
+ \immediate\write\@mainaux{\string\providecommand\string\BKM@entry[2]{}}}
\newcount\BKM@id
\BKM@id=\z@
\@namedef{BKM@0}{000}
@@ -348,9 +348,7 @@
\let\BKM@entry\BKM@DO@entry
}
\ifBKM@atend
- \AfterLastShipout{%
- \BKM@EndHook
- }%
+ \AddToHook{shipout/lastpage}{\BKM@EndHook}%
\fi
\endinput
diff --git a/Master/texmf-dist/tex/latex/bookmark/bkm-textures.def b/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex-2019-12-03.def
index 770ec109756..0bc80576fc7 100644
--- a/Master/texmf-dist/tex/latex/bookmark/bkm-textures.def
+++ b/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex-2019-12-03.def
@@ -1,19 +1,19 @@
%%
-%% This is file `bkm-textures.def',
+%% This is file `bkm-pdftex-2019-12-03.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
-%% bookmark.dtx (with options: `textures,pdfmark')
+%% bookmark-frozen.dtx (with options: `pdftexfrozen')
%%
%% This is a generated file.
%%
%% Project: bookmark
-%% Version: 2019/12/03 v1.28
+%% Version: 2020-11-06 v1.29
%%
%% Copyright (C)
%% 2007-2011 Heiko Oberdiek
-%% 2016-2019 Oberdiek Package Support Group
+%% 2016-2020 Oberdiek Package Support Group
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -32,69 +32,25 @@
%% https://github.com/ho-tex/bookmark/issues
%%
%%
-%% This work consists of the main source file bookmark.dtx
+%% This work consists of the main source file bookmark.dtx and bookmark-frozen.dtx
%% and the derived files
%% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm-2019-12-03.def, bkm-dvips-2019-12-03.def,
+%% bkm-pdftex-2019-12-03.def, bkm-vtex-2019-12-03.def,
%% bookmark-example.tex.
%%
-\def\BKM@SourceLocation{%
- \ifx\BKM@DO@srcfile\@empty
- \ifx\BKM@DO@srcline\@empty
- \else
- .\MessageBreak
- Source: line \BKM@DO@srcline
- \fi
- \else
- \ifx\BKM@DO@srcline\@empty
- .\MessageBreak
- Source: file `\BKM@DO@srcfile'%
- \else
- .\MessageBreak
- Source: file `\BKM@DO@srcfile', line \BKM@DO@srcline
- \fi
- \fi
-}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-textures.def}%
- [2019/12/03 v1.28 bookmark driver for textures (HO)]%
-\def\BKM@PSHeaderFile#1{%
- \special{prePostScriptfile #1}%
-}
-\def\BKM@filename{\jobname.out.ps}
-\BKM@PSHeaderFile\BKM@filename
-\RequirePackage{atveryend}[2009/12/07]
-\AfterLastShipout{\BKM@pdfmark@out}
-\def\BKM@pdfmark@out{%
- \if@filesw
- \newwrite\BKM@file
- \immediate\openout\BKM@file=\BKM@filename\relax
- \BKM@write{\@percentchar!}%
- \BKM@write{/pdfmark where{pop}}%
- \BKM@write{%
- {%
- /globaldict where{pop globaldict}{userdict}ifelse%
- /pdfmark/cleartomark load put%
- }%
- }%
- \BKM@write{ifelse}%
- \else
- \let\BKM@write\@gobble
- \let\BKM@DO@entry\@gobbletwo
- \fi
-}
-\def\BKM@write#{%
- \immediate\write\BKM@file
-}
+\ProvidesFile{bkm-pdftex.def}%
+ [2019/12/03 v1.28 bookmark driver for pdfTeX (HO)]%
\def\BKM@DO@entry#1#2{%
\begingroup
\kvsetkeys{BKM@DO}{#1}%
+ \def\BKM@DO@title{#2}%
\ifx\BKM@DO@srcfile\@empty
\else
\BKM@UnescapeHex\BKM@DO@srcfile
\fi
- \def\BKM@DO@title{#2}%
\BKM@UnescapeHex\BKM@DO@title
\expandafter\expandafter\expandafter\BKM@getx
\csname BKM@\BKM@DO@id\endcsname\@empty\@empty
@@ -107,6 +63,10 @@
\else
\edef\BKM@attr{\BKM@attr/C[\BKM@DO@color]}%
\fi
+ \ifx\BKM@attr\@empty
+ \else
+ \edef\BKM@attr{attr{\BKM@attr}}%
+ \fi
\let\BKM@action\@empty
\ifx\BKM@DO@gotor\@empty
\ifx\BKM@DO@dest\@empty
@@ -117,95 +77,91 @@
\PackageError{bookmark}{%
Missing action\BKM@SourceLocation
}\@ehc
- \edef\BKM@action{%
- /Action/GoTo%
- /Page 1%
- /View[/Fit]%
- }%
+ \edef\BKM@action{goto page1{/Fit}}%
\else
\ifx\BKM@DO@view\@empty
\def\BKM@DO@view{Fit}%
\fi
- \edef\BKM@action{%
- /Action/GoTo%
- /Page \BKM@DO@page
- /View[/\BKM@DO@view]%
- }%
+ \edef\BKM@action{goto page\BKM@DO@page{/\BKM@DO@view}}%
\fi
\else
\BKM@UnescapeHex\BKM@DO@uri
\BKM@EscapeString\BKM@DO@uri
- \edef\BKM@action{%
- /Action<<%
- /Subtype/URI%
- /URI(\BKM@DO@uri)%
- >>%
- }%
+ \edef\BKM@action{user{<</S/URI/URI(\BKM@DO@uri)>>}}%
\fi
\else
\BKM@UnescapeHex\BKM@DO@rawaction
\edef\BKM@action{%
- /Action<<%
- \BKM@DO@rawaction
- >>%
+ user{%
+ <<%
+ \BKM@DO@rawaction
+ >>%
+ }%
}%
\fi
\else
\BKM@EscapeName\BKM@DO@named
\edef\BKM@action{%
- /Action<<%
- /Subtype/Named%
- /N/\BKM@DO@named
- >>%
+ user{<</S/Named/N/\BKM@DO@named>>}%
}%
\fi
\else
\BKM@UnescapeHex\BKM@DO@dest
- \BKM@EscapeString\BKM@DO@dest
- \edef\BKM@action{%
- /Action/GoTo%
- /Dest(\BKM@DO@dest)cvn%
- }%
+ \BKM@DefGotoNameAction\BKM@action\BKM@DO@dest
\fi
\else
\ifx\BKM@DO@dest\@empty
\ifx\BKM@DO@page\@empty
- \def\BKM@DO@page{1}%
+ \def\BKM@DO@page{0}%
+ \else
+ \BKM@CalcExpr\BKM@DO@page\BKM@DO@page-1%
\fi
\ifx\BKM@DO@view\@empty
\def\BKM@DO@view{Fit}%
\fi
- \edef\BKM@action{%
- /Page \BKM@DO@page
- /View[/\BKM@DO@view]%
- }%
+ \edef\BKM@action{/D[\BKM@DO@page/\BKM@DO@view]}%
\else
\BKM@UnescapeHex\BKM@DO@dest
\BKM@EscapeString\BKM@DO@dest
- \edef\BKM@action{%
- /Dest(\BKM@DO@dest)cvn%
- }%
+ \edef\BKM@action{/D(\BKM@DO@dest)}%
\fi
\BKM@UnescapeHex\BKM@DO@gotor
\BKM@EscapeString\BKM@DO@gotor
\edef\BKM@action{%
- /Action/GoToR%
- /File(\BKM@DO@gotor)%
- \BKM@action
+ user{%
+ <<%
+ /S/GoToR%
+ /F(\BKM@DO@gotor)%
+ \BKM@action
+ >>%
+ }%
}%
\fi
- \BKM@write{[}%
- \BKM@write{/Title(\BKM@DO@title)}%
- \ifnum\BKM@x@childs>\z@
- \BKM@write{/Count \ifBKM@DO@open\else-\fi\BKM@x@childs}%
+ \pdfoutline\BKM@attr\BKM@action
+ count\ifBKM@DO@open\else-\fi\BKM@x@childs
+ {\BKM@DO@title}%
+ \endgroup
+}
+\def\BKM@DefGotoNameAction#1#2{%
+ \BKM@EscapeString\BKM@DO@dest
+ \edef#1{goto name{#2}}%
+}
+\def\BKM@SourceLocation{%
+ \ifx\BKM@DO@srcfile\@empty
+ \ifx\BKM@DO@srcline\@empty
+ \else
+ .\MessageBreak
+ Source: line \BKM@DO@srcline
\fi
- \ifx\BKM@attr\@empty
+ \else
+ \ifx\BKM@DO@srcline\@empty
+ .\MessageBreak
+ Source: file `\BKM@DO@srcfile'%
\else
- \BKM@write{\BKM@attr}%
+ .\MessageBreak
+ Source: file `\BKM@DO@srcfile', line \BKM@DO@srcline
\fi
- \BKM@write{\BKM@action}%
- \BKM@write{/OUT pdfmark}%
- \endgroup
+ \fi
}
\RequirePackage{auxhook}
\AddLineBeginMainAux{%
@@ -352,7 +308,6 @@
\BKM@EndHook
}%
\fi
-
\endinput
%%
-%% End of file `bkm-textures.def'.
+%% End of file `bkm-pdftex-2019-12-03.def'.
diff --git a/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex.def b/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex.def
index d06474fb553..329a0dcfb5f 100644
--- a/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex.def
+++ b/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex.def
@@ -9,11 +9,11 @@
%% This is a generated file.
%%
%% Project: bookmark
-%% Version: 2019/12/03 v1.28
+%% Version: 2020-11-06 v1.29
%%
%% Copyright (C)
%% 2007-2011 Heiko Oberdiek
-%% 2016-2019 Oberdiek Package Support Group
+%% 2016-2020 Oberdiek Package Support Group
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -32,16 +32,17 @@
%% https://github.com/ho-tex/bookmark/issues
%%
%%
-%% This work consists of the main source file bookmark.dtx
+%% This work consists of the main source file bookmark.dtx and bookmark-frozen.dtx
%% and the derived files
%% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm-2019-12-03.def, bkm-dvips-2019-12-03.def,
+%% bkm-pdftex-2019-12-03.def, bkm-vtex-2019-12-03.def,
%% bookmark-example.tex.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-pdftex.def}%
- [2019/12/03 v1.28 bookmark driver for pdfTeX (HO)]%
+ [2020-11-06 v1.29 bookmark driver for pdfTeX (HO)]%
\def\BKM@DO@entry#1#2{%
\begingroup
\kvsetkeys{BKM@DO}{#1}%
@@ -162,10 +163,8 @@
\fi
\fi
}
-\RequirePackage{auxhook}
-\AddLineBeginMainAux{%
- \string\providecommand\string\BKM@entry[2]{}%
-}
+\AddToHook{begindocument}{%
+ \immediate\write\@mainaux{\string\providecommand\string\BKM@entry[2]{}}}
\newcount\BKM@id
\BKM@id=\z@
\@namedef{BKM@0}{000}
@@ -303,7 +302,7 @@
\let\BKM@entry\BKM@DO@entry
}
\ifBKM@atend
- \AfterLastShipout{%
+ \AddToHook{enddocument/afterlastpage}{%
\BKM@EndHook
}%
\fi
diff --git a/Master/texmf-dist/tex/latex/bookmark/bkm-vtex-2019-12-03.def b/Master/texmf-dist/tex/latex/bookmark/bkm-vtex-2019-12-03.def
new file mode 100644
index 00000000000..cf50f6e70de
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bookmark/bkm-vtex-2019-12-03.def
@@ -0,0 +1,300 @@
+%%
+%% This is file `bkm-vtex-2019-12-03.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% bookmark-frozen.dtx (with options: `vtexfrozen')
+%%
+%% This is a generated file.
+%%
+%% Project: bookmark
+%% Version: 2020-11-06 v1.29
+%%
+%% Copyright (C)
+%% 2007-2011 Heiko Oberdiek
+%% 2016-2020 Oberdiek Package Support Group
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. This version of this license is in
+%% https://www.latex-project.org/lppl/lppl-1-3c.txt
+%% and the latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainers of this work are
+%% Heiko Oberdiek and the Oberdiek Package Support Group
+%% https://github.com/ho-tex/bookmark/issues
+%%
+%%
+%% This work consists of the main source file bookmark.dtx and bookmark-frozen.dtx
+%% and the derived files
+%% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
+%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm-2019-12-03.def, bkm-dvips-2019-12-03.def,
+%% bkm-pdftex-2019-12-03.def, bkm-vtex-2019-12-03.def,
+%% bookmark-example.tex.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{bkm-vtex.def}%
+ [2019/12/03 v1.28 bookmark driver for VTeX (HO)]%
+\ifvtexpdf
+\else
+ \PackageWarningNoLine{bookmark}{%
+ The VTeX driver only supports PDF mode%
+ }%
+\fi
+\newcount\BKM@id
+\BKM@id=\z@
+\@namedef{BKM@0}{00}
+\newif\ifBKM@sw
+\newcommand*{\bookmark}[2][]{%
+ \if@filesw
+ \begingroup
+ \def\bookmark@text{#2}%
+ \BKM@setup{#1}%
+ \edef\BKM@prev{\the\BKM@id}%
+ \global\advance\BKM@id\@ne
+ \BKM@swtrue
+ \@whilesw\ifBKM@sw\fi{%
+ \ifnum\ifBKM@startatroot\z@\else\BKM@prev\fi=\z@
+ \BKM@startatrootfalse
+ \def\BKM@parent{0}%
+ \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
+ 0{\BKM@level}%
+ }%
+ \BKM@swfalse
+ \else
+ \expandafter\expandafter\expandafter\BKM@getx
+ \csname BKM@\BKM@prev\endcsname
+ \ifnum\BKM@level>\BKM@x@level\relax
+ \let\BKM@parent\BKM@prev
+ \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
+ {\BKM@prev}{\BKM@level}%
+ }%
+ \BKM@swfalse
+ \else
+ \let\BKM@prev\BKM@x@parent
+ \fi
+ \fi
+ }%
+ \pdfstringdef\BKM@title{\bookmark@text}%
+ \BKM@vtex@title
+ \edef\BKM@FLAGS{\BKM@PrintStyle}%
+ \let\BKM@action\@empty
+ \ifx\BKM@gotor\@empty
+ \ifx\BKM@dest\@empty
+ \ifx\BKM@named\@empty
+ \ifx\BKM@rawaction\@empty
+ \ifx\BKM@uri\@empty
+ \ifx\BKM@page\@empty
+ \PackageError{bookmark}{Missing action}\@ehc
+ \def\BKM@action{!1}%
+ \else
+ \edef\BKM@action{!\BKM@page}%
+ \fi
+ \else
+ \BKM@EscapeString\BKM@uri
+ \edef\BKM@action{%
+ <u=%
+ /S/URI%
+ /URI(\BKM@uri)%
+ >%
+ }%
+ \fi
+ \else
+ \edef\BKM@action{<u=\BKM@rawaction>}%
+ \fi
+ \else
+ \BKM@EscapeName\BKM@named
+ \edef\BKM@action{%
+ <u=%
+ /S/Named%
+ /N/\BKM@named
+ >%
+ }%
+ \fi
+ \else
+ \BKM@EscapeString\BKM@dest
+ \edef\BKM@action{\BKM@dest}%
+ \fi
+ \else
+ \ifx\BKM@dest\@empty
+ \ifx\BKM@page\@empty
+ \def\BKM@page{1}%
+ \fi
+ \ifx\BKM@view\@empty
+ \def\BKM@view{Fit}%
+ \fi
+ \edef\BKM@action{/D[\BKM@page/\BKM@view]}%
+ \else
+ \BKM@EscapeString\BKM@dest
+ \edef\BKM@action{/D(\BKM@dest)}%
+ \fi
+ \BKM@EscapeString\BKM@gotor
+ \edef\BKM@action{%
+ <u=%
+ /S/GoToR%
+ /F(\BKM@gotor)%
+ \BKM@action
+ >>%
+ }%
+ \fi
+ \ifx\BKM@color\@empty
+ \let\BKM@RGBcolor\@empty
+ \else
+ \expandafter\BKM@toRGB\BKM@color\@nil
+ \fi
+ \special{%
+ !outline \BKM@action;%
+ p=\BKM@parent,%
+ i=\number\BKM@id,%
+ s=%
+ \ifBKM@open
+ \ifnum\BKM@level<\BKM@openlevel
+ o%
+ \else
+ c%
+ \fi
+ \else
+ c%
+ \fi,%
+ \ifx\BKM@RGBcolor\@empty
+ \else
+ c=\BKM@RGBcolor,%
+ \fi
+ \ifnum\BKM@FLAGS>\z@
+ f=\BKM@FLAGS,%
+ \fi
+ t=\BKM@title
+ }%
+ \endgroup
+ \fi
+}
+\def\BKM@getx#1#2{%
+ \def\BKM@x@parent{#1}%
+ \def\BKM@x@level{#2}%
+}
+\def\BKM@toRGB#1 #2 #3\@nil{%
+ \let\BKM@RGBcolor\@empty
+ \BKM@toRGBComponent{#1}%
+ \BKM@toRGBComponent{#2}%
+ \BKM@toRGBComponent{#3}%
+}
+\def\BKM@toRGBComponent#1{%
+ \dimen@=#1pt\relax
+ \ifdim\dimen@>\z@
+ \ifdim\dimen@<\p@
+ \dimen@=255\dimen@
+ \advance\dimen@ by 32768sp\relax
+ \divide\dimen@ by 65536\relax
+ \dimen@ii=\dimen@
+ \divide\dimen@ii by 16\relax
+ \edef\BKM@RGBcolor{%
+ \BKM@RGBcolor
+ \BKM@toHexDigit\dimen@ii
+ }%
+ \dimen@ii=16\dimen@ii
+ \advance\dimen@-\dimen@ii
+ \edef\BKM@RGBcolor{%
+ \BKM@RGBcolor
+ \BKM@toHexDigit\dimen@
+ }%
+ \else
+ \edef\BKM@RGBcolor{\BKM@RGBcolor FF}%
+ \fi
+ \else
+ \edef\BKM@RGBcolor{\BKM@RGBcolor00}%
+ \fi
+}
+\def\BKM@toHexDigit#1{%
+ \ifcase\expandafter\@firstofone\expandafter{\number#1} %
+ 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or
+ 8\or 9\or A\or B\or C\or D\or E\or F%
+ \fi
+}
+\begingroup
+ \catcode`\|=0 %
+ \catcode`\\=12 %
+ |gdef|BKM@vtex@title{%
+ |@onelevel@sanitize|BKM@title
+ |edef|BKM@title{|expandafter|BKM@vtex@leftparen|BKM@title\(|@nil}%
+ |edef|BKM@title{|expandafter|BKM@vtex@rightparen|BKM@title\)|@nil}%
+ |edef|BKM@title{|expandafter|BKM@vtex@zero|BKM@title\0|@nil}%
+ |edef|BKM@title{|expandafter|BKM@vtex@one|BKM@title\1|@nil}%
+ |edef|BKM@title{|expandafter|BKM@vtex@two|BKM@title\2|@nil}%
+ |edef|BKM@title{|expandafter|BKM@vtex@three|BKM@title\3|@nil}%
+ }%
+ |gdef|BKM@vtex@leftparen#1\(#2|@nil{%
+ #1%
+ |ifx||#2||%
+ |else
+ (%
+ |ltx@ReturnAfterFi{%
+ |BKM@vtex@leftparen#2|@nil
+ }%
+ |fi
+ }%
+ |gdef|BKM@vtex@rightparen#1\)#2|@nil{%
+ #1%
+ |ifx||#2||%
+ |else
+ )%
+ |ltx@ReturnAfterFi{%
+ |BKM@vtex@rightparen#2|@nil
+ }%
+ |fi
+ }%
+ |gdef|BKM@vtex@zero#1\0#2|@nil{%
+ #1%
+ |ifx||#2||%
+ |else
+ |noexpand|hv@pdf@char0%
+ |ltx@ReturnAfterFi{%
+ |BKM@vtex@zero#2|@nil
+ }%
+ |fi
+ }%
+ |gdef|BKM@vtex@one#1\1#2|@nil{%
+ #1%
+ |ifx||#2||%
+ |else
+ |noexpand|hv@pdf@char1%
+ |ltx@ReturnAfterFi{%
+ |BKM@vtex@one#2|@nil
+ }%
+ |fi
+ }%
+ |gdef|BKM@vtex@two#1\2#2|@nil{%
+ #1%
+ |ifx||#2||%
+ |else
+ |noexpand|hv@pdf@char2%
+ |ltx@ReturnAfterFi{%
+ |BKM@vtex@two#2|@nil
+ }%
+ |fi
+ }%
+ |gdef|BKM@vtex@three#1\3#2|@nil{%
+ #1%
+ |ifx||#2||%
+ |else
+ |noexpand|hv@pdf@char3%
+ |ltx@ReturnAfterFi{%
+ |BKM@vtex@three#2|@nil
+ }%
+ |fi
+ }%
+|endgroup
+\ifBKM@atend
+ \RequirePackage{atenddvi}%
+ \AtEndDvi{\BKM@EndHook}%
+\fi
+\endinput
+%%
+%% End of file `bkm-vtex-2019-12-03.def'.
diff --git a/Master/texmf-dist/tex/latex/bookmark/bkm-vtex.def b/Master/texmf-dist/tex/latex/bookmark/bkm-vtex.def
index ddb0cdf14c5..4e14e31c735 100644
--- a/Master/texmf-dist/tex/latex/bookmark/bkm-vtex.def
+++ b/Master/texmf-dist/tex/latex/bookmark/bkm-vtex.def
@@ -9,11 +9,11 @@
%% This is a generated file.
%%
%% Project: bookmark
-%% Version: 2019/12/03 v1.28
+%% Version: 2020-11-06 v1.29
%%
%% Copyright (C)
%% 2007-2011 Heiko Oberdiek
-%% 2016-2019 Oberdiek Package Support Group
+%% 2016-2020 Oberdiek Package Support Group
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -32,16 +32,17 @@
%% https://github.com/ho-tex/bookmark/issues
%%
%%
-%% This work consists of the main source file bookmark.dtx
+%% This work consists of the main source file bookmark.dtx and bookmark-frozen.dtx
%% and the derived files
%% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm-2019-12-03.def, bkm-dvips-2019-12-03.def,
+%% bkm-pdftex-2019-12-03.def, bkm-vtex-2019-12-03.def,
%% bookmark-example.tex.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{bkm-vtex.def}%
- [2019/12/03 v1.28 bookmark driver for VTeX (HO)]%
+ [2020-11-06 v1.29 bookmark driver for VTeX (HO)]%
\ifvtexpdf
\else
\PackageWarningNoLine{bookmark}{%
@@ -291,8 +292,7 @@
}%
|endgroup
\ifBKM@atend
- \RequirePackage{atenddvi}%
- \AtEndDvi{\BKM@EndHook}%
+ \AddToHook{shipout/lastpage}{\BKM@EndHook}%
\fi
\endinput
diff --git a/Master/texmf-dist/tex/latex/bookmark/bookmark.sty b/Master/texmf-dist/tex/latex/bookmark/bookmark.sty
index 9b8e40ec642..7181bd2b6ed 100644
--- a/Master/texmf-dist/tex/latex/bookmark/bookmark.sty
+++ b/Master/texmf-dist/tex/latex/bookmark/bookmark.sty
@@ -9,11 +9,11 @@
%% This is a generated file.
%%
%% Project: bookmark
-%% Version: 2019/12/03 v1.28
+%% Version: 2020-11-06 v1.29
%%
%% Copyright (C)
%% 2007-2011 Heiko Oberdiek
-%% 2016-2019 Oberdiek Package Support Group
+%% 2016-2020 Oberdiek Package Support Group
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -32,16 +32,17 @@
%% https://github.com/ho-tex/bookmark/issues
%%
%%
-%% This work consists of the main source file bookmark.dtx
+%% This work consists of the main source file bookmark.dtx and bookmark-frozen.dtx
%% and the derived files
%% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-%% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-%% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%% bkm-dvipdfm-2019-12-03.def, bkm-dvips-2019-12-03.def,
+%% bkm-pdftex-2019-12-03.def, bkm-vtex-2019-12-03.def,
%% bookmark-example.tex.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bookmark}%
- [2019/12/03 v1.28 PDF bookmarks (HO)]%
+ [2020-11-06 v1.29 PDF bookmarks (HO)]%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname numexpr\endcsname\relax
\def\BKM@CalcExpr#1#2#3#4{%
@@ -570,23 +571,13 @@
}
\BKM@DefineDriverKey{pdftex}
\BKM@DefineDriverKey{dvips}
-\BKM@DefineDriverKey{dvipsone}
-\BKM@DefineDriverKey{textures}
\BKM@DefineDriverKey{dvipdfm}
\BKM@DefineDriverKey{dvipdfmx}
\BKM@DefineDriverKey{xetex}
\BKM@DefineDriverKey{vtex}
\define@key{BKM}{dvipdfmx-outline-open}[true]{%
- \expandafter\ifx\csname if#1\expandafter\endcsname
- \csname iftrue\endcsname
- \chardef\SpecialDvipdfmxOutlineOpen\@ne
- \else
- \chardef\SpecialDvipdfmxOutlineOpen\z@
- \fi
-}
-\g@addto@macro\BKM@DisableOptions{%
- \DisableKeyvalOption{BKM}{dvipdfmx-outline-open}%
-}
+ \PackageWarning{bookmark}{Option 'dvipdfmx-outline-open' is obsolete
+ and ignored}{}}
\def\bookmark@driver{\BKM@driver}
\InputIfFileExists{bookmark.cfg}{}{}
\providecommand*{\BookmarkDriverDefault}{dvips}
@@ -627,20 +618,6 @@
\let\BKM@DefGotoNameAction\ltx@gobbletwo % package `hypdestopt'
\expandafter\endinput
\fi
-\newif\ifBKM@DvipdfmxOutlineOpen
-\ltx@IfUndefined{SpecialDvipdfmxOutlineOpen}{%
- \ifxetex
- \ifdim\number\XeTeXversion\XeTeXrevision in<0.9995in %
- \else
- \chardef\SpecialDvipdfmxOutlineOpen\ltx@one
- \BKM@DvipdfmxOutlineOpentrue
- \fi
- \fi
-}{%
- \ifnum\SpecialDvipdfmxOutlineOpen>\z@
- \BKM@DvipdfmxOutlineOpentrue
- \fi
-}
\def\BKM@temp{dvipdfmx}%
\ifx\BKM@temp\BKM@driver
\def\BKM@driver{dvipdfm}%
@@ -694,6 +671,8 @@
\fi
\fi
\fi
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
+\IfFormatAtLeastTF{2020/10/01}{}{\edef\BKM@driver{\BKM@driver-2019-12-03}}
\InputIfFileExists{bkm-\BKM@driver.def}{}{%
\PackageError{bookmark}{%
Unsupported driver `\BKM@driver'.\MessageBreak
@@ -735,7 +714,7 @@
\let\partnumberline\@gobble
\let\chapternumberline\@gobble
\fi
- \bookmark[level=#4,dest={#3}]{#2}%
+ \bookmark[level=#4,dest={\HyperDestNameFilter{#3}}]{#2}%
\endgroup
\fi
\fi