texlive[69084] Master: bookmark (10dec23)

commits+karl at tug.org commits+karl at tug.org
Sun Dec 10 21:57:34 CET 2023


Revision: 69084
          https://tug.org/svn/texlive?view=revision&revision=69084
Author:   karl
Date:     2023-12-10 21:57:34 +0100 (Sun, 10 Dec 2023)
Log Message:
-----------
bookmark (10dec23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/bookmark/README.md
    trunk/Master/texmf-dist/doc/latex/bookmark/bookmark-example.tex
    trunk/Master/texmf-dist/doc/latex/bookmark/bookmark.pdf
    trunk/Master/texmf-dist/source/latex/bookmark/bookmark.dtx
    trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm.def
    trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvips.def
    trunk/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex.def
    trunk/Master/texmf-dist/tex/latex/bookmark/bkm-vtex.def
    trunk/Master/texmf-dist/tex/latex/bookmark/bookmark.sty
    trunk/Master/tlpkg/libexec/ctan2tds

Added Paths:
-----------
    trunk/Master/texmf-dist/source/latex/bookmark/bookmark.ins

Removed Paths:
-------------
    trunk/Master/texmf-dist/source/latex/bookmark/bookmark-frozen.dtx
    trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm-2019-12-03.def
    trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvips-2019-12-03.def
    trunk/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex-2019-12-03.def
    trunk/Master/texmf-dist/tex/latex/bookmark/bkm-vtex-2019-12-03.def

Modified: trunk/Master/texmf-dist/doc/latex/bookmark/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bookmark/README.md	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/texmf-dist/doc/latex/bookmark/README.md	2023-12-10 20:57:34 UTC (rev 69084)
@@ -1,6 +1,6 @@
 # bookmark package for LaTeX
 
-Version: 2023-12-05 v1.30
+Version: 2023-12-10 v1.31
 
 
 This package implements a new bookmark (outline) organization for

Modified: trunk/Master/texmf-dist/doc/latex/bookmark/bookmark-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bookmark/bookmark-example.tex	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/texmf-dist/doc/latex/bookmark/bookmark-example.tex	2023-12-10 20:57:34 UTC (rev 69084)
@@ -9,7 +9,7 @@
 %% This is a generated file.
 %% 
 %% Project: bookmark
-%% Version: 2023-12-05 v1.30
+%% Version: 2023-12-10 v1.31
 %% 
 %% Copyright (C)
 %%    2007-2011 Heiko Oberdiek
@@ -31,14 +31,17 @@
 %% 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.
+%% This file is part of the "bookmark bundle" (The Work in LPPL)
+%%  and all files in that bundle must be distributed together.
 %% 
+%%  The released version of this bundle is available from CTAN.
+%% 
+%%  This work consists of the main source files bookmark.dtx
+%%  and bookmark.ins and the derived files
+%%     bookmark.sty, bookmark.pdf,
+%%     bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%%     bookmark-example.tex.
+%% 
 \documentclass{article}
 \usepackage{xcolor}[2007/01/21]
 \usepackage{hyperref}

Modified: trunk/Master/texmf-dist/doc/latex/bookmark/bookmark.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/source/latex/bookmark/bookmark-frozen.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/bookmark/bookmark-frozen.dtx	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/texmf-dist/source/latex/bookmark/bookmark-frozen.dtx	2023-12-10 20:57:34 UTC (rev 69084)
@@ -1,1073 +0,0 @@
-% \iffalse meta-comment
-%
-% File: bookmark-frozen.dtx
-% Version: 2023-12-05 v1.30
-% Info: PDF bookmarks
-%
-% Copyright (C)
-%    2007-2011 Heiko Oberdiek
-%    2016-2023 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 at DO@entry#1#2{%
-  \begingroup
-    \kvsetkeys{BKM at DO}{#1}%
-    \def\BKM at DO@title{#2}%
-    \ifx\BKM at DO@srcfile\@empty
-    \else
-      \BKM at UnescapeHex\BKM at DO@srcfile
-    \fi
-    \BKM at UnescapeHex\BKM at DO@title
-    \expandafter\expandafter\expandafter\BKM at getx
-        \csname BKM@\BKM at DO@id\endcsname\@empty\@empty
-    \let\BKM at attr\@empty
-    \ifx\BKM at DO@flags\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/F \BKM at DO@flags}%
-    \fi
-    \ifx\BKM at DO@color\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/C[\BKM at DO@color]}%
-    \fi
-    \ifx\BKM at attr\@empty
-    \else
-      \edef\BKM at attr{attr{\BKM at attr}}%
-    \fi
-    \let\BKM at action\@empty
-    \ifx\BKM at DO@gotor\@empty
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@named\@empty
-          \ifx\BKM at DO@rawaction\@empty
-            \ifx\BKM at DO@uri\@empty
-              \ifx\BKM at DO@page\@empty
-                \PackageError{bookmark}{%
-                  Missing action\BKM at SourceLocation
-                }\@ehc
-                \edef\BKM at action{goto page1{/Fit}}%
-              \else
-                \ifx\BKM at DO@view\@empty
-                  \def\BKM at DO@view{Fit}%
-                \fi
-                \edef\BKM at action{goto page\BKM at DO@page{/\BKM at DO@view}}%
-              \fi
-            \else
-              \BKM at UnescapeHex\BKM at DO@uri
-              \BKM at EscapeString\BKM at DO@uri
-              \edef\BKM at action{user{<</S/URI/URI(\BKM at DO@uri)>>}}%
-            \fi
-          \else
-            \BKM at UnescapeHex\BKM at DO@rawaction
-            \edef\BKM at action{%
-              user{%
-                <<%
-                  \BKM at DO@rawaction
-                >>%
-              }%
-            }%
-          \fi
-        \else
-          \BKM at EscapeName\BKM at DO@named
-          \edef\BKM at action{%
-            user{<</S/Named/N/\BKM at DO@named>>}%
-          }%
-        \fi
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at DefGotoNameAction\BKM at action\BKM at DO@dest
-      \fi
-    \else
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@page\@empty
-          \def\BKM at DO@page{0}%
-        \else
-          \BKM at CalcExpr\BKM at DO@page\BKM at DO@page-1%
-        \fi
-        \ifx\BKM at DO@view\@empty
-          \def\BKM at DO@view{Fit}%
-        \fi
-        \edef\BKM at action{/D[\BKM at DO@page/\BKM at DO@view]}%
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{/D(\BKM at DO@dest)}%
-      \fi
-      \BKM at UnescapeHex\BKM at DO@gotor
-      \BKM at EscapeString\BKM at DO@gotor
-      \edef\BKM at action{%
-        user{%
-          <<%
-            /S/GoToR%
-            /F(\BKM at DO@gotor)%
-            \BKM at action
-          >>%
-        }%
-      }%
-    \fi
-    \pdfoutline\BKM at attr\BKM at action
-                count\ifBKM at DO@open\else-\fi\BKM at x@childs
-                {\BKM at DO@title}%
-  \endgroup
-}
-\def\BKM at DefGotoNameAction#1#2{%
-  \BKM at EscapeString\BKM at DO@dest
-  \edef#1{goto name{#2}}%
-}
-\def\BKM at SourceLocation{%
-  \ifx\BKM at DO@srcfile\@empty
-    \ifx\BKM at DO@srcline\@empty
-    \else
-      .\MessageBreak
-      Source: line \BKM at DO@srcline
-    \fi
-  \else
-    \ifx\BKM at DO@srcline\@empty
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile'%
-    \else
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile', line \BKM at DO@srcline
-    \fi
-  \fi
-}
-\RequirePackage{auxhook}
-\AddLineBeginMainAux{%
-  \string\providecommand\string\BKM at entry[2]{}%
-}
-\newcount\BKM at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{000}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \BKM at InitSourceLocation
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \ifx\BKM at srcfile\@empty
-      \else
-        \BKM at EscapeHex\BKM at srcfile
-      \fi
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}0%
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}0%
-            }%
-            \ifnum\BKM at prev>\z@
-              \BKM at CalcExpr\BKM at CalcResult\BKM at x@childs+1%
-              \expandafter\xdef\csname BKM@\BKM at prev\endcsname{%
-                {\BKM at x@parent}{\BKM at x@level}{\BKM at CalcResult}%
-              }%
-            \fi
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \csname BKM at HypDestOptHook\endcsname
-      \BKM at EscapeHex\BKM at dest
-      \BKM at EscapeHex\BKM at uri
-      \BKM at EscapeHex\BKM at gotor
-      \BKM at EscapeHex\BKM at rawaction
-      \BKM at EscapeHex\BKM at title
-      \immediate\write\@mainaux{%
-        \string\BKM at entry{%
-          id=\number\BKM at id
-          \ifBKM at open
-            \ifnum\BKM at level<\BKM at openlevel
-              ,open%
-            \fi
-          \fi
-          \BKM at auxentry{dest}%
-          \BKM at auxentry{named}%
-          \BKM at auxentry{uri}%
-          \BKM at auxentry{gotor}%
-          \BKM at auxentry{page}%
-          \BKM at auxentry{view}%
-          \BKM at auxentry{rawaction}%
-          \BKM at auxentry{color}%
-          \ifnum\BKM at FLAGS>\z@
-            ,flags=\BKM at FLAGS
-          \fi
-          \BKM at auxentry{srcline}%
-          \BKM at auxentry{srcfile}%
-        }{\BKM at title}%
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2#3{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-  \def\BKM at x@childs{#3}%
-}
-\def\BKM at auxentry#1{%
-  \expandafter\ifx\csname BKM@#1\endcsname\@empty
-  \else
-    ,#1={\csname BKM@#1\endcsname}%
-  \fi
-}
-\def\BKM at InitSourceLocation{%
-  \edef\BKM at srcline{\the\inputlineno}%
-  \BKM at LuaTeX@InitFile
-  \ifx\BKM at srcfile\@empty
-    \ltx at IfUndefined{currfilepath}{}{%
-      \edef\BKM at srcfile{\currfilepath}%
-    }%
-  \fi
-}
-\ifluatex
-  \ifnum\luatexversion>36 %
-    \def\BKM at LuaTeX@InitFile{%
-      \begingroup
-        \ltx at LocToksA={}%
-      \edef\x{\endgroup
-        \def\noexpand\BKM at srcfile{%
-          \the\expandafter\ltx at LocToksA
-          \directlua{%
-             if status and status.filename then %
-               tex.settoks('ltx at LocToksA', status.filename)%
-             end%
-          }%
-        }%
-      }\x
-    }%
-  \else
-    \let\BKM at LuaTeX@InitFile\relax
-  \fi
-\else
-  \let\BKM at LuaTeX@InitFile\relax
-\fi
-\SetupKeyvalOptions{family=BKM at DO,prefix=BKM at 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 at entry\BKM at DO@entry
-}
-\ifBKM at atend
-  \AfterLastShipout{%
-    \BKM at EndHook
-  }%
-\fi
-%</pdftexfrozen>
-%<*dvipsfrozen>
-\def\BKM at SourceLocation{%
-  \ifx\BKM at DO@srcfile\@empty
-    \ifx\BKM at DO@srcline\@empty
-    \else
-      .\MessageBreak
-      Source: line \BKM at DO@srcline
-    \fi
-  \else
-    \ifx\BKM at DO@srcline\@empty
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile'%
-    \else
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile', line \BKM at DO@srcline
-    \fi
-  \fi
-}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvips.def}%
-  [2019/12/03 v1.28 bookmark driver for dvips (HO)]%
-\def\BKM at PSHeaderFile#1{%
-  \special{header=#1}%
-}
-\def\BKM at filename{\jobname.out.ps}
-\BKM at PSHeaderFile\BKM at filename
-\RequirePackage{atveryend}[2009/12/07]
-\AfterLastShipout{\BKM at pdfmark@out}
-\def\BKM at pdfmark@out{%
-  \if at filesw
-    \newwrite\BKM at file
-    \immediate\openout\BKM at file=\BKM at filename\relax
-    \BKM at write{\@percentchar!}%
-    \BKM at write{/pdfmark where{pop}}%
-    \BKM at write{%
-      {%
-        /globaldict where{pop globaldict}{userdict}ifelse%
-        /pdfmark/cleartomark load put%
-      }%
-    }%
-    \BKM at write{ifelse}%
-  \else
-    \let\BKM at write\@gobble
-    \let\BKM at DO@entry\@gobbletwo
-  \fi
-}
-\def\BKM at write#{%
-  \immediate\write\BKM at file
-}
-\def\BKM at DO@entry#1#2{%
-  \begingroup
-    \kvsetkeys{BKM at DO}{#1}%
-    \ifx\BKM at DO@srcfile\@empty
-    \else
-      \BKM at UnescapeHex\BKM at DO@srcfile
-    \fi
-    \def\BKM at DO@title{#2}%
-    \BKM at UnescapeHex\BKM at DO@title
-    \expandafter\expandafter\expandafter\BKM at getx
-        \csname BKM@\BKM at DO@id\endcsname\@empty\@empty
-    \let\BKM at attr\@empty
-    \ifx\BKM at DO@flags\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/F \BKM at DO@flags}%
-    \fi
-    \ifx\BKM at DO@color\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/C[\BKM at DO@color]}%
-    \fi
-    \let\BKM at action\@empty
-    \ifx\BKM at DO@gotor\@empty
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@named\@empty
-          \ifx\BKM at DO@rawaction\@empty
-            \ifx\BKM at DO@uri\@empty
-              \ifx\BKM at DO@page\@empty
-                \PackageError{bookmark}{%
-                  Missing action\BKM at SourceLocation
-                }\@ehc
-                \edef\BKM at action{%
-                  /Action/GoTo%
-                  /Page 1%
-                  /View[/Fit]%
-                }%
-              \else
-                \ifx\BKM at DO@view\@empty
-                  \def\BKM at DO@view{Fit}%
-                \fi
-                \edef\BKM at action{%
-                  /Action/GoTo%
-                  /Page \BKM at DO@page
-                  /View[/\BKM at DO@view]%
-                }%
-              \fi
-            \else
-              \BKM at UnescapeHex\BKM at DO@uri
-              \BKM at EscapeString\BKM at DO@uri
-              \edef\BKM at action{%
-                /Action<<%
-                  /Subtype/URI%
-                  /URI(\BKM at DO@uri)%
-                >>%
-              }%
-            \fi
-          \else
-            \BKM at UnescapeHex\BKM at DO@rawaction
-            \edef\BKM at action{%
-              /Action<<%
-                \BKM at DO@rawaction
-              >>%
-            }%
-          \fi
-        \else
-          \BKM at EscapeName\BKM at DO@named
-          \edef\BKM at action{%
-            /Action<<%
-              /Subtype/Named%
-              /N/\BKM at DO@named
-            >>%
-          }%
-        \fi
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{%
-          /Action/GoTo%
-          /Dest(\BKM at DO@dest)cvn%
-        }%
-      \fi
-    \else
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@page\@empty
-          \def\BKM at DO@page{1}%
-        \fi
-        \ifx\BKM at DO@view\@empty
-          \def\BKM at DO@view{Fit}%
-        \fi
-        \edef\BKM at action{%
-          /Page \BKM at DO@page
-          /View[/\BKM at DO@view]%
-        }%
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{%
-          /Dest(\BKM at DO@dest)cvn%
-        }%
-      \fi
-      \BKM at UnescapeHex\BKM at DO@gotor
-      \BKM at EscapeString\BKM at DO@gotor
-      \edef\BKM at action{%
-        /Action/GoToR%
-        /File(\BKM at DO@gotor)%
-        \BKM at action
-      }%
-    \fi
-    \BKM at write{[}%
-    \BKM at write{/Title(\BKM at DO@title)}%
-    \ifnum\BKM at x@childs>\z@
-      \BKM at write{/Count \ifBKM at DO@open\else-\fi\BKM at x@childs}%
-    \fi
-    \ifx\BKM at attr\@empty
-    \else
-      \BKM at write{\BKM at attr}%
-    \fi
-    \BKM at write{\BKM at action}%
-    \BKM at write{/OUT pdfmark}%
-  \endgroup
-}
-\RequirePackage{auxhook}
-\AddLineBeginMainAux{%
-  \string\providecommand\string\BKM at entry[2]{}%
-}
-\newcount\BKM at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{000}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \BKM at InitSourceLocation
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \ifx\BKM at srcfile\@empty
-      \else
-        \BKM at EscapeHex\BKM at srcfile
-      \fi
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}0%
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}0%
-            }%
-            \ifnum\BKM at prev>\z@
-              \BKM at CalcExpr\BKM at CalcResult\BKM at x@childs+1%
-              \expandafter\xdef\csname BKM@\BKM at prev\endcsname{%
-                {\BKM at x@parent}{\BKM at x@level}{\BKM at CalcResult}%
-              }%
-            \fi
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \csname BKM at HypDestOptHook\endcsname
-      \BKM at EscapeHex\BKM at dest
-      \BKM at EscapeHex\BKM at uri
-      \BKM at EscapeHex\BKM at gotor
-      \BKM at EscapeHex\BKM at rawaction
-      \BKM at EscapeHex\BKM at title
-      \immediate\write\@mainaux{%
-        \string\BKM at entry{%
-          id=\number\BKM at id
-          \ifBKM at open
-            \ifnum\BKM at level<\BKM at openlevel
-              ,open%
-            \fi
-          \fi
-          \BKM at auxentry{dest}%
-          \BKM at auxentry{named}%
-          \BKM at auxentry{uri}%
-          \BKM at auxentry{gotor}%
-          \BKM at auxentry{page}%
-          \BKM at auxentry{view}%
-          \BKM at auxentry{rawaction}%
-          \BKM at auxentry{color}%
-          \ifnum\BKM at FLAGS>\z@
-            ,flags=\BKM at FLAGS
-          \fi
-          \BKM at auxentry{srcline}%
-          \BKM at auxentry{srcfile}%
-        }{\BKM at title}%
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2#3{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-  \def\BKM at x@childs{#3}%
-}
-\def\BKM at auxentry#1{%
-  \expandafter\ifx\csname BKM@#1\endcsname\@empty
-  \else
-    ,#1={\csname BKM@#1\endcsname}%
-  \fi
-}
-\def\BKM at InitSourceLocation{%
-  \edef\BKM at srcline{\the\inputlineno}%
-  \BKM at LuaTeX@InitFile
-  \ifx\BKM at srcfile\@empty
-    \ltx at IfUndefined{currfilepath}{}{%
-      \edef\BKM at srcfile{\currfilepath}%
-    }%
-  \fi
-}
-\ifluatex
-  \ifnum\luatexversion>36 %
-    \def\BKM at LuaTeX@InitFile{%
-      \begingroup
-        \ltx at LocToksA={}%
-      \edef\x{\endgroup
-        \def\noexpand\BKM at srcfile{%
-          \the\expandafter\ltx at LocToksA
-          \directlua{%
-             if status and status.filename then %
-               tex.settoks('ltx at LocToksA', status.filename)%
-             end%
-          }%
-        }%
-      }\x
-    }%
-  \else
-    \let\BKM at LuaTeX@InitFile\relax
-  \fi
-\else
-  \let\BKM at LuaTeX@InitFile\relax
-\fi
-\SetupKeyvalOptions{family=BKM at DO,prefix=BKM at 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 at entry\BKM at DO@entry
-}
-\ifBKM at atend
-  \AfterLastShipout{%
-    \BKM at EndHook
-  }%
-\fi
-%</dvipsfrozen>
-%<*dvipdfmfrozen>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvipdfm.def}%
-  [2019/12/03 v1.28 bookmark driver for dvipdfm (HO)]%
-\newcount\BKM at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{000}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \def\BKM at abslevel{1}%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}\BKM at abslevel
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \BKM at CalcExpr\BKM at abslevel\BKM at x@abslevel+1%
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}\BKM at abslevel
-            }%
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \csname HyPsd at XeTeXBigCharstrue\endcsname
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \let\BKM at action\@empty
-      \ifx\BKM at gotor\@empty
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at named\@empty
-            \ifx\BKM at rawaction\@empty
-              \ifx\BKM at uri\@empty
-                \ifx\BKM at page\@empty
-                  \PackageError{bookmark}{Missing action}\@ehc
-                  \edef\BKM at action{/Dest[@page1/Fit]}%
-                \else
-                  \ifx\BKM at view\@empty
-                    \def\BKM at view{Fit}%
-                  \fi
-                  \edef\BKM at action{/Dest[@page\BKM at page/\BKM at view]}%
-                \fi
-              \else
-                \BKM at EscapeString\BKM at uri
-                \edef\BKM at action{%
-                  /A<<%
-                    /S/URI%
-                    /URI(\BKM at uri)%
-                  >>%
-                }%
-              \fi
-            \else
-              \edef\BKM at action{/A<<\BKM at rawaction>>}%
-            \fi
-          \else
-            \BKM at EscapeName\BKM at named
-            \edef\BKM at action{%
-              /A<</S/Named/N/\BKM at named>>%
-            }%
-          \fi
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{%
-            /A<<%
-              /S/GoTo%
-              /D(\BKM at dest)%
-            >>%
-          }%
-        \fi
-      \else
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at page\@empty
-            \def\BKM at page{0}%
-          \else
-            \BKM at CalcExpr\BKM at page\BKM at page-1%
-          \fi
-          \ifx\BKM at view\@empty
-            \def\BKM at view{Fit}%
-          \fi
-          \edef\BKM at action{/D[\BKM at page/\BKM at view]}%
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{/D(\BKM at dest)}%
-        \fi
-        \BKM at EscapeString\BKM at gotor
-        \edef\BKM at action{%
-          /A<<%
-            /S/GoToR%
-            /F(\BKM at gotor)%
-            \BKM at action
-          >>%
-        }%
-      \fi
-      \special{pdf:%
-        out \ifBKM at DvipdfmxOutlineOpen
-              [%
-              \ifBKM at open
-                \ifnum\BKM at level<%
-                    \expandafter\ltx at firstofone\expandafter
-                    {\number\BKM at openlevel} %
-                \else
-                  -%
-                \fi
-              \else
-                -%
-              \fi
-              ] %
-            \fi
-            \BKM at abslevel
-        <<%
-          /Title(\BKM at title)%
-          \ifx\BKM at color\@empty
-          \else
-            /C[\BKM at color]%
-          \fi
-          \ifnum\BKM at FLAGS>\z@
-            /F \BKM at FLAGS
-          \fi
-          \BKM at action
-        >>%
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2#3{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-  \def\BKM at x@abslevel{#3}%
-}
-\ifBKM at atend
-  \RequirePackage{atenddvi}%
-  \AtEndDvi{\BKM at 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 at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{00}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \def\BKM at parent{0}%
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}%
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \let\BKM at parent\BKM at prev
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}%
-            }%
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \BKM at vtex@title
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \let\BKM at action\@empty
-      \ifx\BKM at gotor\@empty
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at named\@empty
-            \ifx\BKM at rawaction\@empty
-              \ifx\BKM at uri\@empty
-                \ifx\BKM at page\@empty
-                  \PackageError{bookmark}{Missing action}\@ehc
-                  \def\BKM at action{!1}%
-                \else
-                  \edef\BKM at action{!\BKM at page}%
-                \fi
-              \else
-                \BKM at EscapeString\BKM at uri
-                \edef\BKM at action{%
-                  <u=%
-                    /S/URI%
-                    /URI(\BKM at uri)%
-                  >%
-                }%
-              \fi
-            \else
-              \edef\BKM at action{<u=\BKM at rawaction>}%
-            \fi
-          \else
-            \BKM at EscapeName\BKM at named
-            \edef\BKM at action{%
-              <u=%
-                /S/Named%
-                /N/\BKM at named
-              >%
-            }%
-          \fi
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{\BKM at dest}%
-        \fi
-      \else
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at page\@empty
-            \def\BKM at page{1}%
-          \fi
-          \ifx\BKM at view\@empty
-            \def\BKM at view{Fit}%
-          \fi
-          \edef\BKM at action{/D[\BKM at page/\BKM at view]}%
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{/D(\BKM at dest)}%
-        \fi
-        \BKM at EscapeString\BKM at gotor
-        \edef\BKM at action{%
-          <u=%
-            /S/GoToR%
-            /F(\BKM at gotor)%
-            \BKM at action
-          >>%
-        }%
-      \fi
-      \ifx\BKM at color\@empty
-        \let\BKM at RGBcolor\@empty
-      \else
-        \expandafter\BKM at toRGB\BKM at color\@nil
-      \fi
-      \special{%
-        !outline \BKM at action;%
-        p=\BKM at parent,%
-        i=\number\BKM at id,%
-        s=%
-          \ifBKM at open
-            \ifnum\BKM at level<\BKM at openlevel
-              o%
-            \else
-              c%
-            \fi
-          \else
-            c%
-          \fi,%
-        \ifx\BKM at RGBcolor\@empty
-        \else
-          c=\BKM at RGBcolor,%
-        \fi
-        \ifnum\BKM at FLAGS>\z@
-          f=\BKM at FLAGS,%
-        \fi
-        t=\BKM at title
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-}
-\def\BKM at toRGB#1 #2 #3\@nil{%
-  \let\BKM at RGBcolor\@empty
-  \BKM at toRGBComponent{#1}%
-  \BKM at toRGBComponent{#2}%
-  \BKM at toRGBComponent{#3}%
-}
-\def\BKM at 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 at ii=\dimen@
-      \divide\dimen at ii by 16\relax
-      \edef\BKM at RGBcolor{%
-        \BKM at RGBcolor
-        \BKM at toHexDigit\dimen at ii
-      }%
-      \dimen at ii=16\dimen at ii
-      \advance\dimen at -\dimen at ii
-      \edef\BKM at RGBcolor{%
-        \BKM at RGBcolor
-        \BKM at toHexDigit\dimen@
-      }%
-    \else
-      \edef\BKM at RGBcolor{\BKM at RGBcolor FF}%
-    \fi
-  \else
-    \edef\BKM at RGBcolor{\BKM at RGBcolor00}%
-  \fi
-}
-\def\BKM at 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 at vtex@title{%
-    |@onelevel at sanitize|BKM at title
-    |edef|BKM at title{|expandafter|BKM at vtex@leftparen|BKM at title\(|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@rightparen|BKM at title\)|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@zero|BKM at title\0|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@one|BKM at title\1|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@two|BKM at title\2|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@three|BKM at title\3|@nil}%
-  }%
-  |gdef|BKM at vtex@leftparen#1\(#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      (%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@leftparen#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@rightparen#1\)#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      )%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@rightparen#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@zero#1\0#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char0%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@zero#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@one#1\1#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char1%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@one#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@two#1\2#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char2%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@two#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@three#1\3#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char3%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@three#2|@nil
-      }%
-    |fi
-  }%
-|endgroup
-\ifBKM at atend
-  \RequirePackage{atenddvi}%
-  \AtEndDvi{\BKM at EndHook}%
-\fi
-%</vtexfrozen>

Modified: trunk/Master/texmf-dist/source/latex/bookmark/bookmark.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/bookmark/bookmark.dtx	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/texmf-dist/source/latex/bookmark/bookmark.dtx	2023-12-10 20:57:34 UTC (rev 69084)
@@ -1,7 +1,7 @@
 % \iffalse meta-comment
 %
 % File: bookmark.dtx
-% Version: 2023-12-05 v1.30
+% Version: 2023-12-10 v1.31
 % Info: PDF bookmarks
 %
 % Copyright (C)
@@ -25,40 +25,30 @@
 % 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,
+% This work consists of the main source files bookmark.dtx,
+% and bookmark.ins and the derived files
+%    bookmark.sty, bookmark.pdf, 
 %    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)
+%    tex/pdftex/pdflatex bookmark.ins
 %
 % Documentation:
-%    (a) If bookmark.drv is present:
-%           latex bookmark.drv
-%    (b) Without bookmark.drv:
-%           latex bookmark.dtx; ...
+%    
+%         (pdf)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):
+%    Program calls to get the documentation (example):
 %       pdflatex bookmark.dtx
 %       makeindex -s gind.ist bookmark.idx
 %       pdflatex bookmark.dtx
@@ -71,121 +61,14 @@
 %    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
 %
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: bookmark 2023-12-05 v1.30 PDF bookmarks (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: bookmark
-Version: 2023-12-05 v1.30
-
-Copyright (C)
-   2007-2011 Heiko Oberdiek
-   2016-2023 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.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{bookmark.ins}{\from{bookmark.dtx}{install}}%
-  \file{bookmark.drv}{\from{bookmark.dtx}{driver}}%
-  \usedir{tex/latex/bookmark}%
-  \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-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
-\let =\space%
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* files into a directory searched by TeX:}
-\Msg{*}
-\Msg{*     bookmark.sty, bkm-dvipdfm.def, bkm-dvips.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.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
 %<*driver>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{bookmark.drv}%
-  [2023-12-05 v1.30 PDF bookmarks (HO)]%
+  [2023-12-10 v1.31 PDF bookmarks (HO)]%
 \documentclass{ltxdoc}
 \usepackage{holtxdoc}[2011/11/22]
 \begin{document}
@@ -195,11 +78,8 @@
 % \fi
 %
 %
-%
-% \GetFileInfo{bookmark.drv}
-%
 % \title{The \xpackage{bookmark} package}
-% \date{2023-12-05 v1.30}
+% \date{2023-12-10 v1.31}
 % \author{Heiko Oberdiek\thanks
 % {Please report any issues at \url{https://github.com/ho-tex/bookmark/issues}}}
 %
@@ -307,10 +187,9 @@
 % \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.
-%
+% The current versions of the drivers uses new \LaTeX-hooks and tests if the PDF management
+% is active and so requires a format newer than 2022-06-01.
+% 
 % \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
@@ -406,7 +285,7 @@
 % unhappily the file name is a secret. The package supports
 % some ways to get the file name:
 % \begin{itemize}
-% \item If \hologo{LuaTeX} (independently from DVI or PDF modus)
+% \item If \hologo{LuaTeX} (independently from DVI or PDF modes)
 %   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
@@ -773,7 +652,7 @@
 %<*package>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{bookmark}%
-  [2023-12-05 v1.30 PDF bookmarks (HO)]%
+  [2023-12-10 v1.31 PDF bookmarks (HO)]%
 %    \end{macrocode}
 %
 % \subsubsection{Requirements}
@@ -843,6 +722,26 @@
 %    \end{macrocode}
 %    \end{macro}
 %
+% \paragraph{Some helper commands}
+% Replaces some commands from ltxcmds:
+% 
+% \begin{macro}{\BKM at ReturnAfterFi}
+% \begin{macro}{\BKM at space}
+% \begin{macro}{\BKM at GlobalAppendToMacro}
+% \begin{macro}{\BKM at LocalAppendToMacro}
+%    \begin{macrocode}
+\ExplSyntaxOn
+\let\BKM at LocalAppendToMacro\tl_put_right:Nn
+\let\BKM at GlobalAppendToMacro\tl_gput_right:Nn
+\ExplSyntaxOff 
+\def\BKM at space{ }
+\long\def\BKM at ReturnAfterFi#1\fi{\fi#1}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% 
 % \paragraph{Packages.}
 %
 % Don't load packages loaded by xpackage{hyperref}
@@ -889,7 +788,7 @@
 %    \begin{macrocode}
 \def\BKM at setup#1{%
   \bookmarksetup{#1}%
-  \ifx\BKM at HookNext\ltx at empty
+  \ifx\BKM at HookNext\@empty
   \else
     \expandafter\bookmarksetup\expandafter{\BKM at HookNext}%
     \BKM at HookNextClear
@@ -906,7 +805,7 @@
 %    \begin{macro}{\bookmarksetupnext}
 %    \begin{macrocode}
 \newcommand*{\bookmarksetupnext}[1]{%
-  \ltx at GlobalAppendToMacro\BKM at HookNext{,#1}%
+  \BKM at GlobalAppendToMacro\BKM at HookNext{,#1}%
 }
 %    \end{macrocode}
 %    \end{macro}
@@ -917,7 +816,7 @@
 %    \begin{macro}{\BKM at HookNextClear}
 %    \begin{macrocode}
 \def\BKM at HookNextClear{%
-  \global\let\BKM at HookNext\ltx at empty
+  \global\let\BKM at HookNext\@empty
 }
 %    \end{macrocode}
 %    \end{macro}
@@ -947,7 +846,7 @@
 %    \begin{macro}{\bookmark at open}
 %    \begin{macrocode}
 \def\bookmark at open{%
-  \ifBKM at open\ltx at one\else\ltx at zero\fi
+  \ifBKM at open\@ne\else\z@\fi
 }
 %    \end{macrocode}
 %    \end{macro}
@@ -961,7 +860,7 @@
 %    \end{macro}
 %    \begin{macrocode}
 %\DeclareStringOption[\c at tocdepth]{depth}
-\ltx at IfUndefined{Hy at bookmarksdepth}{%
+\@ifundefined{Hy at bookmarksdepth}{%
   \def\BKM at depth{\c at tocdepth}%
 }{%
   \let\BKM at depth\Hy at bookmarksdepth
@@ -971,7 +870,7 @@
   \ifx\BKM at param\@empty
     \def\BKM at depth{\c at tocdepth}%
   \else
-    \ltx at IfUndefined{toclevel@\BKM at param}{%
+    \@ifundefined{toclevel@\BKM at param}{%
       \@onelevel at sanitize\BKM at param
       \edef\BKM at temp{\expandafter\@car\BKM at param\@nil}%
       \ifcase 0\expandafter\ifx\BKM at temp-1\fi
@@ -1021,7 +920,7 @@
   \ifx\BKM at param\BKM at MacroCurrentLevel
     \let\BKM at level\BKM at param
   \else
-    \ltx at IfUndefined{toclevel@\BKM at param}{%
+    \@ifundefined{toclevel@\BKM at param}{%
       \@onelevel at sanitize\BKM at param
       \edef\BKM at temp{\expandafter\@car\BKM at param\@nil}%
       \ifcase 0\expandafter\ifx\BKM at temp-1\fi
@@ -1106,7 +1005,7 @@
 %    \begin{macro}{\bookmark at numbered}
 %    \begin{macrocode}
 \def\bookmark at numbered{%
-  \ifBKM at numbered\ltx at one\else\ltx at zero\fi
+  \ifBKM at numbered\@ne\else\z@\fi
 }
 %    \end{macrocode}
 %    \end{macro}
@@ -1167,7 +1066,7 @@
 %    \begin{macro}{\bookmark at italic}
 %    \begin{macrocode}
 \def\bookmark at italic{%
-  \ifnum\bitsetGet{BKM at FontStyle}{0}=1 \ltx at one\else\ltx at zero\fi
+  \ifnum\bitsetGet{BKM at FontStyle}{0}=1 \@ne\else\z@\fi
 }
 %    \end{macrocode}
 %    \end{macro}
@@ -1174,7 +1073,7 @@
 %    \begin{macro}{\bookmark at bold}
 %    \begin{macrocode}
 \def\bookmark at bold{%
-  \ifnum\bitsetGet{BKM at FontStyle}{1}=1 \ltx at one\else\ltx at zero\fi
+  \ifnum\bitsetGet{BKM at FontStyle}{1}=1 \@ne\else\z@\fi
 }
 %    \end{macrocode}
 %    \end{macro}
@@ -1605,7 +1504,7 @@
 %    \end{macro}
 %    \begin{macrocode}
 \define at key{BKM}{addtohook}{%
-  \ltx at LocalAppendToMacro\BKM at hook{#1}%
+  \BKM at LocalAppendToMacro\BKM at hook{#1}%
 }
 %    \end{macrocode}
 %
@@ -1613,10 +1512,10 @@
 %    \begin{macrocode}
 \newcommand*{\bookmarkget}[1]{%
   \romannumeral0%
-  \ltx at ifundefined{bookmark@#1}{%
-    \ltx at space
+  \@ifundefined{bookmark@#1}{%
+    \BKM at space
   }{%
-    \expandafter\expandafter\expandafter\ltx at space
+    \expandafter\expandafter\expandafter\BKM at space
     \csname bookmark@#1\endcsname
   }%
 }
@@ -1700,19 +1599,19 @@
 %    \begin{macrocode}
 \ifBKM at draft
   \PackageWarningNoLine{bookmark}{Draft mode on}%
-  \let\bookmarksetup\ltx at gobble
-  \let\BookmarkAtEnd\ltx at gobble
-  \let\bookmarkdefinestyle\ltx at gobbletwo
-  \let\bookmarkget\ltx at gobble
-  \let\pdfbookmark\ltx at undefined
+  \let\bookmarksetup\@gobble
+  \let\BookmarkAtEnd\@gobble
+  \let\bookmarkdefinestyle\@gobbletwo
+  \let\bookmarkget\@gobble
+  \let\pdfbookmark\@undefined
   \newcommand*{\pdfbookmark}[3][]{}%
-  \let\currentpdfbookmark\ltx at gobbletwo
-  \let\subpdfbookmark\ltx at gobbletwo
-  \let\belowpdfbookmark\ltx at gobbletwo
+  \let\currentpdfbookmark\@gobbletwo
+  \let\subpdfbookmark\@gobbletwo
+  \let\belowpdfbookmark\@gobbletwo
   \newcommand*{\bookmark}[2][]{}%
   \renewcommand*{\Hy at writebookmark}[5]{}%
   \let\ReadBookmarks\relax
-  \let\BKM at DefGotoNameAction\ltx at gobbletwo % package `hypdestopt'
+  \let\BKM at DefGotoNameAction\@gobbletwo % package `hypdestopt'
   \expandafter\endinput
 \fi
 %    \end{macrocode}
@@ -1773,8 +1672,6 @@
     \fi
   \fi
 \fi
-\providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion}
-\IfFormatAtLeastTF{2020/10/01}{}{\edef\BKM at driver{\BKM at driver-2019-12-03}}
 \InputIfFileExists{bkm-\BKM at driver.def}{}{%
   \PackageError{bookmark}{%
     Unsupported driver `\BKM at driver'.\MessageBreak
@@ -1788,7 +1685,7 @@
 %
 %    \begin{macro}{\pdfbookmark}
 %    \begin{macrocode}
-\let\pdfbookmark\ltx at undefined
+\let\pdfbookmark\@undefined
 \newcommand*{\pdfbookmark}[3][0]{%
   \bookmark[level=#1,dest={#3.#1}]{#2}%
   \hyper at anchorstart{#3.#1}\hyper at anchorend
@@ -1864,7 +1761,7 @@
 %<*dvipdfm>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{bkm-dvipdfm.def}%
-  [2023-12-05 v1.30 bookmark driver for dvipdfm (HO)]%
+  [2023-12-10 v1.31 bookmark driver for dvipdfm (HO)]%
 %    \end{macrocode}
 %
 %    \begin{macro}{\BKM at id}
@@ -2009,7 +1906,7 @@
               [%
               \ifBKM at open
                 \ifnum\BKM at level<%
-                    \expandafter\ltx at firstofone\expandafter
+                    \expandafter\@firstofone\expandafter
                     {\number\BKM at openlevel} %
                 \else
                   -%
@@ -2056,7 +1953,7 @@
 %<*vtex>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{bkm-vtex.def}%
-  [2023-12-05 v1.30 bookmark driver for VTeX (HO)]%
+  [2023-12-10 v1.31 bookmark driver for VTeX (HO)]%
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -2296,7 +2193,7 @@
     |ifx||#2||%
     |else
       (%
-      |ltx at ReturnAfterFi{%
+      |BKM at ReturnAfterFi{%
         |BKM at vtex@leftparen#2|@nil
       }%
     |fi
@@ -2310,7 +2207,7 @@
     |ifx||#2||%
     |else
       )%
-      |ltx at ReturnAfterFi{%
+      |BKM at ReturnAfterFi{%
         |BKM at vtex@rightparen#2|@nil
       }%
     |fi
@@ -2324,7 +2221,7 @@
     |ifx||#2||%
     |else
       |noexpand|hv at pdf@char0%
-      |ltx at ReturnAfterFi{%
+      |BKM at ReturnAfterFi{%
         |BKM at vtex@zero#2|@nil
       }%
     |fi
@@ -2338,7 +2235,7 @@
     |ifx||#2||%
     |else
       |noexpand|hv at pdf@char1%
-      |ltx at ReturnAfterFi{%
+      |BKM at ReturnAfterFi{%
         |BKM at vtex@one#2|@nil
       }%
     |fi
@@ -2352,7 +2249,7 @@
     |ifx||#2||%
     |else
       |noexpand|hv at pdf@char2%
-      |ltx at ReturnAfterFi{%
+      |BKM at ReturnAfterFi{%
         |BKM at vtex@two#2|@nil
       }%
     |fi
@@ -2366,7 +2263,7 @@
     |ifx||#2||%
     |else
       |noexpand|hv at pdf@char3%
-      |ltx at ReturnAfterFi{%
+      |BKM at ReturnAfterFi{%
         |BKM at vtex@three#2|@nil
       }%
     |fi
@@ -2387,7 +2284,7 @@
 %<*pdftex>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{bkm-pdftex.def}%
-  [2023-12-05 v1.30 bookmark driver for pdfTeX and luaTeX (HO)]%
+  [2023-12-10 v1.31 bookmark driver for pdfTeX and luaTeX (HO)]%
 %    \end{macrocode}
 %
 %    \begin{macro}{\BKM at DO@entry}
@@ -2562,7 +2459,7 @@
 %<*dvips>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{bkm-dvips.def}%
-  [2023-12-05 v1.30 bookmark driver for dvips (HO)]%
+  [2023-12-10 v1.31 bookmark driver for dvips (HO)]%
 %    \end{macrocode}
 %    \begin{macro}{\BKM at PSHeaderFile}
 %    \begin{macrocode}
@@ -2889,7 +2786,7 @@
   \edef\BKM at srcline{\the\inputlineno}%
   \BKM at LuaTeX@InitFile
   \ifx\BKM at srcfile\@empty
-    \ltx at IfUndefined{currfilepath}{}{%
+    \@ifundefined{currfilepath}{}{%
       \edef\BKM at srcfile{\currfilepath}%
     }%
   \fi
@@ -2901,13 +2798,13 @@
 \ifluatex
     \def\BKM at LuaTeX@InitFile{%
       \begingroup
-        \ltx at LocToksA={}%
+        \toks@={}%
       \edef\x{\endgroup
         \def\noexpand\BKM at srcfile{%
-          \the\expandafter\ltx at LocToksA
+          \the\expandafter\toks@
           \directlua{%
              if status and status.filename then %
-               tex.settoks('ltx at LocToksA', status.filename)%
+               tex.settoks('toks@', status.filename)%
              end%
           }%
         }%
@@ -3038,16 +2935,20 @@
 % CTAN\footnote{\CTANpkg{bookmark}}:
 % \begin{description}
 % \item[\CTAN{macros/latex/contrib/bookmark/bookmark.dtx}] The source file.
+% \item[\CTAN{macros/latex/contrib/bookmark/bookmark.ins}] Installation driver.
 % \item[\CTAN{macros/latex/contrib/bookmark/bookmark.pdf}] Documentation.
 % \end{description}
 %
 % \subsection{Package installation}
 %
-% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
-% \docstrip\ archive. The files are extracted by running the
-% \xfile{.dtx} through \plainTeX:
+% The easiest is to use the package manager from your TeX system. If
+% you want to install manually:
+% 
+% \paragraph{Unpacking.} The \xfile{.dtx} file is 
+% \docstrip\ archive. The files are extracted from the \xfile{.dtx}
+% by compiling the file with some TeX program.
 % \begin{quote}
-%   \verb|tex bookmark.dtx|
+%   \verb|pdflatex bookmark.dtx|
 % \end{quote}
 %
 % \paragraph{TDS.} Now the different files must be moved into
@@ -3140,25 +3041,8 @@
 % these. For example, \TeX\,Live\ users run \verb|texhash| or
 % \verb|mktexlsr|.
 %
-% \subsection{Some details for the interested}
-%
-% \paragraph{Unpacking with \LaTeX.}
-% The \xfile{.dtx} chooses its action depending on the format:
-% \begin{description}
-% \item[\plainTeX:] Run \docstrip\ and extract the files.
-% \item[\LaTeX:] Generate the documentation.
-% \end{description}
-% If you insist on using \LaTeX\ for \docstrip\ (really,
-% \docstrip\ does not need \LaTeX), then inform the autodetect routine
-% about your intention:
-% \begin{quote}
-%   \verb|latex \let\install=y\input{bookmark.dtx}|
-% \end{quote}
-% Do not forget to quote the argument according to the demands
-% of your shell.
-%
 % \paragraph{Generating the documentation.}
-% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
+% You can use the \xfile{.dtx} to generate
 % the documentation. The process can be configured by the
 % configuration file \xfile{ltxdoc.cfg}. For instance, put this
 % line into this file, if you want to have A4 as paper format:
@@ -3405,9 +3289,7 @@
 %   \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.
+%         and so require a format 2020-10-01 or newer.
 %   \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}
@@ -3419,6 +3301,13 @@
 %   \xpackage{hyperref}, https://github.com/ho-tex/bookmark/issues/4
 %   \item Added support for structure destinations, https://github.com/ho-tex/bookmark/issues/7   
 %   \end{Version}
+%   \begin{Version}{2023-12-10 v1.31}
+%   \item Simplified the \xfile{.dtx}. It is no longer a self-extracting archive
+%    instead the newly added \xfile{.ins} should be used for installation.
+%    https://github.com/ho-tex/bookmark/issues/7
+%   \item Removed the now outdated frozen drivers. 
+%   \item Removed the dependency to ltxcmds. 
+%   \end{Version}
 % \end{History}
 %
 % \PrintIndex

Added: trunk/Master/texmf-dist/source/latex/bookmark/bookmark.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/bookmark/bookmark.ins	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/bookmark/bookmark.ins	2023-12-10 20:57:34 UTC (rev 69084)
@@ -0,0 +1,123 @@
+\iffalse meta-comment
+ File `bookmark.ins',
+ 
+
+ Project: bookmark
+ Version: 2023-12-10 v1.31
+ 
+ Copyright (C)
+    2007-2011 Heiko Oberdiek
+    2016-2023 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 file is part of the "bookmark bundle" (The Work in LPPL)
+ and all files in that bundle must be distributed together.
+
+ The released version of this bundle is available from CTAN.
+ 
+ This work consists of the main source files bookmark.dtx, 
+ and bookmark.ins and the derived files
+    bookmark.sty, bookmark.pdf, 
+    bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+    bookmark-example.tex.
+% 
+\fi
+\input docstrip.tex
+\Msg{************************************************************************}
+\Msg{* Installation}
+\Msg{* Package: bookmark 2023-12-10 v1.31 PDF bookmarks (HO)}
+\Msg{************************************************************************}
+
+\keepsilent
+\askforoverwritefalse
+
+\let\MetaPrefix\relax
+\preamble
+
+This is a generated file.
+
+Project: bookmark
+Version: 2023-12-10 v1.31
+
+Copyright (C)
+   2007-2011 Heiko Oberdiek
+   2016-2023 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 file is part of the "bookmark bundle" (The Work in LPPL)
+ and all files in that bundle must be distributed together.
+
+ The released version of this bundle is available from CTAN.
+ 
+ This work consists of the main source files bookmark.dtx
+ and bookmark.ins and the derived files
+    bookmark.sty, bookmark.pdf, 
+    bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+    bookmark-example.tex.
+
+\endpreamble
+\let\MetaPrefix\DoubleperCent
+
+\generate{%
+  \usedir{tex/latex/bookmark}%
+  \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-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}}%
+}
+
+\catcode32=13\relax% active space
+\let =\space%
+\Msg{************************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by TeX:}
+\Msg{*}
+\Msg{*     bookmark.sty, bkm-dvipdfm.def, bkm-dvips.def,}
+\Msg{*     bkm-pdftex.def and bkm-vtex.def}
+\Msg{*}
+\Msg{* To produce the documentation run the file `bookmark.dtx'}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{************************************************************************}
+
+\endbatchfile
+
+\endinput
+%%
+%% End of file `bookmark.ins'.

Deleted: trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm-2019-12-03.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm-2019-12-03.def	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm-2019-12-03.def	2023-12-10 20:57:34 UTC (rev 69084)
@@ -1,190 +0,0 @@
-%%
-%% 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: 2023-12-05 v1.30
-%% 
-%% Copyright (C)
-%%    2007-2011 Heiko Oberdiek
-%%    2016-2023 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 at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{000}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \def\BKM at abslevel{1}%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}\BKM at abslevel
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \BKM at CalcExpr\BKM at abslevel\BKM at x@abslevel+1%
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}\BKM at abslevel
-            }%
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \csname HyPsd at XeTeXBigCharstrue\endcsname
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \let\BKM at action\@empty
-      \ifx\BKM at gotor\@empty
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at named\@empty
-            \ifx\BKM at rawaction\@empty
-              \ifx\BKM at uri\@empty
-                \ifx\BKM at page\@empty
-                  \PackageError{bookmark}{Missing action}\@ehc
-                  \edef\BKM at action{/Dest[@page1/Fit]}%
-                \else
-                  \ifx\BKM at view\@empty
-                    \def\BKM at view{Fit}%
-                  \fi
-                  \edef\BKM at action{/Dest[@page\BKM at page/\BKM at view]}%
-                \fi
-              \else
-                \BKM at EscapeString\BKM at uri
-                \edef\BKM at action{%
-                  /A<<%
-                    /S/URI%
-                    /URI(\BKM at uri)%
-                  >>%
-                }%
-              \fi
-            \else
-              \edef\BKM at action{/A<<\BKM at rawaction>>}%
-            \fi
-          \else
-            \BKM at EscapeName\BKM at named
-            \edef\BKM at action{%
-              /A<</S/Named/N/\BKM at named>>%
-            }%
-          \fi
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{%
-            /A<<%
-              /S/GoTo%
-              /D(\BKM at dest)%
-            >>%
-          }%
-        \fi
-      \else
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at page\@empty
-            \def\BKM at page{0}%
-          \else
-            \BKM at CalcExpr\BKM at page\BKM at page-1%
-          \fi
-          \ifx\BKM at view\@empty
-            \def\BKM at view{Fit}%
-          \fi
-          \edef\BKM at action{/D[\BKM at page/\BKM at view]}%
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{/D(\BKM at dest)}%
-        \fi
-        \BKM at EscapeString\BKM at gotor
-        \edef\BKM at action{%
-          /A<<%
-            /S/GoToR%
-            /F(\BKM at gotor)%
-            \BKM at action
-          >>%
-        }%
-      \fi
-      \special{pdf:%
-        out \ifBKM at DvipdfmxOutlineOpen
-              [%
-              \ifBKM at open
-                \ifnum\BKM at level<%
-                    \expandafter\ltx at firstofone\expandafter
-                    {\number\BKM at openlevel} %
-                \else
-                  -%
-                \fi
-              \else
-                -%
-              \fi
-              ] %
-            \fi
-            \BKM at abslevel
-        <<%
-          /Title(\BKM at title)%
-          \ifx\BKM at color\@empty
-          \else
-            /C[\BKM at color]%
-          \fi
-          \ifnum\BKM at FLAGS>\z@
-            /F \BKM at FLAGS
-          \fi
-          \BKM at action
-        >>%
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2#3{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-  \def\BKM at x@abslevel{#3}%
-}
-\ifBKM at atend
-  \RequirePackage{atenddvi}%
-  \AtEndDvi{\BKM at EndHook}%
-\fi
-\endinput
-%%
-%% End of file `bkm-dvipdfm-2019-12-03.def'.

Modified: trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm.def	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvipdfm.def	2023-12-10 20:57:34 UTC (rev 69084)
@@ -9,7 +9,7 @@
 %% This is a generated file.
 %% 
 %% Project: bookmark
-%% Version: 2023-12-05 v1.30
+%% Version: 2023-12-10 v1.31
 %% 
 %% Copyright (C)
 %%    2007-2011 Heiko Oberdiek
@@ -31,17 +31,20 @@
 %% 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.
+%% This file is part of the "bookmark bundle" (The Work in LPPL)
+%%  and all files in that bundle must be distributed together.
 %% 
+%%  The released version of this bundle is available from CTAN.
+%% 
+%%  This work consists of the main source files bookmark.dtx
+%%  and bookmark.ins and the derived files
+%%     bookmark.sty, bookmark.pdf,
+%%     bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%%     bookmark-example.tex.
+%% 
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{bkm-dvipdfm.def}%
-  [2023-12-05 v1.30 bookmark driver for dvipdfm (HO)]%
+  [2023-12-10 v1.31 bookmark driver for dvipdfm (HO)]%
 \newcount\BKM at id
 \BKM at id=\z@
 \@namedef{BKM at 0}{000}
@@ -162,7 +165,7 @@
               [%
               \ifBKM at open
                 \ifnum\BKM at level<%
-                    \expandafter\ltx at firstofone\expandafter
+                    \expandafter\@firstofone\expandafter
                     {\number\BKM at openlevel} %
                 \else
                   -%

Deleted: trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvips-2019-12-03.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvips-2019-12-03.def	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvips-2019-12-03.def	2023-12-10 20:57:34 UTC (rev 69084)
@@ -1,357 +0,0 @@
-%%
-%% This is file `bkm-dvips-2019-12-03.def',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bookmark-frozen.dtx  (with options: `dvipsfrozen')
-%% 
-%% This is a generated file.
-%% 
-%% Project: bookmark
-%% Version: 2023-12-05 v1.30
-%% 
-%% Copyright (C)
-%%    2007-2011 Heiko Oberdiek
-%%    2016-2023 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.
-%% 
-\def\BKM at SourceLocation{%
-  \ifx\BKM at DO@srcfile\@empty
-    \ifx\BKM at DO@srcline\@empty
-    \else
-      .\MessageBreak
-      Source: line \BKM at DO@srcline
-    \fi
-  \else
-    \ifx\BKM at DO@srcline\@empty
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile'%
-    \else
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile', line \BKM at DO@srcline
-    \fi
-  \fi
-}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvips.def}%
-  [2019/12/03 v1.28 bookmark driver for dvips (HO)]%
-\def\BKM at PSHeaderFile#1{%
-  \special{header=#1}%
-}
-\def\BKM at filename{\jobname.out.ps}
-\BKM at PSHeaderFile\BKM at filename
-\RequirePackage{atveryend}[2009/12/07]
-\AfterLastShipout{\BKM at pdfmark@out}
-\def\BKM at pdfmark@out{%
-  \if at filesw
-    \newwrite\BKM at file
-    \immediate\openout\BKM at file=\BKM at filename\relax
-    \BKM at write{\@percentchar!}%
-    \BKM at write{/pdfmark where{pop}}%
-    \BKM at write{%
-      {%
-        /globaldict where{pop globaldict}{userdict}ifelse%
-        /pdfmark/cleartomark load put%
-      }%
-    }%
-    \BKM at write{ifelse}%
-  \else
-    \let\BKM at write\@gobble
-    \let\BKM at DO@entry\@gobbletwo
-  \fi
-}
-\def\BKM at write#{%
-  \immediate\write\BKM at file
-}
-\def\BKM at DO@entry#1#2{%
-  \begingroup
-    \kvsetkeys{BKM at DO}{#1}%
-    \ifx\BKM at DO@srcfile\@empty
-    \else
-      \BKM at UnescapeHex\BKM at DO@srcfile
-    \fi
-    \def\BKM at DO@title{#2}%
-    \BKM at UnescapeHex\BKM at DO@title
-    \expandafter\expandafter\expandafter\BKM at getx
-        \csname BKM@\BKM at DO@id\endcsname\@empty\@empty
-    \let\BKM at attr\@empty
-    \ifx\BKM at DO@flags\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/F \BKM at DO@flags}%
-    \fi
-    \ifx\BKM at DO@color\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/C[\BKM at DO@color]}%
-    \fi
-    \let\BKM at action\@empty
-    \ifx\BKM at DO@gotor\@empty
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@named\@empty
-          \ifx\BKM at DO@rawaction\@empty
-            \ifx\BKM at DO@uri\@empty
-              \ifx\BKM at DO@page\@empty
-                \PackageError{bookmark}{%
-                  Missing action\BKM at SourceLocation
-                }\@ehc
-                \edef\BKM at action{%
-                  /Action/GoTo%
-                  /Page 1%
-                  /View[/Fit]%
-                }%
-              \else
-                \ifx\BKM at DO@view\@empty
-                  \def\BKM at DO@view{Fit}%
-                \fi
-                \edef\BKM at action{%
-                  /Action/GoTo%
-                  /Page \BKM at DO@page
-                  /View[/\BKM at DO@view]%
-                }%
-              \fi
-            \else
-              \BKM at UnescapeHex\BKM at DO@uri
-              \BKM at EscapeString\BKM at DO@uri
-              \edef\BKM at action{%
-                /Action<<%
-                  /Subtype/URI%
-                  /URI(\BKM at DO@uri)%
-                >>%
-              }%
-            \fi
-          \else
-            \BKM at UnescapeHex\BKM at DO@rawaction
-            \edef\BKM at action{%
-              /Action<<%
-                \BKM at DO@rawaction
-              >>%
-            }%
-          \fi
-        \else
-          \BKM at EscapeName\BKM at DO@named
-          \edef\BKM at action{%
-            /Action<<%
-              /Subtype/Named%
-              /N/\BKM at DO@named
-            >>%
-          }%
-        \fi
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{%
-          /Action/GoTo%
-          /Dest(\BKM at DO@dest)cvn%
-        }%
-      \fi
-    \else
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@page\@empty
-          \def\BKM at DO@page{1}%
-        \fi
-        \ifx\BKM at DO@view\@empty
-          \def\BKM at DO@view{Fit}%
-        \fi
-        \edef\BKM at action{%
-          /Page \BKM at DO@page
-          /View[/\BKM at DO@view]%
-        }%
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{%
-          /Dest(\BKM at DO@dest)cvn%
-        }%
-      \fi
-      \BKM at UnescapeHex\BKM at DO@gotor
-      \BKM at EscapeString\BKM at DO@gotor
-      \edef\BKM at action{%
-        /Action/GoToR%
-        /File(\BKM at DO@gotor)%
-        \BKM at action
-      }%
-    \fi
-    \BKM at write{[}%
-    \BKM at write{/Title(\BKM at DO@title)}%
-    \ifnum\BKM at x@childs>\z@
-      \BKM at write{/Count \ifBKM at DO@open\else-\fi\BKM at x@childs}%
-    \fi
-    \ifx\BKM at attr\@empty
-    \else
-      \BKM at write{\BKM at attr}%
-    \fi
-    \BKM at write{\BKM at action}%
-    \BKM at write{/OUT pdfmark}%
-  \endgroup
-}
-\RequirePackage{auxhook}
-\AddLineBeginMainAux{%
-  \string\providecommand\string\BKM at entry[2]{}%
-}
-\newcount\BKM at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{000}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \BKM at InitSourceLocation
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \ifx\BKM at srcfile\@empty
-      \else
-        \BKM at EscapeHex\BKM at srcfile
-      \fi
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}0%
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}0%
-            }%
-            \ifnum\BKM at prev>\z@
-              \BKM at CalcExpr\BKM at CalcResult\BKM at x@childs+1%
-              \expandafter\xdef\csname BKM@\BKM at prev\endcsname{%
-                {\BKM at x@parent}{\BKM at x@level}{\BKM at CalcResult}%
-              }%
-            \fi
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \csname BKM at HypDestOptHook\endcsname
-      \BKM at EscapeHex\BKM at dest
-      \BKM at EscapeHex\BKM at uri
-      \BKM at EscapeHex\BKM at gotor
-      \BKM at EscapeHex\BKM at rawaction
-      \BKM at EscapeHex\BKM at title
-      \immediate\write\@mainaux{%
-        \string\BKM at entry{%
-          id=\number\BKM at id
-          \ifBKM at open
-            \ifnum\BKM at level<\BKM at openlevel
-              ,open%
-            \fi
-          \fi
-          \BKM at auxentry{dest}%
-          \BKM at auxentry{named}%
-          \BKM at auxentry{uri}%
-          \BKM at auxentry{gotor}%
-          \BKM at auxentry{page}%
-          \BKM at auxentry{view}%
-          \BKM at auxentry{rawaction}%
-          \BKM at auxentry{color}%
-          \ifnum\BKM at FLAGS>\z@
-            ,flags=\BKM at FLAGS
-          \fi
-          \BKM at auxentry{srcline}%
-          \BKM at auxentry{srcfile}%
-        }{\BKM at title}%
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2#3{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-  \def\BKM at x@childs{#3}%
-}
-\def\BKM at auxentry#1{%
-  \expandafter\ifx\csname BKM@#1\endcsname\@empty
-  \else
-    ,#1={\csname BKM@#1\endcsname}%
-  \fi
-}
-\def\BKM at InitSourceLocation{%
-  \edef\BKM at srcline{\the\inputlineno}%
-  \BKM at LuaTeX@InitFile
-  \ifx\BKM at srcfile\@empty
-    \ltx at IfUndefined{currfilepath}{}{%
-      \edef\BKM at srcfile{\currfilepath}%
-    }%
-  \fi
-}
-\ifluatex
-  \ifnum\luatexversion>36 %
-    \def\BKM at LuaTeX@InitFile{%
-      \begingroup
-        \ltx at LocToksA={}%
-      \edef\x{\endgroup
-        \def\noexpand\BKM at srcfile{%
-          \the\expandafter\ltx at LocToksA
-          \directlua{%
-             if status and status.filename then %
-               tex.settoks('ltx at LocToksA', status.filename)%
-             end%
-          }%
-        }%
-      }\x
-    }%
-  \else
-    \let\BKM at LuaTeX@InitFile\relax
-  \fi
-\else
-  \let\BKM at LuaTeX@InitFile\relax
-\fi
-\SetupKeyvalOptions{family=BKM at DO,prefix=BKM at 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 at entry\BKM at DO@entry
-}
-\ifBKM at atend
-  \AfterLastShipout{%
-    \BKM at EndHook
-  }%
-\fi
-\endinput
-%%
-%% End of file `bkm-dvips-2019-12-03.def'.

Modified: trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvips.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvips.def	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/texmf-dist/tex/latex/bookmark/bkm-dvips.def	2023-12-10 20:57:34 UTC (rev 69084)
@@ -9,7 +9,7 @@
 %% This is a generated file.
 %% 
 %% Project: bookmark
-%% Version: 2023-12-05 v1.30
+%% Version: 2023-12-10 v1.31
 %% 
 %% Copyright (C)
 %%    2007-2011 Heiko Oberdiek
@@ -31,14 +31,17 @@
 %% 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.
+%% This file is part of the "bookmark bundle" (The Work in LPPL)
+%%  and all files in that bundle must be distributed together.
 %% 
+%%  The released version of this bundle is available from CTAN.
+%% 
+%%  This work consists of the main source files bookmark.dtx
+%%  and bookmark.ins and the derived files
+%%     bookmark.sty, bookmark.pdf,
+%%     bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%%     bookmark-example.tex.
+%% 
 \def\BKM at SourceLocation{%
   \ifx\BKM at DO@srcfile\@empty
     \ifx\BKM at DO@srcline\@empty
@@ -58,7 +61,7 @@
 }
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{bkm-dvips.def}%
-  [2023-12-05 v1.30 bookmark driver for dvips (HO)]%
+  [2023-12-10 v1.31 bookmark driver for dvips (HO)]%
 \def\BKM at PSHeaderFile#1{%
   \special{PSfile=#1}%
 }
@@ -302,7 +305,7 @@
   \edef\BKM at srcline{\the\inputlineno}%
   \BKM at LuaTeX@InitFile
   \ifx\BKM at srcfile\@empty
-    \ltx at IfUndefined{currfilepath}{}{%
+    \@ifundefined{currfilepath}{}{%
       \edef\BKM at srcfile{\currfilepath}%
     }%
   \fi
@@ -310,13 +313,13 @@
 \ifluatex
     \def\BKM at LuaTeX@InitFile{%
       \begingroup
-        \ltx at LocToksA={}%
+        \toks@={}%
       \edef\x{\endgroup
         \def\noexpand\BKM at srcfile{%
-          \the\expandafter\ltx at LocToksA
+          \the\expandafter\toks@
           \directlua{%
              if status and status.filename then %
-               tex.settoks('ltx at LocToksA', status.filename)%
+               tex.settoks('toks@', status.filename)%
              end%
           }%
         }%

Deleted: trunk/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex-2019-12-03.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex-2019-12-03.def	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex-2019-12-03.def	2023-12-10 20:57:34 UTC (rev 69084)
@@ -1,312 +0,0 @@
-%%
-%% This is file `bkm-pdftex-2019-12-03.def',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bookmark-frozen.dtx  (with options: `pdftexfrozen')
-%% 
-%% This is a generated file.
-%% 
-%% Project: bookmark
-%% Version: 2023-12-05 v1.30
-%% 
-%% Copyright (C)
-%%    2007-2011 Heiko Oberdiek
-%%    2016-2023 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-pdftex.def}%
-  [2019/12/03 v1.28 bookmark driver for pdfTeX (HO)]%
-\def\BKM at DO@entry#1#2{%
-  \begingroup
-    \kvsetkeys{BKM at DO}{#1}%
-    \def\BKM at DO@title{#2}%
-    \ifx\BKM at DO@srcfile\@empty
-    \else
-      \BKM at UnescapeHex\BKM at DO@srcfile
-    \fi
-    \BKM at UnescapeHex\BKM at DO@title
-    \expandafter\expandafter\expandafter\BKM at getx
-        \csname BKM@\BKM at DO@id\endcsname\@empty\@empty
-    \let\BKM at attr\@empty
-    \ifx\BKM at DO@flags\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/F \BKM at DO@flags}%
-    \fi
-    \ifx\BKM at DO@color\@empty
-    \else
-      \edef\BKM at attr{\BKM at attr/C[\BKM at DO@color]}%
-    \fi
-    \ifx\BKM at attr\@empty
-    \else
-      \edef\BKM at attr{attr{\BKM at attr}}%
-    \fi
-    \let\BKM at action\@empty
-    \ifx\BKM at DO@gotor\@empty
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@named\@empty
-          \ifx\BKM at DO@rawaction\@empty
-            \ifx\BKM at DO@uri\@empty
-              \ifx\BKM at DO@page\@empty
-                \PackageError{bookmark}{%
-                  Missing action\BKM at SourceLocation
-                }\@ehc
-                \edef\BKM at action{goto page1{/Fit}}%
-              \else
-                \ifx\BKM at DO@view\@empty
-                  \def\BKM at DO@view{Fit}%
-                \fi
-                \edef\BKM at action{goto page\BKM at DO@page{/\BKM at DO@view}}%
-              \fi
-            \else
-              \BKM at UnescapeHex\BKM at DO@uri
-              \BKM at EscapeString\BKM at DO@uri
-              \edef\BKM at action{user{<</S/URI/URI(\BKM at DO@uri)>>}}%
-            \fi
-          \else
-            \BKM at UnescapeHex\BKM at DO@rawaction
-            \edef\BKM at action{%
-              user{%
-                <<%
-                  \BKM at DO@rawaction
-                >>%
-              }%
-            }%
-          \fi
-        \else
-          \BKM at EscapeName\BKM at DO@named
-          \edef\BKM at action{%
-            user{<</S/Named/N/\BKM at DO@named>>}%
-          }%
-        \fi
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at DefGotoNameAction\BKM at action\BKM at DO@dest
-      \fi
-    \else
-      \ifx\BKM at DO@dest\@empty
-        \ifx\BKM at DO@page\@empty
-          \def\BKM at DO@page{0}%
-        \else
-          \BKM at CalcExpr\BKM at DO@page\BKM at DO@page-1%
-        \fi
-        \ifx\BKM at DO@view\@empty
-          \def\BKM at DO@view{Fit}%
-        \fi
-        \edef\BKM at action{/D[\BKM at DO@page/\BKM at DO@view]}%
-      \else
-        \BKM at UnescapeHex\BKM at DO@dest
-        \BKM at EscapeString\BKM at DO@dest
-        \edef\BKM at action{/D(\BKM at DO@dest)}%
-      \fi
-      \BKM at UnescapeHex\BKM at DO@gotor
-      \BKM at EscapeString\BKM at DO@gotor
-      \edef\BKM at action{%
-        user{%
-          <<%
-            /S/GoToR%
-            /F(\BKM at DO@gotor)%
-            \BKM at action
-          >>%
-        }%
-      }%
-    \fi
-    \pdfoutline\BKM at attr\BKM at action
-                count\ifBKM at DO@open\else-\fi\BKM at x@childs
-                {\BKM at DO@title}%
-  \endgroup
-}
-\def\BKM at DefGotoNameAction#1#2{%
-  \BKM at EscapeString\BKM at DO@dest
-  \edef#1{goto name{#2}}%
-}
-\def\BKM at SourceLocation{%
-  \ifx\BKM at DO@srcfile\@empty
-    \ifx\BKM at DO@srcline\@empty
-    \else
-      .\MessageBreak
-      Source: line \BKM at DO@srcline
-    \fi
-  \else
-    \ifx\BKM at DO@srcline\@empty
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile'%
-    \else
-      .\MessageBreak
-      Source: file `\BKM at DO@srcfile', line \BKM at DO@srcline
-    \fi
-  \fi
-}
-\RequirePackage{auxhook}
-\AddLineBeginMainAux{%
-  \string\providecommand\string\BKM at entry[2]{}%
-}
-\newcount\BKM at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{000}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \BKM at InitSourceLocation
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \ifx\BKM at srcfile\@empty
-      \else
-        \BKM at EscapeHex\BKM at srcfile
-      \fi
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}0%
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}0%
-            }%
-            \ifnum\BKM at prev>\z@
-              \BKM at CalcExpr\BKM at CalcResult\BKM at x@childs+1%
-              \expandafter\xdef\csname BKM@\BKM at prev\endcsname{%
-                {\BKM at x@parent}{\BKM at x@level}{\BKM at CalcResult}%
-              }%
-            \fi
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \csname BKM at HypDestOptHook\endcsname
-      \BKM at EscapeHex\BKM at dest
-      \BKM at EscapeHex\BKM at uri
-      \BKM at EscapeHex\BKM at gotor
-      \BKM at EscapeHex\BKM at rawaction
-      \BKM at EscapeHex\BKM at title
-      \immediate\write\@mainaux{%
-        \string\BKM at entry{%
-          id=\number\BKM at id
-          \ifBKM at open
-            \ifnum\BKM at level<\BKM at openlevel
-              ,open%
-            \fi
-          \fi
-          \BKM at auxentry{dest}%
-          \BKM at auxentry{named}%
-          \BKM at auxentry{uri}%
-          \BKM at auxentry{gotor}%
-          \BKM at auxentry{page}%
-          \BKM at auxentry{view}%
-          \BKM at auxentry{rawaction}%
-          \BKM at auxentry{color}%
-          \ifnum\BKM at FLAGS>\z@
-            ,flags=\BKM at FLAGS
-          \fi
-          \BKM at auxentry{srcline}%
-          \BKM at auxentry{srcfile}%
-        }{\BKM at title}%
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2#3{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-  \def\BKM at x@childs{#3}%
-}
-\def\BKM at auxentry#1{%
-  \expandafter\ifx\csname BKM@#1\endcsname\@empty
-  \else
-    ,#1={\csname BKM@#1\endcsname}%
-  \fi
-}
-\def\BKM at InitSourceLocation{%
-  \edef\BKM at srcline{\the\inputlineno}%
-  \BKM at LuaTeX@InitFile
-  \ifx\BKM at srcfile\@empty
-    \ltx at IfUndefined{currfilepath}{}{%
-      \edef\BKM at srcfile{\currfilepath}%
-    }%
-  \fi
-}
-\ifluatex
-  \ifnum\luatexversion>36 %
-    \def\BKM at LuaTeX@InitFile{%
-      \begingroup
-        \ltx at LocToksA={}%
-      \edef\x{\endgroup
-        \def\noexpand\BKM at srcfile{%
-          \the\expandafter\ltx at LocToksA
-          \directlua{%
-             if status and status.filename then %
-               tex.settoks('ltx at LocToksA', status.filename)%
-             end%
-          }%
-        }%
-      }\x
-    }%
-  \else
-    \let\BKM at LuaTeX@InitFile\relax
-  \fi
-\else
-  \let\BKM at LuaTeX@InitFile\relax
-\fi
-\SetupKeyvalOptions{family=BKM at DO,prefix=BKM at 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 at entry\BKM at DO@entry
-}
-\ifBKM at atend
-  \AfterLastShipout{%
-    \BKM at EndHook
-  }%
-\fi
-\endinput
-%%
-%% End of file `bkm-pdftex-2019-12-03.def'.

Modified: trunk/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex.def	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/texmf-dist/tex/latex/bookmark/bkm-pdftex.def	2023-12-10 20:57:34 UTC (rev 69084)
@@ -9,7 +9,7 @@
 %% This is a generated file.
 %% 
 %% Project: bookmark
-%% Version: 2023-12-05 v1.30
+%% Version: 2023-12-10 v1.31
 %% 
 %% Copyright (C)
 %%    2007-2011 Heiko Oberdiek
@@ -31,17 +31,20 @@
 %% 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.
+%% This file is part of the "bookmark bundle" (The Work in LPPL)
+%%  and all files in that bundle must be distributed together.
 %% 
+%%  The released version of this bundle is available from CTAN.
+%% 
+%%  This work consists of the main source files bookmark.dtx
+%%  and bookmark.ins and the derived files
+%%     bookmark.sty, bookmark.pdf,
+%%     bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%%     bookmark-example.tex.
+%% 
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{bkm-pdftex.def}%
-  [2023-12-05 v1.30 bookmark driver for pdfTeX and luaTeX (HO)]%
+  [2023-12-10 v1.31 bookmark driver for pdfTeX and luaTeX (HO)]%
 \def\BKM at DO@entry#1#2{%
   \begingroup
     \kvsetkeys{BKM at DO}{#1}%
@@ -269,7 +272,7 @@
   \edef\BKM at srcline{\the\inputlineno}%
   \BKM at LuaTeX@InitFile
   \ifx\BKM at srcfile\@empty
-    \ltx at IfUndefined{currfilepath}{}{%
+    \@ifundefined{currfilepath}{}{%
       \edef\BKM at srcfile{\currfilepath}%
     }%
   \fi
@@ -277,13 +280,13 @@
 \ifluatex
     \def\BKM at LuaTeX@InitFile{%
       \begingroup
-        \ltx at LocToksA={}%
+        \toks@={}%
       \edef\x{\endgroup
         \def\noexpand\BKM at srcfile{%
-          \the\expandafter\ltx at LocToksA
+          \the\expandafter\toks@
           \directlua{%
              if status and status.filename then %
-               tex.settoks('ltx at LocToksA', status.filename)%
+               tex.settoks('toks@', status.filename)%
              end%
           }%
         }%

Deleted: trunk/Master/texmf-dist/tex/latex/bookmark/bkm-vtex-2019-12-03.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bookmark/bkm-vtex-2019-12-03.def	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/texmf-dist/tex/latex/bookmark/bkm-vtex-2019-12-03.def	2023-12-10 20:57:34 UTC (rev 69084)
@@ -1,299 +0,0 @@
-%%
-%% 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: 2023-12-05 v1.30
-%% 
-%% Copyright (C)
-%%    2007-2011 Heiko Oberdiek
-%%    2016-2023 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 at id
-\BKM at id=\z@
-\@namedef{BKM at 0}{00}
-\newif\ifBKM at sw
-\newcommand*{\bookmark}[2][]{%
-  \if at filesw
-    \begingroup
-      \def\bookmark at text{#2}%
-      \BKM at setup{#1}%
-      \edef\BKM at prev{\the\BKM at id}%
-      \global\advance\BKM at id\@ne
-      \BKM at swtrue
-      \@whilesw\ifBKM at sw\fi{%
-        \ifnum\ifBKM at startatroot\z@\else\BKM at prev\fi=\z@
-          \BKM at startatrootfalse
-          \def\BKM at parent{0}%
-          \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-            0{\BKM at level}%
-          }%
-          \BKM at swfalse
-        \else
-          \expandafter\expandafter\expandafter\BKM at getx
-              \csname BKM@\BKM at prev\endcsname
-          \ifnum\BKM at level>\BKM at x@level\relax
-            \let\BKM at parent\BKM at prev
-            \expandafter\xdef\csname BKM@\the\BKM at id\endcsname{%
-              {\BKM at prev}{\BKM at level}%
-            }%
-            \BKM at swfalse
-          \else
-            \let\BKM at prev\BKM at x@parent
-          \fi
-        \fi
-      }%
-      \pdfstringdef\BKM at title{\bookmark at text}%
-      \BKM at vtex@title
-      \edef\BKM at FLAGS{\BKM at PrintStyle}%
-      \let\BKM at action\@empty
-      \ifx\BKM at gotor\@empty
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at named\@empty
-            \ifx\BKM at rawaction\@empty
-              \ifx\BKM at uri\@empty
-                \ifx\BKM at page\@empty
-                  \PackageError{bookmark}{Missing action}\@ehc
-                  \def\BKM at action{!1}%
-                \else
-                  \edef\BKM at action{!\BKM at page}%
-                \fi
-              \else
-                \BKM at EscapeString\BKM at uri
-                \edef\BKM at action{%
-                  <u=%
-                    /S/URI%
-                    /URI(\BKM at uri)%
-                  >%
-                }%
-              \fi
-            \else
-              \edef\BKM at action{<u=\BKM at rawaction>}%
-            \fi
-          \else
-            \BKM at EscapeName\BKM at named
-            \edef\BKM at action{%
-              <u=%
-                /S/Named%
-                /N/\BKM at named
-              >%
-            }%
-          \fi
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{\BKM at dest}%
-        \fi
-      \else
-        \ifx\BKM at dest\@empty
-          \ifx\BKM at page\@empty
-            \def\BKM at page{1}%
-          \fi
-          \ifx\BKM at view\@empty
-            \def\BKM at view{Fit}%
-          \fi
-          \edef\BKM at action{/D[\BKM at page/\BKM at view]}%
-        \else
-          \BKM at EscapeString\BKM at dest
-          \edef\BKM at action{/D(\BKM at dest)}%
-        \fi
-        \BKM at EscapeString\BKM at gotor
-        \edef\BKM at action{%
-          <u=%
-            /S/GoToR%
-            /F(\BKM at gotor)%
-            \BKM at action
-          >>%
-        }%
-      \fi
-      \ifx\BKM at color\@empty
-        \let\BKM at RGBcolor\@empty
-      \else
-        \expandafter\BKM at toRGB\BKM at color\@nil
-      \fi
-      \special{%
-        !outline \BKM at action;%
-        p=\BKM at parent,%
-        i=\number\BKM at id,%
-        s=%
-          \ifBKM at open
-            \ifnum\BKM at level<\BKM at openlevel
-              o%
-            \else
-              c%
-            \fi
-          \else
-            c%
-          \fi,%
-        \ifx\BKM at RGBcolor\@empty
-        \else
-          c=\BKM at RGBcolor,%
-        \fi
-        \ifnum\BKM at FLAGS>\z@
-          f=\BKM at FLAGS,%
-        \fi
-        t=\BKM at title
-      }%
-    \endgroup
-  \fi
-}
-\def\BKM at getx#1#2{%
-  \def\BKM at x@parent{#1}%
-  \def\BKM at x@level{#2}%
-}
-\def\BKM at toRGB#1 #2 #3\@nil{%
-  \let\BKM at RGBcolor\@empty
-  \BKM at toRGBComponent{#1}%
-  \BKM at toRGBComponent{#2}%
-  \BKM at toRGBComponent{#3}%
-}
-\def\BKM at 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 at ii=\dimen@
-      \divide\dimen at ii by 16\relax
-      \edef\BKM at RGBcolor{%
-        \BKM at RGBcolor
-        \BKM at toHexDigit\dimen at ii
-      }%
-      \dimen at ii=16\dimen at ii
-      \advance\dimen at -\dimen at ii
-      \edef\BKM at RGBcolor{%
-        \BKM at RGBcolor
-        \BKM at toHexDigit\dimen@
-      }%
-    \else
-      \edef\BKM at RGBcolor{\BKM at RGBcolor FF}%
-    \fi
-  \else
-    \edef\BKM at RGBcolor{\BKM at RGBcolor00}%
-  \fi
-}
-\def\BKM at 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 at vtex@title{%
-    |@onelevel at sanitize|BKM at title
-    |edef|BKM at title{|expandafter|BKM at vtex@leftparen|BKM at title\(|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@rightparen|BKM at title\)|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@zero|BKM at title\0|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@one|BKM at title\1|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@two|BKM at title\2|@nil}%
-    |edef|BKM at title{|expandafter|BKM at vtex@three|BKM at title\3|@nil}%
-  }%
-  |gdef|BKM at vtex@leftparen#1\(#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      (%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@leftparen#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@rightparen#1\)#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      )%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@rightparen#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@zero#1\0#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char0%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@zero#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@one#1\1#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char1%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@one#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@two#1\2#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char2%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@two#2|@nil
-      }%
-    |fi
-  }%
-  |gdef|BKM at vtex@three#1\3#2|@nil{%
-    #1%
-    |ifx||#2||%
-    |else
-      |noexpand|hv at pdf@char3%
-      |ltx at ReturnAfterFi{%
-        |BKM at vtex@three#2|@nil
-      }%
-    |fi
-  }%
-|endgroup
-\ifBKM at atend
-  \RequirePackage{atenddvi}%
-  \AtEndDvi{\BKM at EndHook}%
-\fi
-\endinput
-%%
-%% End of file `bkm-vtex-2019-12-03.def'.

Modified: trunk/Master/texmf-dist/tex/latex/bookmark/bkm-vtex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bookmark/bkm-vtex.def	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/texmf-dist/tex/latex/bookmark/bkm-vtex.def	2023-12-10 20:57:34 UTC (rev 69084)
@@ -9,7 +9,7 @@
 %% This is a generated file.
 %% 
 %% Project: bookmark
-%% Version: 2023-12-05 v1.30
+%% Version: 2023-12-10 v1.31
 %% 
 %% Copyright (C)
 %%    2007-2011 Heiko Oberdiek
@@ -31,17 +31,20 @@
 %% 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.
+%% This file is part of the "bookmark bundle" (The Work in LPPL)
+%%  and all files in that bundle must be distributed together.
 %% 
+%%  The released version of this bundle is available from CTAN.
+%% 
+%%  This work consists of the main source files bookmark.dtx
+%%  and bookmark.ins and the derived files
+%%     bookmark.sty, bookmark.pdf,
+%%     bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%%     bookmark-example.tex.
+%% 
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{bkm-vtex.def}%
-  [2023-12-05 v1.30 bookmark driver for VTeX (HO)]%
+  [2023-12-10 v1.31 bookmark driver for VTeX (HO)]%
 \ifvtexpdf
 \else
   \PackageWarningNoLine{bookmark}{%
@@ -234,7 +237,7 @@
     |ifx||#2||%
     |else
       (%
-      |ltx at ReturnAfterFi{%
+      |BKM at ReturnAfterFi{%
         |BKM at vtex@leftparen#2|@nil
       }%
     |fi
@@ -244,7 +247,7 @@
     |ifx||#2||%
     |else
       )%
-      |ltx at ReturnAfterFi{%
+      |BKM at ReturnAfterFi{%
         |BKM at vtex@rightparen#2|@nil
       }%
     |fi
@@ -254,7 +257,7 @@
     |ifx||#2||%
     |else
       |noexpand|hv at pdf@char0%
-      |ltx at ReturnAfterFi{%
+      |BKM at ReturnAfterFi{%
         |BKM at vtex@zero#2|@nil
       }%
     |fi
@@ -264,7 +267,7 @@
     |ifx||#2||%
     |else
       |noexpand|hv at pdf@char1%
-      |ltx at ReturnAfterFi{%
+      |BKM at ReturnAfterFi{%
         |BKM at vtex@one#2|@nil
       }%
     |fi
@@ -274,7 +277,7 @@
     |ifx||#2||%
     |else
       |noexpand|hv at pdf@char2%
-      |ltx at ReturnAfterFi{%
+      |BKM at ReturnAfterFi{%
         |BKM at vtex@two#2|@nil
       }%
     |fi
@@ -284,7 +287,7 @@
     |ifx||#2||%
     |else
       |noexpand|hv at pdf@char3%
-      |ltx at ReturnAfterFi{%
+      |BKM at ReturnAfterFi{%
         |BKM at vtex@three#2|@nil
       }%
     |fi

Modified: trunk/Master/texmf-dist/tex/latex/bookmark/bookmark.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bookmark/bookmark.sty	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/texmf-dist/tex/latex/bookmark/bookmark.sty	2023-12-10 20:57:34 UTC (rev 69084)
@@ -9,7 +9,7 @@
 %% This is a generated file.
 %% 
 %% Project: bookmark
-%% Version: 2023-12-05 v1.30
+%% Version: 2023-12-10 v1.31
 %% 
 %% Copyright (C)
 %%    2007-2011 Heiko Oberdiek
@@ -31,17 +31,20 @@
 %% 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.
+%% This file is part of the "bookmark bundle" (The Work in LPPL)
+%%  and all files in that bundle must be distributed together.
 %% 
+%%  The released version of this bundle is available from CTAN.
+%% 
+%%  This work consists of the main source files bookmark.dtx
+%%  and bookmark.ins and the derived files
+%%     bookmark.sty, bookmark.pdf,
+%%     bkm-dvipdfm.def, bkm-dvips.def, bkm-pdftex.def, bkm-vtex.def,
+%%     bookmark-example.tex.
+%% 
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{bookmark}%
-  [2023-12-05 v1.30 PDF bookmarks (HO)]%
+  [2023-12-10 v1.31 PDF bookmarks (HO)]%
 \begingroup\expandafter\expandafter\expandafter\endgroup
 \expandafter\ifx\csname numexpr\endcsname\relax
   \def\BKM at CalcExpr#1#2#3#4{%
@@ -81,6 +84,12 @@
 \def\BKM at UnescapeHex#1{%
   \EdefUnescapeHex#1#1%
 }%
+\ExplSyntaxOn
+\let\BKM at LocalAppendToMacro\tl_put_right:Nn
+\let\BKM at GlobalAppendToMacro\tl_gput_right:Nn
+\ExplSyntaxOff
+\def\BKM at space{ }
+\long\def\BKM at ReturnAfterFi#1\fi{\fi#1}
 \RequirePackage{hyperref}[2010/06/18]
 \SetupKeyvalOptions{family=BKM,prefix=BKM@}
 \DeclareLocalOptions{%
@@ -111,7 +120,7 @@
 \newcommand*{\bookmarksetup}{\kvsetkeys{BKM}}
 \def\BKM at setup#1{%
   \bookmarksetup{#1}%
-  \ifx\BKM at HookNext\ltx at empty
+  \ifx\BKM at HookNext\@empty
   \else
     \expandafter\bookmarksetup\expandafter{\BKM at HookNext}%
     \BKM at HookNextClear
@@ -123,10 +132,10 @@
   \fi
 }
 \newcommand*{\bookmarksetupnext}[1]{%
-  \ltx at GlobalAppendToMacro\BKM at HookNext{,#1}%
+  \BKM at GlobalAppendToMacro\BKM at HookNext{,#1}%
 }
 \def\BKM at HookNextClear{%
-  \global\let\BKM at HookNext\ltx at empty
+  \global\let\BKM at HookNext\@empty
 }
 \BKM at HookNextClear
 \DeclareBoolOption{draft}
@@ -139,11 +148,11 @@
 }
 \DeclareBoolOption[\ifHy at bookmarksopen true\else false\fi]{open}
 \def\bookmark at open{%
-  \ifBKM at open\ltx at one\else\ltx at zero\fi
+  \ifBKM at open\@ne\else\z@\fi
 }
 \DeclareStringOption[\maxdimen]{openlevel}
 \edef\BKM at openlevel{\number\@bookmarksopenlevel}
-\ltx at IfUndefined{Hy at bookmarksdepth}{%
+\@ifundefined{Hy at bookmarksdepth}{%
   \def\BKM at depth{\c at tocdepth}%
 }{%
   \let\BKM at depth\Hy at bookmarksdepth
@@ -153,7 +162,7 @@
   \ifx\BKM at param\@empty
     \def\BKM at depth{\c at tocdepth}%
   \else
-    \ltx at IfUndefined{toclevel@\BKM at param}{%
+    \@ifundefined{toclevel@\BKM at param}{%
       \@onelevel at sanitize\BKM at param
       \edef\BKM at temp{\expandafter\@car\BKM at param\@nil}%
       \ifcase 0\expandafter\ifx\BKM at temp-1\fi
@@ -193,7 +202,7 @@
   \ifx\BKM at param\BKM at MacroCurrentLevel
     \let\BKM at level\BKM at param
   \else
-    \ltx at IfUndefined{toclevel@\BKM at param}{%
+    \@ifundefined{toclevel@\BKM at param}{%
       \@onelevel at sanitize\BKM at param
       \edef\BKM at temp{\expandafter\@car\BKM at param\@nil}%
       \ifcase 0\expandafter\ifx\BKM at temp-1\fi
@@ -247,7 +256,7 @@
   \let\ifBKM at numbered\iffalse
 }
 \def\bookmark at numbered{%
-  \ifBKM at numbered\ltx at one\else\ltx at zero\fi
+  \ifBKM at numbered\@ne\else\z@\fi
 }
 \def\BKM at PatchHyperrefOption#1{%
   \expandafter\BKM@@PatchHyperrefOption\csname KV at Hyp@#1\endcsname%
@@ -280,10 +289,10 @@
   \fi
 }%
 \def\bookmark at italic{%
-  \ifnum\bitsetGet{BKM at FontStyle}{0}=1 \ltx at one\else\ltx at zero\fi
+  \ifnum\bitsetGet{BKM at FontStyle}{0}=1 \@ne\else\z@\fi
 }
 \def\bookmark at bold{%
-  \ifnum\bitsetGet{BKM at FontStyle}{1}=1 \ltx at one\else\ltx at zero\fi
+  \ifnum\bitsetGet{BKM at FontStyle}{1}=1 \@ne\else\z@\fi
 }
 \def\BKM at PrintStyle{%
   \bitsetGetDec{BKM at FontStyle}%
@@ -548,14 +557,14 @@
 \DeclareStringOption{srcfile}
 \def\BKM at hook{}
 \define at key{BKM}{addtohook}{%
-  \ltx at LocalAppendToMacro\BKM at hook{#1}%
+  \BKM at LocalAppendToMacro\BKM at hook{#1}%
 }
 \newcommand*{\bookmarkget}[1]{%
   \romannumeral0%
-  \ltx at ifundefined{bookmark@#1}{%
-    \ltx at space
+  \@ifundefined{bookmark@#1}{%
+    \BKM at space
   }{%
-    \expandafter\expandafter\expandafter\ltx at space
+    \expandafter\expandafter\expandafter\BKM at space
     \csname bookmark@#1\endcsname
   }%
 }
@@ -602,19 +611,19 @@
 \BKM at DisableOptions
 \ifBKM at draft
   \PackageWarningNoLine{bookmark}{Draft mode on}%
-  \let\bookmarksetup\ltx at gobble
-  \let\BookmarkAtEnd\ltx at gobble
-  \let\bookmarkdefinestyle\ltx at gobbletwo
-  \let\bookmarkget\ltx at gobble
-  \let\pdfbookmark\ltx at undefined
+  \let\bookmarksetup\@gobble
+  \let\BookmarkAtEnd\@gobble
+  \let\bookmarkdefinestyle\@gobbletwo
+  \let\bookmarkget\@gobble
+  \let\pdfbookmark\@undefined
   \newcommand*{\pdfbookmark}[3][]{}%
-  \let\currentpdfbookmark\ltx at gobbletwo
-  \let\subpdfbookmark\ltx at gobbletwo
-  \let\belowpdfbookmark\ltx at gobbletwo
+  \let\currentpdfbookmark\@gobbletwo
+  \let\subpdfbookmark\@gobbletwo
+  \let\belowpdfbookmark\@gobbletwo
   \newcommand*{\bookmark}[2][]{}%
   \renewcommand*{\Hy at writebookmark}[5]{}%
   \let\ReadBookmarks\relax
-  \let\BKM at DefGotoNameAction\ltx at gobbletwo % package `hypdestopt'
+  \let\BKM at DefGotoNameAction\@gobbletwo % package `hypdestopt'
   \expandafter\endinput
 \fi
 \def\BKM at temp{dvipdfmx}%
@@ -670,8 +679,6 @@
     \fi
   \fi
 \fi
-\providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion}
-\IfFormatAtLeastTF{2020/10/01}{}{\edef\BKM at driver{\BKM at driver-2019-12-03}}
 \InputIfFileExists{bkm-\BKM at driver.def}{}{%
   \PackageError{bookmark}{%
     Unsupported driver `\BKM at driver'.\MessageBreak
@@ -679,7 +686,7 @@
   }\@ehc
   \endinput
 }
-\let\pdfbookmark\ltx at undefined
+\let\pdfbookmark\@undefined
 \newcommand*{\pdfbookmark}[3][0]{%
   \bookmark[level=#1,dest={#3.#1}]{#2}%
   \hyper at anchorstart{#3.#1}\hyper at anchorend

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2023-12-10 00:47:22 UTC (rev 69083)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2023-12-10 20:57:34 UTC (rev 69084)
@@ -3209,7 +3209,6 @@
  'bguq'         => 'latex',  # requires interaction
  'bhcexam'      => 'latex',  # requires interaction
  'bnumexpr'	=> 'etex',
- 'bookmark'	=> "latex '\\let\\install=y\\input '",
  'bosisio'      => 'latex -translate-file=empty.tcx',   # ^^, no 8-bit
  'bullcntr'     => 'latex',  # requires interaction
  'canoniclayout'=> 'tex',
@@ -3934,7 +3933,6 @@
  'beebe'	=> '^([^bt].*|bibmods|bibunits)\.sty$|(gut.*|komoedie|litprog|sgml.*)\.bib$|\.ltx$',	# omit some bibs and support files
  'bibleref'	=> $standardclean . '|sample.tex|sample-.*', # derived uploaded
  'bbm-macros'   => $standardclean . '|^bbm$',           # symlink
- 'bookmark'	=> $standardclean . '|\.(drv|ins)$',	# strays
  'bundledoc'    => $standardclean . '|\.pdf$',          # regen for a4
  'catoptions'   => $standardclean . '|Thumbs.db',       # bogus file
  'chklref'	=> $standardclean . '|\.tds\.zip',



More information about the tex-live-commits mailing list.