texlive[61077] Master: hypdoc (16nov21)

commits+karl at tug.org commits+karl at tug.org
Tue Nov 16 23:11:11 CET 2021


Revision: 61077
          http://tug.org/svn/texlive?view=revision&revision=61077
Author:   karl
Date:     2021-11-16 23:11:10 +0100 (Tue, 16 Nov 2021)
Log Message:
-----------
hypdoc (16nov21)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/hypdoc/
    trunk/Master/texmf-dist/doc/latex/hypdoc/README.md
    trunk/Master/texmf-dist/doc/latex/hypdoc/hypdoc.pdf
    trunk/Master/texmf-dist/source/latex/hypdoc/
    trunk/Master/texmf-dist/source/latex/hypdoc/hypdoc.dtx
    trunk/Master/texmf-dist/tex/latex/hypdoc/
    trunk/Master/texmf-dist/tex/latex/hypdoc/hypdoc.sty
    trunk/Master/tlpkg/tlpsrc/hypdoc.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/hypdoc/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hypdoc/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/hypdoc/README.md	2021-11-16 22:11:10 UTC (rev 61077)
@@ -0,0 +1,16 @@
+# hypdoc
+
+Version: 2021-11-15 v1.15
+
+This package adds hyper features to the package
+doc that is used in the documentation
+system of LaTeX2e. Bookmarks are added and references
+are linked as far as possible.
+
+
+## Copyright (C)
+* 2002, 2006, 2007, 2009-2011 Heiko Oberdiek
+* 2016-2021        Oberdiek Package Support Group
+
+## License
+LATEX Project Public License, version 1.3c or later.


Property changes on: trunk/Master/texmf-dist/doc/latex/hypdoc/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/hypdoc/hypdoc.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/hypdoc/hypdoc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hypdoc/hypdoc.pdf	2021-11-16 21:26:52 UTC (rev 61076)
+++ trunk/Master/texmf-dist/doc/latex/hypdoc/hypdoc.pdf	2021-11-16 22:11:10 UTC (rev 61077)

Property changes on: trunk/Master/texmf-dist/doc/latex/hypdoc/hypdoc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/hypdoc/hypdoc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/hypdoc/hypdoc.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/hypdoc/hypdoc.dtx	2021-11-16 22:11:10 UTC (rev 61077)
@@ -0,0 +1,1338 @@
+% \iffalse meta-comment
+%
+% File: hypdoc.dtx
+% Version: 2021-11-15 v1.15
+% Info: Hyper extensions for doc.sty
+%
+% Copyright (C)
+%    2002, 2006, 2007, 2009-2011 Heiko Oberdiek
+%    2016-2021 Oberdiek Package Support Group
+%    https://github.com/ho-tex/hypdoc/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/hypdoc/issues
+%
+% This work consists of the main source file hypdoc.dtx
+% and the derived files
+%    hypdoc.sty, hypdoc.pdf, hypdoc.ins, hypdoc.drv.
+%
+% Distribution:
+%    CTAN:macros/latex/contrib/hypdoc/hypdoc.dtx
+%    CTAN:macros/latex/contrib/hypdoc/hypdoc.pdf
+%
+% Unpacking:
+%    (a) If hypdoc.ins is present:
+%           tex hypdoc.ins
+%    (b) Without hypdoc.ins:
+%           tex hypdoc.dtx
+%    (c) If you insist on using LaTeX
+%           latex \let\install=y\input{hypdoc.dtx}
+%        (quote the arguments according to the demands of your shell)
+%
+% Documentation:
+%    (a) If hypdoc.drv is present:
+%           latex hypdoc.drv
+%    (b) Without hypdoc.drv:
+%           latex hypdoc.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 hypdoc.dtx
+%       makeindex -s gind.ist hypdoc.idx
+%       pdflatex hypdoc.dtx
+%       makeindex -s gind.ist hypdoc.idx
+%       pdflatex hypdoc.dtx
+%
+% Installation:
+%    TDS:tex/latex/hypdoc/hypdoc.sty
+%    TDS:doc/latex/hypdoc/hypdoc.pdf
+%    TDS:source/latex/hypdoc/hypdoc.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: hypdoc 2021-11-15 v1.15 Hyper extensions for doc.sty (HO)}
+\Msg{************************************************************************}
+
+\keepsilent
+\askforoverwritefalse
+
+\let\MetaPrefix\relax
+\preamble
+
+This is a generated file.
+
+Project: hypdoc
+Version: 2021-11-15 v1.15
+
+Copyright (C)
+   2002, 2006, 2007, 2009-2011 Heiko Oberdiek
+   2016-2021 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/hypdoc/issues
+
+
+This work consists of the main source file hypdoc.dtx
+and the derived files
+   hypdoc.sty, hypdoc.pdf, hypdoc.ins, hypdoc.drv.
+
+\endpreamble
+\let\MetaPrefix\DoubleperCent
+
+\generate{%
+  \file{hypdoc.ins}{\from{hypdoc.dtx}{install}}%
+  \file{hypdoc.drv}{\from{hypdoc.dtx}{driver}}%
+  \usedir{tex/latex/hypdoc}%
+  \file{hypdoc.sty}{\from{hypdoc.dtx}{package}}%
+}
+
+\catcode32=13\relax% active space
+\let =\space%
+\Msg{************************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* file into a directory searched by TeX:}
+\Msg{*}
+\Msg{*     hypdoc.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file `hypdoc.drv'}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{************************************************************************}
+
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+%<*driver>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{hypdoc.drv}%
+  [2021-11-15 v1.15 Hyper extensions for doc.sty (HO)]%
+\documentclass{ltxdoc}
+\usepackage{holtxdoc}[2011/11/22]
+\begin{document}
+  \DocInput{hypdoc.dtx}%
+\end{document}
+%</driver>
+% \fi
+%
+%
+%
+% \GetFileInfo{hypdoc.drv}
+%
+% \title{The \xpackage{hypdoc} package}
+% \date{2021-11-15 v1.15}
+% \author{Heiko Oberdiek\thanks
+% {Please report any issues at \url{https://github.com/ho-tex/hypdoc/issues}}}
+%
+% \maketitle
+%
+% \begin{abstract}
+% This package adds hyper features to the package
+% \xpackage{doc} that is used in the documentation
+% system of \LaTeXe. Bookmarks are added and references
+% are linked as far as possible.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \section{Features}
+%
+% The package adds the following features:
+% \begin{description}
+% \item[Bookmarks:]
+%   For supporting bookmarks package \verb|hyperref| is loaded.
+%   Some \TeX\ code inside section titles can cause problems
+%   during bookmark processing; these can be warnings, ugly
+%   bookmark titles or even errors. With the help of
+%   \verb|\pdfstringdefDisableCommands| or \verb|\texorpdfstring|
+%   you can manage these things, see \verb|hyperref|'s package
+%   documentation.
+% \item[Additional bookmarks:]
+%   Unnumbered bookmark entries are generated for:
+%   \begin{itemize}
+%   \item Table of contents
+%   \item List of figures
+%   \item List of tables
+%   \item Index
+%   \item Glossary
+%   \end{itemize}
+%   Option \texttt{numbered} controls, whether these section or
+%   chapters should be numbered. The exception is the table
+%   of contents if this it would be the first numbered
+%   section. Then just a bookmark is added.
+% \item[Metadata:]
+%   The loaded package \verb|hyperref|, enforced by
+%   option \verb|pdfusetitle|, tries to detect \verb|\title|
+%   and \verb|\author| and sets the corresponding PDF
+%   information fields. In case of problems see the previous
+%   item about bookmarks.
+%   These enries can be overwritten or new ones added by
+%   \verb|\hypersetup| after the packages is loaded, see
+%   documentation of package \verb|hyperref|.
+% \item[References, links:] Because of package \verb|\hyperref|
+%   |\ref| become links, also \verb|\url|, footnote referencing
+%   are supported.
+% \item[Index:]
+%   The main part of this package deals with index links in order
+%   to support the kind of index that package \verb|doc| provides.
+% \item[Thumbnails:]
+%   Package \verb|thumbpdf| may additionally be loaded for the case that the
+%   PDF file also should contain thumbnails, see the documentation
+%   of this package. But thumbnail embedding is not really
+%   necessary, because nowadays AcrobatReader is able to
+%   generate and view thumbnails on the fly.
+% \end{description}
+%
+% \section{Usage}
+%
+% The purpose of this packages is to add PDF features to
+% the documentation of LaTeX packages. Thus just load
+% the package in the driver file that generates the
+% documentation:
+% \begin{quote}
+%   \verb|\usepackage{hypdoc}|
+% \end{quote}
+% Package \verb|doc| is loaded by \verb|hypdoc|, thus you
+% also can replace a \verb|\usepackage{doc}| with this line.
+% At any case, the package must be loaded before macros of
+% package \verb|doc| such as \verb|\CodelineIndex| or
+% \verb|\PageIndex| are used.
+%
+% If the class \verb|ltxdoc| is used, you can also use
+% the configuration file for this class to add
+% package \verb|hypdoc|. Add the following line
+% to the file \verb|ltxdoc.cfg| (or create a new one):
+% \begin{quote}
+%\begin{verbatim}
+%\AtEndOfClass{\RequirePackage{hypdoc}}
+%\end{verbatim}
+% \end{quote}
+%
+% \subsection{Options}
+%
+% There is one option \texttt{numbered}. It controls,
+% whether the starred versions of section or chapter
+% inside \cs{tableofcontents}, \cs{listoffigures}, \dots
+% should be replaced by the non-star versions.
+%
+% \subsection{Simple example}
+% Example of a simple driver file \verb|foobar.drv|
+% of a package \verb|foobar|. Often the driver file
+% is packed in the file \verb|foobar.dtx| and can
+% be extracted by docstrip or if an instruction file
+% for docstrip is provided by:
+% \begin{quote}
+% \verb|tex foobar.ins|
+% \end{quote}
+% Note that although docstrip doesn't rely on \LaTeX,
+% sometimes you need to run the \verb|.ins| file through
+% \LaTeX. Oddly enough, often the only \LaTeX\ feature
+% in use is \verb|\NeedsTeXFormat{LaTeX2e}| in the first line.
+% \begin{quote}
+%\begin{verbatim}
+%\documentclass{ltxdoc}
+%\usepackage{hypdoc}
+%\RecordChanges
+%\EnableCrossrefs
+%\CodelineIndex
+%\begin{document}
+%\title{Title for package \texttt{foobar}}
+%\author{Author of package \texttt{foobar}}
+%\date{...}
+%\maketitle
+%\tableofcontents
+%\DocInput{foobar.dtx}
+%\PrintChanges
+%\PrintIndex
+%\end{document}
+%\end{verbatim}
+% \end{quote}
+%
+% Then compile it, for example with pdf\LaTeX.
+% \begin{quote}
+%\begin{verbatim}
+%pdflatex foobar.drv
+%makeindex -s gind.ist foobar.idx
+%makeindex -s gglo.ist -o foobar.gls foobar.glo
+%pdflatex foobar.drv
+%\end{verbatim}
+% \end{quote}
+% You will need several cycles until the cross references
+% and similar things are correct.
+%
+% \subsection{Example \texttt{source2e.tex}}
+%
+% The source code of the base of \LaTeX\ is available as
+% a bunch of \verb|.dtx| files. \LaTeX\ provides the file
+% \verb|source2e.tex| to merge them all together.
+%
+% Now you can either load package \verb|hypdoc| in a private copy
+% of this file (please, respect the LPPL) or use the configuration
+% file \verb|ltxdoc.cfg|. Example that also sets A4 paper size:
+% \begin{quote}
+%\begin{verbatim}
+%\PassOptionsToClass{a4paper}{article}
+%\AtEndOfClass{\RequirePackage{hypdoc}}
+%\end{verbatim}
+% \end{quote}
+%
+% Then \verb|source2e.tex| can be compiled by pdf\TeX, for example:
+% \begin{quote}
+%\begin{verbatim}
+%pdflatex source2e
+%makeindex -s gind.ist source2e.idx
+%makeindex -s gglo.ist -o source2e.glo source2e.gls
+%pdflatex source2e
+%makeindex -s gind.ist source2e.idx
+%makeindex -s gglo.ist -o source2e.glo source2e.gls
+%pdflatex source2e
+%\end{verbatim}
+% \end{quote}
+%
+% \StopEventually{
+% }
+%
+% \section{Implementation}
+%
+%    \begin{macrocode}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{hypdoc}%
+  [2021-11-15 v1.15 Hyper extensions for doc.sty (HO)]%
+%    \end{macrocode}
+%    The package identification is done at the top of the |.dtx| file
+%    in order to use only one identification string.
+%
+%    For unique command names this package uses |HD@| as prefix
+%
+% \subsection{Options}
+%
+%    \begin{macro}{\ifHD at numbered}
+%    \begin{macrocode}
+\newif\ifHD at numbered
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macrocode}
+\DeclareOption{numbered}{\HD at numberedtrue}
+\ProcessOptions*\relax
+%    \end{macrocode}
+%
+% \subsection{Package loading}
+%
+%    \begin{macrocode}
+\RequirePackage{atveryend}[2010/03/24]
+\RequirePackage{doc}
+%    \end{macrocode}
+%    \begin{macrocode}
+\ifx\numexpr\@undefined
+  \RequirePackage{calc}%
+\fi
+%    \end{macrocode}
+%    \begin{macrocode}
+\RequirePackage[%
+  hyperindex=false,%
+  pdfusetitle,%
+  colorlinks,%
+  pdfpagelabels%
+]{hyperref}[2002/05/09]%
+\hypersetup{%
+  plainpages=false,%
+  bookmarksopen,%
+  bookmarksnumbered,%
+  bookmarksopenlevel=0,%
+  pdfstartview={FitBH \hypercalcbp{%
+    \paperheight-\topmargin-1in-\headheight-\headsep
+  }},%
+}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newcounter{HD at unique}
+%    \end{macrocode}
+%    \begin{macro}{\theHD at unique}
+%    \begin{macrocode}
+\renewcommand{\theHD at unique}{%
+  \number\value{HD at unique}%
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macrocode}
+\g at addto@macro\Hy at UseMaketitleInfos{%
+  \@ifundefined{fileinfo}{}{%
+    \ifx\@pdfsubject\@empty
+      \hypersetup{pdfsubject={\fileinfo}}%
+    \fi
+  }%
+}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\pdfstringdefDisableCommands{%
+  \let\thanks\@gobble
+  \let\footnote\@gobble
+  \def\cs#1{\textbackslash #1}%
+  \let\normalfont\@empty
+  \let\scshape\@empty
+  \def\and{and }%
+}
+%    \end{macrocode}
+%
+%
+% \subsection{Bookmarks}
+%
+%    \begin{macro}{\HD at sectionpatch}
+%    \begin{macrocode}
+\def\HD at sectionpatch{%
+  \ifHD at numbered
+    \HD@@sectionpatch{section}%
+    \HD@@sectionpatch{chapter}%
+  \else
+    \let\Hy at writebookmark\HD at disable@writebookmark
+  \fi
+}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\HD@@sectionpatch}
+%    \begin{macrocode}
+\def\HD@@sectionpatch#1{%
+  \expandafter\let\csname HDorg@@#1\expandafter\endcsname
+    \csname #1\endcsname
+  \@namedef{#1}{%
+    \@ifstar{\@nameuse{HDorg@@#1}}{\@nameuse{HDorg@@#1}}%
+  }%
+}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\HD at disable@writebookmark}
+%    \begin{macrocode}
+\def\HD at disable@writebookmark#1#2#3#4#5{}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\HD at guesstoclevel}
+%    A wild guessing of the toclevel. There is the hope, that
+%    the macro |#1| starts with a sectioning command.
+%    \begin{macrocode}
+\def\HD at guesstoclevel#1{%
+  \expandafter\HD@@guesstoclevel#1\section\HD at end
+}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\HD@@guesstoclevel}
+%    \begin{macrocode}
+\def\HD@@guesstoclevel#1#2\HD at end{%
+  \@ifundefined{toclevel@\expandafter\@gobble\string#1\@empty}{%
+    1%
+  }{%
+    \@nameuse{toclevel@\expandafter\@gobble\string#1\@empty}%
+  }%
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{tableofcontents}}
+%
+%    \begin{macro}{\HDorg at tableofcontents}
+%    \begin{macrocode}
+\let\HDorg at tableofcontents\tableofcontents
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\tableofcontents}
+%    As first section the table of contents shouldn't
+%    go into the toc itself. Also a number looks too funny then.
+%    Just a bookmark is enough in this case.
+%    \begin{macrocode}
+\def\tableofcontents{%
+  \begingroup
+    \@ifundefined{c at section}{%
+      \def\c at section{0}%
+    }{}%
+  \expandafter\endgroup
+  \ifcase\c at section
+    \stepcounter{HD at unique}%
+    \pdfbookmark[\HD at guesstoclevel{\HDorg at tableofcontents}]%
+        {\contentsname}{toc\theHD at unique}%
+    \HDorg at tableofcontents
+  \else
+    \ifHD at numbered
+    \else
+      \stepcounter{HD at unique}%
+      \pdfbookmark[\HD at guesstoclevel{\HDorg at tableofcontents}]%
+          {\contentsname}{toc\theHD at unique}%
+    \fi
+    \begingroup
+      \HD at sectionpatch
+      \HDorg at tableofcontents
+    \endgroup
+  \fi
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{listoffigures}}
+%
+%    \begin{macro}{\HDorg at listoffigures}
+%    \begin{macrocode}
+\let\HDorg at listoffigures\listoffigures
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\listoffigures}
+%    \begin{macrocode}
+\def\listoffigures{%
+  \ifHD at numbered
+  \else
+    \stepcounter{HD at unique}%
+    \pdfbookmark[\HD at guesstoclevel{\HDorg at listoffigures}]%
+        {\listfigurename}{toc\theHD at unique}%
+  \fi
+  \begingroup
+    \HD at sectionpatch
+    \HDorg at listoffigures
+  \endgroup
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{listoftables}}
+%
+%    \begin{macro}{\HDorg at listoftables}
+%    \begin{macrocode}
+\let\HDorg at listoftables\listoftables
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\listoftables}
+%    \begin{macrocode}
+\def\listoftables{%
+  \ifHD at numbered
+  \else
+    \stepcounter{HD at unique}%
+    \pdfbookmark[\HD at guesstoclevel{\HDorg at listoftables}]%
+        {\listtablename}{toc\theHD at unique}%
+  \fi
+  \begingroup
+    \HD at sectionpatch
+    \HDorg at listoftables
+  \endgroup
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{thebibliography}}
+%
+%    \begin{macro}{\HDorg at thebibliography}
+%    \begin{macrocode}
+\let\HDorg at thebibliography\thebibliography
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\thebibliography}
+%    \begin{macrocode}
+\def\thebibliography{%
+  \ifHD at numbered
+  \else
+    \stepcounter{HD at unique}%
+    \pdfbookmark[\HD at guesstoclevel{\HDorg at thebibliography}]%
+      {\@ifundefined{chapter}{\refname}{\bibname}}{bib\theHD at unique}%
+  \fi
+  \HD at sectionpatch
+  \HDorg at thebibliography
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{theindex}}
+%
+%    \begin{macro}{\HDorg at theindex}
+%    \begin{macrocode}
+\let\HDorg at theindex\theindex
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\theindex}
+%    \begin{macrocode}
+\def\theindex{%
+  \let\HDorg at index@prologue\index at prologue
+  \let\HDorg at writebookmark\Hy at writebookmark
+  \HD at sectionpatch
+  \g at addto@macro\IndexParms{%
+    \ifHD at numbered
+    \else
+      \let\Hy at writebookmark\HDorg at writebookmark
+    \fi
+    \let\bfseries\HD at bfseries
+  }%
+  \edef\HD at toclevel@index{\HD at guesstoclevel{\index at prologue}}%
+  \begingroup
+    \count@=\HD at toclevel@index\relax
+    \advance\count@ by 1 %
+    \xdef\HD at toclevel@subindex{\the\count@}%
+  \endgroup
+  \def\index at prologue{%
+    \ifHD at numbered
+    \else
+      \begingroup
+        \stepcounter{HD at unique}%
+        \let\Hy at writebookmark\HDorg at writebookmark
+        \pdfbookmark[\HD at toclevel@index]%
+            {\indexname}{index\theHD at unique}%
+      \endgroup
+    \fi
+    \HDorg at index@prologue
+  }%
+  \HDorg at theindex
+}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\HDorg at bfseries}
+%    \begin{macrocode}
+\let\HDorg at bfseries\bfseries
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\HD at bfseries}
+%    \begin{macrocode}
+\def\HD at bfseries{\futurelet\HD at hfil\HD@@bfseries}%
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\HD@@bfseries}
+%    \begin{macrocode}
+\def\HD@@bfseries{%
+  \HDorg at bfseries
+  \ifx\HD at hfil\hfil
+    \expandafter\HD@@@bfseries
+  \fi
+}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\HD@@@bfseries}
+%    \begin{macrocode}
+\def\HD@@@bfseries\hfil#1\hfil{%
+  \ifx\\#1\\%
+  \else
+    \raisebox{\baselineskip}[0pt]{%
+      \kern-\HD at margin\relax
+      \pdfbookmark[\HD at toclevel@subindex]{#1}{HD.#1}%
+      \kern\HD at margin\relax
+    }%
+  \fi
+  \hfil#1\hfil
+}%
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\HD at margin}
+%    \begin{macrocode}
+\def\HD at margin{1mm}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{theglossary}}
+%
+%    \begin{macro}{\HDorg at theglossary}
+%    \begin{macrocode}
+\let\HDorg at theglossary\theglossary
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\theglossary}
+%    \begin{macrocode}
+\def\theglossary{%
+  \let\HDorg at glossary@prologue\glossary at prologue
+  \let\HDorg at writebookmark\Hy at writebookmark
+  \HD at sectionpatch
+  \def\glossary at prologue{%
+    \ifHD at numbered
+    \else
+      \begingroup
+        \let\Hy at writebookmark\HDorg at writebookmark
+        \stepcounter{HD at unique}%
+        \pdfbookmark[\HD at guesstoclevel{\HDorg at glossary@prologue}]%
+            {\changehistoryname}{glossary\theHD at unique}%
+      \endgroup
+    \fi
+    \HDorg at glossary@prologue
+  }%
+  \HDorg at theglossary
+}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\glossaryname}
+%    \begin{macrocode}
+\providecommand*{\glossaryname}{Change History}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\glossaryname}
+%    \begin{macrocode}
+\providecommand*{\changehistoryname}{\glossaryname}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{Index}
+%
+%    \begin{macrocode}
+\newcounter{HD at hypercount}
+%    \end{macrocode}
+%    \begin{macro}{\HD at helplength}
+%    \begin{macrocode}
+\newlength{\HD at helplength}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\ifHD at savedest}
+%    \begin{macrocode}
+\newif\ifHD at savedest
+\HD at savedesttrue
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macrocode}
+\AtBeginDocument{%
+  \HD at savedest@init
+}
+%    \end{macrocode}
+%    \begin{macrocode}
+\RequirePackage{rerunfilecheck}[2009/12/10]
+%    \end{macrocode}
+%    \begin{macro}{\HD at savedest@init}
+%    \begin{macrocode}
+\begingroup
+  \catcode`\^^M=\active
+\@firstofone{\endgroup
+  \def\HD at savedest@init{%
+    \ifHD at savedest
+      \let\HDorg at tilde~%
+      \let~\HD at savedest@entry
+      \edef\HDorg at catcodeM{\the\catcode`\^^M}%
+      \catcode`\^^M=\active
+      \def^^M{}%
+      \InputIfFileExists{\jobname.hd}{}{}%
+      \let~\HDorg at tilde
+      \catcode`\^^M=\HDorg at catcodeM\relax
+      \newwrite\HD at savedest@out
+      \RerunFileCheck{\jobname.hd}{%
+        \immediate\closeout\HD at savedest@out
+      }{}%
+      \immediate\openout\HD at savedest@out=\jobname.hd\relax
+    \else
+      \let\HD at savedest@add\@gobble
+    \fi
+  }%
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\HD at savedest@entry}
+%    \begin{macrocode}
+  \def\HD at savedest@entry#1^^M{%
+    \@namedef{HD.#1}{}%
+  }%
+}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\HD at savedest@add}
+%    \begin{macrocode}
+\def\HD at savedest@add#1{%
+  \immediate\write\HD at savedest@out{\string~#1}%
+}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\ifHD at targetraise}
+%    \begin{macrocode}
+\newif\ifHD at targetraise
+\HD at targetraisetrue
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\HD at target}
+%    \begin{macrocode}
+\def\HD at target{%
+  \ifHD at targetraise
+    \ifhmode
+      \settoheight{\HD at helplength}{[H]}%
+      \addtolength{\HD at helplength}{0.4ex}%
+      \raisebox{\HD at helplength}[0pt][0pt]{%
+        \HD at maketarget
+      }%
+    \else
+      \HD at maketarget
+    \fi
+  \else
+    \HD at maketarget
+  \fi
+}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\HD at maketarget}
+%    \begin{macrocode}
+\def\HD at maketarget{%
+  \stepcounter{HD at hypercount}%
+  \def\HD at next{%
+    \llap{\hypertarget{HD.\the\c at HD@hypercount}{}\,}%
+  }%
+  \ifHD at savedest
+    \expandafter\ifx\csname HD.\the\c at HD@hypercount\endcsname\@empty
+    \else
+      \let\HD at next\relax
+    \fi
+  \fi
+  \HD at next
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\CodelineIndex}
+%    \begin{macrocode}
+\g at addto@macro\CodelineIndex{%
+  \let\special at index\HD at codeline@wrindex
+}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\PageIndex}
+%    \begin{macrocode}
+\g at addto@macro\PageIndex{%
+  \let\special at index\HD at page@wrindex
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\HD at codeline@wrindex}
+%    \begin{macrocode}
+\def\HD at codeline@wrindex#1{%
+  \begingroup
+    \let\HDorg at encapchar\encapchar
+    \def\encapchar##1\encapchar##2\@nil{%
+      \HDorg at encapchar
+      hdclindex{\the\c at HD@hypercount}{##1}%
+    }%
+    \codeline at wrindex{%
+      #1\encapchar\encapchar\@nil
+    }%
+  \endgroup
+}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\HD at page@wrindex}
+%    \begin{macrocode}
+\def\HD at page@wrindex#1{%
+  \begingroup
+    \let\HDorg at encapchar\encapchar
+    \def\encapchar##1\encapchar##2\@nil{%
+      \HDorg at encapchar
+      hdpindex{##1}%
+    }%
+    \HDorg at index{#1\encapchar\encapchar\@nil}%
+  \endgroup
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\hdclindex}
+%    \begin{macrocode}
+\def\hdclindex#1#2#3{%
+  \csname\ifx\\#2\\relax\else#2\fi\endcsname{%
+    \hyperlink{HD.#1}{#3}%
+    \HD at savedest@add{#1}%
+  }%
+}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\hdpindex}
+%    \begin{macrocode}
+\def\hdpindex#1#2{%
+  \csname\ifx\\#1\\relax\else#1\fi\endcsname{%
+    \hyperpage{#2}%
+  }%
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{PrintDescribeMacro}}
+%
+%    \begin{macro}{\HDorg at PrintDescribeMacro}
+%    \begin{macrocode}
+\let\HDorg at PrintDescribeMacro\PrintDescribeMacro
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\PrintDescribeMacro}
+%    \begin{macrocode}
+\renewcommand\PrintDescribeMacro[1]{%
+  \begingroup
+    \let\HDorg at MacroFont\MacroFont
+    \def\MacroFont{%
+      \HD at target
+      \HDorg at MacroFont
+    }%
+    \HDorg at PrintDescribeMacro{#1}%
+  \endgroup
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{PrintMacroName}}
+%
+%    \begin{macro}{\HDorg at PrintMacroName}
+%    \begin{macrocode}
+\let\HDorg at PrintMacroName\PrintMacroName
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\PrintMacroName}
+%    \begin{macrocode}
+\renewcommand\PrintMacroName[1]{%
+  \begingroup
+    \let\HDorg at MacroFont\MacroFont
+    \def\MacroFont{%
+      \HD at target
+      \HDorg at MacroFont
+    }%
+    \HDorg at PrintMacroName{#1}%
+  \endgroup
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{theCodelineNo}}
+%
+%    \begin{macro}{\HDorg at theCodelineNo}
+%    \begin{macrocode}
+\let\HDorg at theCodelineNo\theCodelineNo
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\theCodelineNo}
+%    \begin{macrocode}
+\renewcommand*\theCodelineNo{%
+  \settowidth{\HD at helplength}{\HDorg at theCodelineNo\ }%
+  \ifdim\HD at helplength<\MacroIndent
+    \addtolength{\HD at helplength}{-\MacroIndent}%
+    \llap{%
+      \begingroup\HD at target\endgroup
+      \hspace*{-\HD at helplength}%
+    }%
+  \else
+    \HD at target
+  \fi
+  \HDorg at theCodelineNo
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\HDorg at index}
+%    \begin{macrocode}
+\AtBeginDocument{%
+  \let\HDorg at index\index
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{SpecialUsageIndex}}
+%
+%    \begin{macro}{\HDorg at SpecialUsageIndex}
+%    \begin{macrocode}
+\let\HDorg at SpecialUsageIndex\SpecialUsageIndex
+\renewcommand*\SpecialUsageIndex[1]{%
+  \@bsphack
+  \begingroup
+    \HD at target
+    \let\index\HDorg at index
+    \let\HDorg at encapchar\encapchar
+    \edef\encapchar usage{%
+       \HDorg at encapchar hdclindex{\the\c at HD@hypercount}{usage}%
+    }%
+    \HDorg at SpecialUsageIndex{#1}%
+  \endgroup
+  \@esphack
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{autoindex}}
+%
+%    \begin{macrocode}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname autoindex\endcsname\relax
+\else
+%    \end{macrocode}
+%    \begin{macro}{\HDorg at autoindex}
+%    \begin{macrocode}
+  \let\HDorg at autoindex\autoindex
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\autoindex}
+%    \begin{macrocode}
+  \renewcommand*\autoindex[1]{%
+    \@bsphack
+    \begingroup
+      \HD at target
+      \let\index\HDorg at index
+      \let\HDorg at encapchar\encapchar
+      \edef\encapchar usage{%
+         \HDorg at encapchar hdclindex{\the\c at HD@hypercount}{usage}%
+      }%
+      \HDorg at autoindex{#1}%
+    \endgroup
+    \@esphack
+  }%
+\pdfstringdefDisableCommands{\let\autoindex\@gobble }
+\fi
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{SpecialEnvIndex}}
+%
+%    \begin{macro}{\HDorg at SpecialEnvIndex}
+%    \begin{macrocode}
+\let\HDorg at SpecialEnvIndex\SpecialEnvIndex
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\SpecialEnvIndex}
+%    \begin{macrocode}
+\renewcommand*\SpecialEnvIndex[1]{%
+  \@bsphack
+  \begingroup
+    \HD at target
+    \let\HDorg at encapchar\encapchar
+    \edef\encapchar usage{%
+      \HDorg at encapchar hdclindex{\the\c at HD@hypercount}{usage}%
+    }%
+    \HDorg at SpecialEnvIndex{#1}%
+  \endgroup
+  \@esphack
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{SortIndex}}
+%
+%    \begin{macro}{\HDorg at SortIndex}
+%    \begin{macrocode}
+\let\HDorg at SortIndex\SortIndex
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\SortIndex}
+%    \begin{macrocode}
+\renewcommand*{\SortIndex}[2]{%
+  \@bsphack
+  \begingroup
+    \let\index\HD at page@wrindex
+    \HDorg at SortIndex{#1}{#2}%
+  \endgroup
+  \@esphack
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{@wrglossary}}
+%
+%    \begin{macro}{\HDorg at wrglossary}
+%    \begin{macrocode}
+\let\HDorg at wrglossary\@wrglossary
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\@wrglossary}
+%    \begin{macrocode}
+\def\@wrglossary#1{%
+  \let\HDorg at encapchar\encapchar
+  \def\encapchar##1\encapchar##2\@nil{%
+    \HDorg at encapchar
+    hdpindex{##1}%
+  }%
+  \HDorg at wrglossary{#1\encapchar\encapchar\@nil}%
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \subsection{\cs{MacroIndent}}
+%
+%    \cs{MacroIndent} automatically calculated.
+%    \begin{macrocode}
+\AfterLastShipout{%
+  \if at filesw
+    \immediate\write\@auxout{%
+      \string\providecommand\string\HD at SetMacroIndent[1]{}%
+    }%
+    \immediate\write\@auxout{%
+      \string\HD at SetMacroIndent{\number\value{CodelineNo}}%
+    }%
+  \fi
+}
+%    \end{macrocode}
+%    \begin{macro}{\HD at SetMacroIndent}
+%    \begin{macrocode}
+\def\HD at SetMacroIndent#1{%
+  \begingroup
+    \value{CodelineNo}=#1\relax
+    \settowidth{\MacroIndent}{\HDorg at theCodelineNo\ }%
+    \global\MacroIndent\MacroIndent
+  \endgroup
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macrocode}
+%</package>
+%    \end{macrocode}
+%
+% \section{Installation}
+%
+% \subsection{Download}
+%
+% \paragraph{Package.} This package is available on
+% CTAN\footnote{\CTANpkg{hypdoc}}:
+% \begin{description}
+% \item[\CTAN{macros/latex/contrib/hypdoc/hypdoc.dtx}] The source file.
+% \item[\CTAN{macros/latex/contrib/hypdoc/hypdoc.pdf}] Documentation.
+% \end{description}
+%
+%
+% \subsection{Package installation}
+%
+% The best is to install the package with the package manager of your \TeX{}
+% distribution. If a manual installation is needed:
+%
+% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
+% \docstrip\ archive. The files are extracted by running the
+% \xfile{.dtx} through \plainTeX:
+% \begin{quote}
+%   \verb|tex hypdoc.dtx|
+% \end{quote}
+%
+% \paragraph{TDS.} Now the different files must be moved into
+% the different directories in your installation TDS tree
+% (also known as \xfile{texmf} tree):
+% \begin{quote}
+% \def\t{^^A
+% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
+%   hypdoc.sty & tex/latex/hypdoc/hypdoc.sty\\
+%   hypdoc.pdf & doc/latex/hypdoc/hypdoc.pdf\\
+%   hypdoc.dtx & source/latex/hypdoc/hypdoc.dtx\\
+% \end{tabular}^^A
+% }^^A
+% \sbox0{\t}^^A
+% \ifdim\wd0>\linewidth
+%   \begingroup
+%     \advance\linewidth by\leftmargin
+%     \advance\linewidth by\rightmargin
+%   \edef\x{\endgroup
+%     \def\noexpand\lw{\the\linewidth}^^A
+%   }\x
+%   \def\lwbox{^^A
+%     \leavevmode
+%     \hbox to \linewidth{^^A
+%       \kern-\leftmargin\relax
+%       \hss
+%       \usebox0
+%       \hss
+%       \kern-\rightmargin\relax
+%     }^^A
+%   }^^A
+%   \ifdim\wd0>\lw
+%     \sbox0{\small\t}^^A
+%     \ifdim\wd0>\linewidth
+%       \ifdim\wd0>\lw
+%         \sbox0{\footnotesize\t}^^A
+%         \ifdim\wd0>\linewidth
+%           \ifdim\wd0>\lw
+%             \sbox0{\scriptsize\t}^^A
+%             \ifdim\wd0>\linewidth
+%               \ifdim\wd0>\lw
+%                 \sbox0{\tiny\t}^^A
+%                 \ifdim\wd0>\linewidth
+%                   \lwbox
+%                 \else
+%                   \usebox0
+%                 \fi
+%               \else
+%                 \lwbox
+%               \fi
+%             \else
+%               \usebox0
+%             \fi
+%           \else
+%             \lwbox
+%           \fi
+%         \else
+%           \usebox0
+%         \fi
+%       \else
+%         \lwbox
+%       \fi
+%     \else
+%       \usebox0
+%     \fi
+%   \else
+%     \lwbox
+%   \fi
+% \else
+%   \usebox0
+% \fi
+% \end{quote}
+% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
+% TDS installing feature, then some files can already be in the right
+% place, see the documentation of \docstrip.
+%
+% \subsection{Refresh file name databases}
+%
+% If your \TeX~distribution
+% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh
+% 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{hypdoc.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
+% 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:
+% \begin{quote}
+%   \verb|\PassOptionsToClass{a4paper}{article}|
+% \end{quote}
+% An example follows how to generate the
+% documentation with pdf\LaTeX:
+% \begin{quote}
+%\begin{verbatim}
+%pdflatex hypdoc.dtx
+%makeindex -s gind.ist hypdoc.idx
+%pdflatex hypdoc.dtx
+%makeindex -s gind.ist hypdoc.idx
+%pdflatex hypdoc.dtx
+%\end{verbatim}
+% \end{quote}
+%
+% \begin{History}
+%   \begin{Version}{2002/05/10 v1.0}
+%   \item
+%     First standalone version.
+%   \end{Version}
+%   \begin{Version}{2006/02/20 v1.1}
+%   \item
+%     Option \xoption{numbered} added.
+%   \item
+%     \cs{HD at savedest@init} fixed (empty \xext{hd} file triggered
+%     first page with fl ligature).
+%   \item
+%     Bookmarks for \cs{listoffigures} and \cs{listoftables}.
+%   \item
+%     Documentation: features and usage added.
+%   \item
+%     LPPL 1.3.
+%   \end{Version}
+%   \begin{Version}{2006/04/27 v1.2}
+%   \item
+%     \cs{HD at target} fixed (\xfile{multicol.dtx}).
+%   \end{Version}
+%   \begin{Version}{2006/06/01 v1.3}
+%   \item
+%     Support for package \xpackage{amsdtx}'s \cs{autoindex} added.
+%   \end{Version}
+%   \begin{Version}{2006/06/02 v1.4}
+%   \item
+%     Bookmark fixed if there are several table of contents,
+%     bibliographies, glossaries, \dots
+%   \end{Version}
+%   \begin{Version}{2007/04/11 v1.5}
+%   \item
+%     Line ends sanitized.
+%   \end{Version}
+%   \begin{Version}{2007/11/12 v1.6}
+%   \item
+%     Bug fix in \cs{listoffigures} (Axel Sommerfeldt).
+%   \item
+%     Markup added in implementation section.
+%   \end{Version}
+%   \begin{Version}{2009/12/10 v1.7}
+%   \item
+%     Use of package \xpackage{rerunfilecheck}.
+%   \end{Version}
+%   \begin{Version}{2010/02/03 v1.8}
+%   \item
+%     Fix for bug latex/4096 added.
+%   \end{Version}
+%   \begin{Version}{2010/03/26 v1.9}
+%   \item
+%     Definition of \cs{HD at SetMacroIndex} is provided in the \xext{aux} file.
+%   \end{Version}
+%   \begin{Version}{2011/05/05 v1.10}
+%   \item
+%     \cs{raisebox} in \cs{HD at target} with height and depth of \texttt{0pt}
+%     (request of GL).
+%   \end{Version}
+%   \begin{Version}{2011/08/19 v1.11}
+%   \item
+%     Latest comma in option list for hyperref removed to avoid option clash
+%     because of \hologo{LaTeX} 2011/06/27 with the new \cs{in@}.
+%   \end{Version}
+%   \begin{Version}{2016/05/16 v1.12}
+%   \item
+%     Documentation updates.
+%   \end{Version}
+%   \begin{Version}{2016/10/02 v1.13}
+%   \item
+%     Fixes to bookmarknames, also introduce \cs{changehistoryname}
+%   \end{Version}
+%   \begin{Version}{2018/09/07 v1.14}
+%   \item
+%     Do not load \xpackage{thumpdf}.
+%   \end{Version}
+%   \begin{Version}{2021-11-15 v1.15}
+%   \item removed an old, unneeded patch for latex/4096
+%   \item added a \cs{pdfstringdefDisableCommands} setting for \cs{autoindex}
+%   \end{Version}
+% \end{History}
+%
+% \PrintIndex
+%
+% \Finale
+\endinput


Property changes on: trunk/Master/texmf-dist/source/latex/hypdoc/hypdoc.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/hypdoc/hypdoc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/hypdoc/hypdoc.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/hypdoc/hypdoc.sty	2021-11-16 22:11:10 UTC (rev 61077)
@@ -0,0 +1,472 @@
+%%
+%% This is file `hypdoc.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hypdoc.dtx  (with options: `package')
+%% 
+%% This is a generated file.
+%% 
+%% Project: hypdoc
+%% Version: 2021-11-15 v1.15
+%% 
+%% Copyright (C)
+%%    2002, 2006, 2007, 2009-2011 Heiko Oberdiek
+%%    2016-2021 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/hypdoc/issues
+%% 
+%% This work consists of the main source file hypdoc.dtx
+%% and the derived files
+%%    hypdoc.sty, hypdoc.pdf, hypdoc.ins, hypdoc.drv.
+%% 
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{hypdoc}%
+  [2021-11-15 v1.15 Hyper extensions for doc.sty (HO)]%
+\newif\ifHD at numbered
+\DeclareOption{numbered}{\HD at numberedtrue}
+\ProcessOptions*\relax
+\RequirePackage{atveryend}[2010/03/24]
+\RequirePackage{doc}
+\ifx\numexpr\@undefined
+  \RequirePackage{calc}%
+\fi
+\RequirePackage[%
+  hyperindex=false,%
+  pdfusetitle,%
+  colorlinks,%
+  pdfpagelabels%
+]{hyperref}[2002/05/09]%
+\hypersetup{%
+  plainpages=false,%
+  bookmarksopen,%
+  bookmarksnumbered,%
+  bookmarksopenlevel=0,%
+  pdfstartview={FitBH \hypercalcbp{%
+    \paperheight-\topmargin-1in-\headheight-\headsep
+  }},%
+}
+\newcounter{HD at unique}
+\renewcommand{\theHD at unique}{%
+  \number\value{HD at unique}%
+}
+\g at addto@macro\Hy at UseMaketitleInfos{%
+  \@ifundefined{fileinfo}{}{%
+    \ifx\@pdfsubject\@empty
+      \hypersetup{pdfsubject={\fileinfo}}%
+    \fi
+  }%
+}
+\pdfstringdefDisableCommands{%
+  \let\thanks\@gobble
+  \let\footnote\@gobble
+  \def\cs#1{\textbackslash #1}%
+  \let\normalfont\@empty
+  \let\scshape\@empty
+  \def\and{and }%
+}
+\def\HD at sectionpatch{%
+  \ifHD at numbered
+    \HD@@sectionpatch{section}%
+    \HD@@sectionpatch{chapter}%
+  \else
+    \let\Hy at writebookmark\HD at disable@writebookmark
+  \fi
+}
+\def\HD@@sectionpatch#1{%
+  \expandafter\let\csname HDorg@@#1\expandafter\endcsname
+    \csname #1\endcsname
+  \@namedef{#1}{%
+    \@ifstar{\@nameuse{HDorg@@#1}}{\@nameuse{HDorg@@#1}}%
+  }%
+}
+\def\HD at disable@writebookmark#1#2#3#4#5{}
+\def\HD at guesstoclevel#1{%
+  \expandafter\HD@@guesstoclevel#1\section\HD at end
+}
+\def\HD@@guesstoclevel#1#2\HD at end{%
+  \@ifundefined{toclevel@\expandafter\@gobble\string#1\@empty}{%
+    1%
+  }{%
+    \@nameuse{toclevel@\expandafter\@gobble\string#1\@empty}%
+  }%
+}
+\let\HDorg at tableofcontents\tableofcontents
+\def\tableofcontents{%
+  \begingroup
+    \@ifundefined{c at section}{%
+      \def\c at section{0}%
+    }{}%
+  \expandafter\endgroup
+  \ifcase\c at section
+    \stepcounter{HD at unique}%
+    \pdfbookmark[\HD at guesstoclevel{\HDorg at tableofcontents}]%
+        {\contentsname}{toc\theHD at unique}%
+    \HDorg at tableofcontents
+  \else
+    \ifHD at numbered
+    \else
+      \stepcounter{HD at unique}%
+      \pdfbookmark[\HD at guesstoclevel{\HDorg at tableofcontents}]%
+          {\contentsname}{toc\theHD at unique}%
+    \fi
+    \begingroup
+      \HD at sectionpatch
+      \HDorg at tableofcontents
+    \endgroup
+  \fi
+}
+\let\HDorg at listoffigures\listoffigures
+\def\listoffigures{%
+  \ifHD at numbered
+  \else
+    \stepcounter{HD at unique}%
+    \pdfbookmark[\HD at guesstoclevel{\HDorg at listoffigures}]%
+        {\listfigurename}{toc\theHD at unique}%
+  \fi
+  \begingroup
+    \HD at sectionpatch
+    \HDorg at listoffigures
+  \endgroup
+}
+\let\HDorg at listoftables\listoftables
+\def\listoftables{%
+  \ifHD at numbered
+  \else
+    \stepcounter{HD at unique}%
+    \pdfbookmark[\HD at guesstoclevel{\HDorg at listoftables}]%
+        {\listtablename}{toc\theHD at unique}%
+  \fi
+  \begingroup
+    \HD at sectionpatch
+    \HDorg at listoftables
+  \endgroup
+}
+\let\HDorg at thebibliography\thebibliography
+\def\thebibliography{%
+  \ifHD at numbered
+  \else
+    \stepcounter{HD at unique}%
+    \pdfbookmark[\HD at guesstoclevel{\HDorg at thebibliography}]%
+      {\@ifundefined{chapter}{\refname}{\bibname}}{bib\theHD at unique}%
+  \fi
+  \HD at sectionpatch
+  \HDorg at thebibliography
+}
+\let\HDorg at theindex\theindex
+\def\theindex{%
+  \let\HDorg at index@prologue\index at prologue
+  \let\HDorg at writebookmark\Hy at writebookmark
+  \HD at sectionpatch
+  \g at addto@macro\IndexParms{%
+    \ifHD at numbered
+    \else
+      \let\Hy at writebookmark\HDorg at writebookmark
+    \fi
+    \let\bfseries\HD at bfseries
+  }%
+  \edef\HD at toclevel@index{\HD at guesstoclevel{\index at prologue}}%
+  \begingroup
+    \count@=\HD at toclevel@index\relax
+    \advance\count@ by 1 %
+    \xdef\HD at toclevel@subindex{\the\count@}%
+  \endgroup
+  \def\index at prologue{%
+    \ifHD at numbered
+    \else
+      \begingroup
+        \stepcounter{HD at unique}%
+        \let\Hy at writebookmark\HDorg at writebookmark
+        \pdfbookmark[\HD at toclevel@index]%
+            {\indexname}{index\theHD at unique}%
+      \endgroup
+    \fi
+    \HDorg at index@prologue
+  }%
+  \HDorg at theindex
+}
+\let\HDorg at bfseries\bfseries
+\def\HD at bfseries{\futurelet\HD at hfil\HD@@bfseries}%
+\def\HD@@bfseries{%
+  \HDorg at bfseries
+  \ifx\HD at hfil\hfil
+    \expandafter\HD@@@bfseries
+  \fi
+}
+\def\HD@@@bfseries\hfil#1\hfil{%
+  \ifx\\#1\\%
+  \else
+    \raisebox{\baselineskip}[0pt]{%
+      \kern-\HD at margin\relax
+      \pdfbookmark[\HD at toclevel@subindex]{#1}{HD.#1}%
+      \kern\HD at margin\relax
+    }%
+  \fi
+  \hfil#1\hfil
+}%
+\def\HD at margin{1mm}
+\let\HDorg at theglossary\theglossary
+\def\theglossary{%
+  \let\HDorg at glossary@prologue\glossary at prologue
+  \let\HDorg at writebookmark\Hy at writebookmark
+  \HD at sectionpatch
+  \def\glossary at prologue{%
+    \ifHD at numbered
+    \else
+      \begingroup
+        \let\Hy at writebookmark\HDorg at writebookmark
+        \stepcounter{HD at unique}%
+        \pdfbookmark[\HD at guesstoclevel{\HDorg at glossary@prologue}]%
+            {\changehistoryname}{glossary\theHD at unique}%
+      \endgroup
+    \fi
+    \HDorg at glossary@prologue
+  }%
+  \HDorg at theglossary
+}
+\providecommand*{\glossaryname}{Change History}
+\providecommand*{\changehistoryname}{\glossaryname}
+\newcounter{HD at hypercount}
+\newlength{\HD at helplength}
+\newif\ifHD at savedest
+\HD at savedesttrue
+\AtBeginDocument{%
+  \HD at savedest@init
+}
+\RequirePackage{rerunfilecheck}[2009/12/10]
+\begingroup
+  \catcode`\^^M=\active
+\@firstofone{\endgroup
+  \def\HD at savedest@init{%
+    \ifHD at savedest
+      \let\HDorg at tilde~%
+      \let~\HD at savedest@entry
+      \edef\HDorg at catcodeM{\the\catcode`\^^M}%
+      \catcode`\^^M=\active
+      \def^^M{}%
+      \InputIfFileExists{\jobname.hd}{}{}%
+      \let~\HDorg at tilde
+      \catcode`\^^M=\HDorg at catcodeM\relax
+      \newwrite\HD at savedest@out
+      \RerunFileCheck{\jobname.hd}{%
+        \immediate\closeout\HD at savedest@out
+      }{}%
+      \immediate\openout\HD at savedest@out=\jobname.hd\relax
+    \else
+      \let\HD at savedest@add\@gobble
+    \fi
+  }%
+  \def\HD at savedest@entry#1^^M{%
+    \@namedef{HD.#1}{}%
+  }%
+}
+\def\HD at savedest@add#1{%
+  \immediate\write\HD at savedest@out{\string~#1}%
+}
+\newif\ifHD at targetraise
+\HD at targetraisetrue
+\def\HD at target{%
+  \ifHD at targetraise
+    \ifhmode
+      \settoheight{\HD at helplength}{[H]}%
+      \addtolength{\HD at helplength}{0.4ex}%
+      \raisebox{\HD at helplength}[0pt][0pt]{%
+        \HD at maketarget
+      }%
+    \else
+      \HD at maketarget
+    \fi
+  \else
+    \HD at maketarget
+  \fi
+}
+\def\HD at maketarget{%
+  \stepcounter{HD at hypercount}%
+  \def\HD at next{%
+    \llap{\hypertarget{HD.\the\c at HD@hypercount}{}\,}%
+  }%
+  \ifHD at savedest
+    \expandafter\ifx\csname HD.\the\c at HD@hypercount\endcsname\@empty
+    \else
+      \let\HD at next\relax
+    \fi
+  \fi
+  \HD at next
+}
+\g at addto@macro\CodelineIndex{%
+  \let\special at index\HD at codeline@wrindex
+}
+\g at addto@macro\PageIndex{%
+  \let\special at index\HD at page@wrindex
+}
+\def\HD at codeline@wrindex#1{%
+  \begingroup
+    \let\HDorg at encapchar\encapchar
+    \def\encapchar##1\encapchar##2\@nil{%
+      \HDorg at encapchar
+      hdclindex{\the\c at HD@hypercount}{##1}%
+    }%
+    \codeline at wrindex{%
+      #1\encapchar\encapchar\@nil
+    }%
+  \endgroup
+}
+\def\HD at page@wrindex#1{%
+  \begingroup
+    \let\HDorg at encapchar\encapchar
+    \def\encapchar##1\encapchar##2\@nil{%
+      \HDorg at encapchar
+      hdpindex{##1}%
+    }%
+    \HDorg at index{#1\encapchar\encapchar\@nil}%
+  \endgroup
+}
+\def\hdclindex#1#2#3{%
+  \csname\ifx\\#2\\relax\else#2\fi\endcsname{%
+    \hyperlink{HD.#1}{#3}%
+    \HD at savedest@add{#1}%
+  }%
+}
+\def\hdpindex#1#2{%
+  \csname\ifx\\#1\\relax\else#1\fi\endcsname{%
+    \hyperpage{#2}%
+  }%
+}
+\let\HDorg at PrintDescribeMacro\PrintDescribeMacro
+\renewcommand\PrintDescribeMacro[1]{%
+  \begingroup
+    \let\HDorg at MacroFont\MacroFont
+    \def\MacroFont{%
+      \HD at target
+      \HDorg at MacroFont
+    }%
+    \HDorg at PrintDescribeMacro{#1}%
+  \endgroup
+}
+\let\HDorg at PrintMacroName\PrintMacroName
+\renewcommand\PrintMacroName[1]{%
+  \begingroup
+    \let\HDorg at MacroFont\MacroFont
+    \def\MacroFont{%
+      \HD at target
+      \HDorg at MacroFont
+    }%
+    \HDorg at PrintMacroName{#1}%
+  \endgroup
+}
+\let\HDorg at theCodelineNo\theCodelineNo
+\renewcommand*\theCodelineNo{%
+  \settowidth{\HD at helplength}{\HDorg at theCodelineNo\ }%
+  \ifdim\HD at helplength<\MacroIndent
+    \addtolength{\HD at helplength}{-\MacroIndent}%
+    \llap{%
+      \begingroup\HD at target\endgroup
+      \hspace*{-\HD at helplength}%
+    }%
+  \else
+    \HD at target
+  \fi
+  \HDorg at theCodelineNo
+}
+\AtBeginDocument{%
+  \let\HDorg at index\index
+}
+\let\HDorg at SpecialUsageIndex\SpecialUsageIndex
+\renewcommand*\SpecialUsageIndex[1]{%
+  \@bsphack
+  \begingroup
+    \HD at target
+    \let\index\HDorg at index
+    \let\HDorg at encapchar\encapchar
+    \edef\encapchar usage{%
+       \HDorg at encapchar hdclindex{\the\c at HD@hypercount}{usage}%
+    }%
+    \HDorg at SpecialUsageIndex{#1}%
+  \endgroup
+  \@esphack
+}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname autoindex\endcsname\relax
+\else
+  \let\HDorg at autoindex\autoindex
+  \renewcommand*\autoindex[1]{%
+    \@bsphack
+    \begingroup
+      \HD at target
+      \let\index\HDorg at index
+      \let\HDorg at encapchar\encapchar
+      \edef\encapchar usage{%
+         \HDorg at encapchar hdclindex{\the\c at HD@hypercount}{usage}%
+      }%
+      \HDorg at autoindex{#1}%
+    \endgroup
+    \@esphack
+  }%
+\pdfstringdefDisableCommands{\let\autoindex\@gobble }
+\fi
+\let\HDorg at SpecialEnvIndex\SpecialEnvIndex
+\renewcommand*\SpecialEnvIndex[1]{%
+  \@bsphack
+  \begingroup
+    \HD at target
+    \let\HDorg at encapchar\encapchar
+    \edef\encapchar usage{%
+      \HDorg at encapchar hdclindex{\the\c at HD@hypercount}{usage}%
+    }%
+    \HDorg at SpecialEnvIndex{#1}%
+  \endgroup
+  \@esphack
+}
+\let\HDorg at SortIndex\SortIndex
+\renewcommand*{\SortIndex}[2]{%
+  \@bsphack
+  \begingroup
+    \let\index\HD at page@wrindex
+    \HDorg at SortIndex{#1}{#2}%
+  \endgroup
+  \@esphack
+}
+\let\HDorg at wrglossary\@wrglossary
+\def\@wrglossary#1{%
+  \let\HDorg at encapchar\encapchar
+  \def\encapchar##1\encapchar##2\@nil{%
+    \HDorg at encapchar
+    hdpindex{##1}%
+  }%
+  \HDorg at wrglossary{#1\encapchar\encapchar\@nil}%
+}
+\AfterLastShipout{%
+  \if at filesw
+    \immediate\write\@auxout{%
+      \string\providecommand\string\HD at SetMacroIndent[1]{}%
+    }%
+    \immediate\write\@auxout{%
+      \string\HD at SetMacroIndent{\number\value{CodelineNo}}%
+    }%
+  \fi
+}
+\def\HD at SetMacroIndent#1{%
+  \begingroup
+    \value{CodelineNo}=#1\relax
+    \settowidth{\MacroIndent}{\HDorg at theCodelineNo\ }%
+    \global\MacroIndent\MacroIndent
+  \endgroup
+}
+\endinput
+%%
+%% End of file `hypdoc.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/hypdoc/hypdoc.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2021-11-16 21:26:52 UTC (rev 61076)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2021-11-16 22:11:10 UTC (rev 61077)
@@ -394,7 +394,8 @@
     hpsdiss href-ul hrefhide hrlatex
     hu-berlin-bundle huawei hulipsum hustthesis
     hvarabic hvfloat hvindex hvlogos hvqrurl
-    hycolor hypdestopt hypdvips hyper hyperbar hypernat hyperref hyperxmp
+    hycolor hypdestopt hypdoc hypdvips
+    hyper hyperbar hypernat hyperref hyperxmp
     hyph-utf8 hyphen-base
     hyphenat hyphenex hyplain
   ibarra ibycus-babel ibygrk icite icsv

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2021-11-16 21:26:52 UTC (rev 61076)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2021-11-16 22:11:10 UTC (rev 61077)
@@ -3007,11 +3007,13 @@
  'hecthese'	=> 'etex',
  'hf-tikz'      => 'tex',
  'hitszbeamer'	=> 'tex',
+ 'hologo'	=> 'tex',
  'hopatch'	=> 'tex',
  'hrlatex'      => 'latex',  # requires interaction
  'hu-berlin-bundle' => 'luatex',
  'hycolor'	=> 'tex',
  'hypdestopt'	=> 'etex',
+ 'hypdoc'	=> 'tex',
  'hyperbar'	=> 'tex',
  'inputnormalization' => 'etex -8bit',
  'intopdf',	=> 'tex',

Modified: trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2021-11-16 21:26:52 UTC (rev 61076)
+++ trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2021-11-16 22:11:10 UTC (rev 61077)
@@ -622,6 +622,7 @@
 depend hvlogos
 depend hvqrurl
 depend hypdestopt
+depend hypdoc
 depend hypdvips
 depend hyper
 depend hyperbar

Added: trunk/Master/tlpkg/tlpsrc/hypdoc.tlpsrc
===================================================================


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