texlive[73738] Master/texmf-dist: index (5feb25)

commits+karl at tug.org commits+karl at tug.org
Wed Feb 5 21:43:00 CET 2025


Revision: 73738
          https://tug.org/svn/texlive?view=revision&revision=73738
Author:   karl
Date:     2025-02-05 21:43:00 +0100 (Wed, 05 Feb 2025)
Log Message:
-----------
index (5feb25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/index/index.pdf
    trunk/Master/texmf-dist/doc/latex/index/sample.tex
    trunk/Master/texmf-dist/source/latex/index/index.dtx
    trunk/Master/texmf-dist/source/latex/index/index.ins
    trunk/Master/texmf-dist/tex/latex/index/index.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/index/README.md
    trunk/Master/texmf-dist/doc/latex/index/manifest.txt

Removed Paths:
-------------
    trunk/Master/texmf-dist/bibtex/bst/index/
    trunk/Master/texmf-dist/doc/latex/index/README
    trunk/Master/texmf-dist/doc/latex/index/TODO
    trunk/Master/texmf-dist/doc/latex/index/agsmtst.tex
    trunk/Master/texmf-dist/doc/latex/index/autind.tex
    trunk/Master/texmf-dist/doc/latex/index/plaintst.tex
    trunk/Master/texmf-dist/doc/latex/index/test.bib
    trunk/Master/texmf-dist/makeindex/index/
    trunk/Master/texmf-dist/tex/latex/index/autind.sty
    trunk/Master/texmf-dist/tex/latex/index/bibref.sty

Deleted: trunk/Master/texmf-dist/doc/latex/index/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/index/README	2025-02-05 20:42:38 UTC (rev 73737)
+++ trunk/Master/texmf-dist/doc/latex/index/README	2025-02-05 20:43:00 UTC (rev 73738)
@@ -1,14 +0,0 @@
-HOW TO INSTALL THIS FILE:
-
-Run tex on index.ins to unpack the files index.sty and sample.tex.
-Then install index.sty wherever style files belong on your system and
-read the comments at the beginning of sample.tex to see how to run the
-test.  Finally, format the documentation by executing the following
-three commands:
-
-   latex index.dtx
-   makeindex -s gind.ist index
-   latex index.dtx
-
-David M. Jones
-dmjones at theory.lcs.mit.edu

Added: trunk/Master/texmf-dist/doc/latex/index/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/index/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/index/README.md	2025-02-05 20:43:00 UTC (rev 73738)
@@ -0,0 +1,21 @@
+# latex-index
+index – Extended index support for LaTeX including multiple indexes
+
+## How to install this file:
+
+Run tex on index.ins to unpack the files index.sty and sample.tex.
+Then install index.sty wherever style files belong on your system and
+read the comments at the beginning of sample.tex to see how to run the
+test.  Finally, format the documentation by executing the following
+three commands:
+
+   latex index.dtx
+   makeindex -s gind.ist index
+   latex index.dtx
+   
+Or if you're feeling brave, you can try to running build.sh to create
+a TDS-compliant (I think) tree in the build directory.
+
+David M. Jones
+dmjones at alum.mit.edu
+https://github.com/davidmjones/ltx-index/


Property changes on: trunk/Master/texmf-dist/doc/latex/index/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/index/TODO
===================================================================
--- trunk/Master/texmf-dist/doc/latex/index/TODO	2025-02-05 20:42:38 UTC (rev 73737)
+++ trunk/Master/texmf-dist/doc/latex/index/TODO	2025-02-05 20:43:00 UTC (rev 73738)
@@ -1,107 +0,0 @@
-Last updated: September 29, 1995
-
-Possible things to do:
-
-1) Allow two different 'indexes' to write to a single file, so we can
-do things like mix entries using different counters, a la doc.sty, and
-add in any other features from doc.sty that seem useful.
-
-2) integrate the scheme descripted in autind.sty into the package.
-
-3) merge bibref files into index.dtx and properly document it
-
-
-a) Implement the scheme mentioned at the end of section 3 of the
-documentation to remove the limit on the number of indexes possible in
-a single document.
-
-b) Add an enhancement to draft mode that allows the words and phrases
-that are being indexed to be typeset in color or greyscale in the main
-text (for copy-editing purposes only).  Since currently the actual
-pieces of text that are typeset are not included in the markup, this
-will require a major overhaul of the semantics of the \index command.
-So, I'm thinking of having a package option that does something like
-this:
-
-First, the \newindex command would be changed to the following:
-
-    \newindex[counter]\CS{TITLE}
-
-where \CS is the command used to put entries into the index titled
-'TITLE', whose entries are labeled with the value of 'counter'.  E.g.,
-after
-
-    \newindex\aindex{Name Index}
-
-\aindex would put entries into the author index, much as would be done
-with '\index[aut]' in the current scheme.  This frees up the optional
-argument to be used for something else.  (Note that '\index' would
-remain undefined by default, and so would have to be defined with
-\newindex, just as a 'default' index has to be declared currently.)
-
-Note that the user no longer has to supply an explicit extension for
-the raw and processed files (i.e., the '.idx' and '.ind' files).
-Instead, each index will be be assigned an integer, and the associated
-output and input files will have extensions of the form '.oHH' and
-'.iHH', where HH is the hexadecimal representation of the index's
-number.  This will allow up to 256 indexes without violating the
-length 3 limit on extensions.  (As a special case, the first index
-declared could use '.idx' and '.ind' instead of '.o00' and '.i00'.)
-
-[Maybe better would be something 'indNNN.idx' and 'indNNN.ind', which
-would make makeindex marginally happier, but would prohibit keeping
-multiple documents using this feature in the same directory.  Or maybe
-'XXXXXXHH.idx' and 'XXXXXXHH.ind', where 'XXXXXX' is the first 6
-characters of \jobname (for a suitable definition of 'first 6
-characters').  Alternatively, prepend the number on to the front
-(HHfilename.ind), and let the operating system worry about what
-happens to long file names.]
-
-\printindex would be redefined to take one of the \CS's defined above
-as its (mandatory) argument.
-
-Then the syntax of the \index-like commands would be changed to the
-following:
-
-    \index{foo}           : typesets "foo" in the text and puts it in
-                            the index
-
-    \index[bar]{foo}      : typesets "foo" in the text and puts
-                            "bar at foo" in the index.  Useful for things
-                            like \index[alpha]{$\alpha$}.  I believe
-                            this case is common enough to warrant a
-                            shortcut.
-
-    \index*{foo}          : Can't think of anything useful for this to
-                            do, but see next:
-
-    \index*[bar]{foo}     : typesets "foo" in the text and puts "bar"
-                            in the index.
-
-A note about these last two forms: At first blush, it might seem
-reasonable to have \index*{foo} put 'foo' in the index and typeset
-nothing, thus allowing allow arbitrary text to be put into the index.
-However, not only would it then be unclear what \index*[bar]{foo}
-should do, but there would be no way of putting arbitrary text in the
-index while simultaneously associating it with some specific text in
-the document (consider, for example, \index*[animal!cat]{cat} or
-\index*[cat|see{goddess}]{cat}).  So, the proposed syntax seems
-better, although it still leaves \index*{foo} without any obvious
-function.
-
-Note that in all of this, the short forms ^ and _ have disappeared
-entirely.  C'est la vie.
-
-In this scheme, \disableindex\foo would make \foo an \index-like
-command that would gobble up it's arguments -- \disableindex\foo used
-instead of \newindex\foo{TITLE}, or is it possible to disable an
-\index command that's already been declared with \newindex?  Latter is
-obviously more desirable.
-
-c) Implement some sort of scheme for per-chapter indices.
-
-d) Have index.sty add sufficient information to the .log file that a
-simple script can parse it and automatically run makeindex the proper
-number of times with the proper arguments.
-
-e) Write such a script.

Deleted: trunk/Master/texmf-dist/doc/latex/index/agsmtst.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/index/agsmtst.tex	2025-02-05 20:42:38 UTC (rev 73737)
+++ trunk/Master/texmf-dist/doc/latex/index/agsmtst.tex	2025-02-05 20:43:00 UTC (rev 73738)
@@ -1,41 +0,0 @@
-%%  For format this file, run the following commands:
-%%  
-%%  latex agsmtst.tex
-%%  bibtex agsmtst.tex
-%%  latex agsmtst.tex
-%%  latex agsmtst.tex
-%%  makeindex -o agsmtst.and agsmtst.adx
-%%  latex agsmtst.tex
-
-\documentstyle[index,autind,harvard]{article}
-
-\newindex{aut}{adx}{and}{Name Index}
-
-\begin{document}
-
-\adjustcitation\cite
-
-\adjustcitation{\citeasnoun}
-
-%{\tt\meaning\cite}
-
-%{\tt\meaning\citeasnoun}
-
-\nocite*
-
-\cite{CantoneCP90,Adamowicz92}
-
-\cite[page 21]{AdlemanMa76}
-
-\citeasnoun{CaludeP83}
-
-\citeasnoun[foo]{Baker68}
-
-\newpage
-
-\bibliographystyle{xagsm}
-\bibliography{test}
-
-\printindex[aut]
-
-\end{document}

Deleted: trunk/Master/texmf-dist/doc/latex/index/autind.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/index/autind.tex	2025-02-05 20:42:38 UTC (rev 73737)
+++ trunk/Master/texmf-dist/doc/latex/index/autind.tex	2025-02-05 20:43:00 UTC (rev 73738)
@@ -1,131 +0,0 @@
-\documentclass{article}
-
-\newcommand*{\email}[1]{$\langle$\texttt{#1}$\rangle$}
-
-\newcommand{\BibTeX}{\textsc{Bib}\TeX}
-
-\begin{document}
-
-\title{Preliminary thoughts on automatic author indexing with \BibTeX\
-and \texttt{index.sty}}
-
-\author{David M. Jones}
-
-\date{September 28, 1995}
-
-\maketitle
-
-\begin{abstract}
-
-A method for automically indexing the names of authors in a
-bibliography is described.  The ideas presented here were developed in
-conjunction with Berwin A. Turlach \email{berwin at core.ucl.ac.be} in
-Spring 1994, but he has not seen the current writeup and is not
-responsible for its contents.
-
-\end{abstract}
-
-When producing a name index, one typically wants to include entries
-for all authors mentioned in the bibliography, as well entries for
-each point in the text where an item of the bibliography is cited.  It
-would obviously be useful if this stage of the index compilation could
-be automated.  This note sketches a procedure for doing this using
-\BibTeX\ and \texttt{index.sty}.  There are essentially two parts:
-modifying the BST file to produce appopriate indexing information in
-the BBL file, and modifying the \verb+\cite+ command to make use of
-this information.
-
-The BST file should produce something like
-\begin{verbatim}
-    \bibitem{Adamowicz92}
-    \authorindexentries{Adamowicz92}{\do{Adamowicz, Zofia}}
-    Zofia Adamowicz.
-\end{verbatim}
-
-Then \verb+\authorindexentries+ could both execute its argument to
-produce index entries for the bibliography and also store the index
-entries for later retrieval by the \verb+\cite+ command.  This
-requires two new functions and a slight modification of one old
-function (\verb+output.bibitem+):
-\begin{verbatim}
-    FUNCTION {format.name.index.entry}
-    {
-        "\do{"
-        s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$
-        duplicate$ purify$ swap$ "@" swap$ * *
-        "}" * *
-    }
-
-    FUNCTION {format.author.index.entries}
-    {
-        author empty$
-            'skip$
-            { 
-                author 's :=
-                #1 'nameptr :=
-                s num.names$ 'numnames :=
-                "\authorindexentries{"
-                cite$ * 
-                "}{" *
-                numnames 'namesleft :=
-                { namesleft #0 > }
-                { format.name.index.entry *
-                    nameptr #1 + 'nameptr :=
-                    namesleft #1 - 'namesleft :=
-                }
-                while$
-                "}" * write$
-                newline$
-            }
-        if$
-    }
-
-    FUNCTION {output.bibitem}
-    { newline$
-      "\bibitem{" write$
-      cite$ write$
-      "}" write$
-      newline$
-      format.author.index.entries % modification
-      ""
-      before.all 'output.state :=
-    }
-\end{verbatim}
-These can be inserted into the bst file after the definition of
-\verb+format.names+.  (\verb+output.bibitem+ has to be moved from it's
-position earlier in the file.)
-
-A minimal definition of \verb+\authorindexentries+ can be found in the
-accompanying file \texttt{autind.sty}.
-
-The fun part is trying to modify the \verb+\cite+ command without
-assuming too much about how it is defined.  It would be nice if we
-could just type something like
-\begin{verbatim}
-    \adjustcitation\cite
-    \adjustcitation\citeasnoun
-\end{verbatim}
-and then have \verb+\cite+ and \verb+\citeasnoun+ automatically add
-the appropriate author index entries.  Assuming that the commands
-behave like the standard \LaTeX\ \verb+\cite+ command (i.e., they take
-one optional argument and one required argument, which is a list of
-citekeys), the \verb+\adjustcitation+ macro in \texttt{autind.sty} more
-or less does the job.
-
-The only other macro needed is \verb+\authorindex at cite+, which pulls
-in the author index entries from the appropriate
-\verb+\authorindexentries+ command.  This macro is also found in \texttt{autind.sty}.
-
-I've tried this approach on \texttt{plain.bst} and the standard
-\LaTeX\ \verb+\cite+ command and also on the \verb+\cite+ and
-\verb+\citeasnoun+ commands in \texttt{harvard.sty}, and it seems to
-work.  The accompanying files \texttt{plaintst.tex},
-\texttt{agsmtst.tex}, \texttt{test.bib}, \texttt{xplain.bst}, and
-\texttt{xagsm.bst} demonstrate the procedure.
-
-More testing is needed, but unless there's some major flaw that I'm
-overlooking, this should work with any citation commands that aren't
-too different from the standard \verb+\cite+ command and with any
-bibliography files that aren't too different from the standard styles.
-
-\end{document}

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

Added: trunk/Master/texmf-dist/doc/latex/index/manifest.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/index/manifest.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/index/manifest.txt	2025-02-05 20:43:00 UTC (rev 73738)
@@ -0,0 +1,5 @@
+README.md
+index.dtx
+index.ins
+index.pdf
+sample.tex


Property changes on: trunk/Master/texmf-dist/doc/latex/index/manifest.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/index/plaintst.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/index/plaintst.tex	2025-02-05 20:42:38 UTC (rev 73737)
+++ trunk/Master/texmf-dist/doc/latex/index/plaintst.tex	2025-02-05 20:43:00 UTC (rev 73738)
@@ -1,52 +0,0 @@
-%%  For format this file, run the following commands:
-%%  
-%%  latex plaintst.tex
-%%  bibtex plaintst.tex
-%%  latex plaintst.tex
-%%  latex plaintst.tex
-%%  makeindex -o plaintst.and plaintst.adx
-%%  makeindex -s bibref.ist -o plaintst.bnd plaintst.bdx
-%%  latex plaintst.tex
-
-\documentclass{article}
-
-\errorcontextlines10
-
-\usepackage{bibref,autind}
-
-\newindex{aut}{adx}{and}{Name Index}
-
-\begin{document}
-
-\adjustcitation\cite
-
-\nocite*
-
-\cite{CantoneCP90,Adamowicz92}
-
-\cite[page 21]{AdlemanMa76}
-
-\cite{CaludeP83}
-
-\newpage
-
-Second page.
-
-\cite{Adamowicz92}
-
-\cite[foo]{Baker68}
-
-\newpage
-
-Third page.
-
-\cite{Adamowicz92}
-
-\newpage
-
-\bibliographystyle{xplain}
-\bibliography{test}
-
-\printindex[aut]
-
-\end{document}

Modified: trunk/Master/texmf-dist/doc/latex/index/sample.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/index/sample.tex	2025-02-05 20:42:38 UTC (rev 73737)
+++ trunk/Master/texmf-dist/doc/latex/index/sample.tex	2025-02-05 20:43:00 UTC (rev 73738)
@@ -1,41 +1,3 @@
-%%
-%% This is file `sample.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% index.dtx  (with options: `sample')
-%% 
-%% IMPORTANT NOTICE:
-%% 
-%% For the copyright see the source file.
-%% 
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from sample.tex.
-%% 
-%% For distribution of the original source see the terms
-%% for copying and modification in the file index.dtx.
-%% 
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-%% \CheckSum{755}
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
 %% latex sample.tex
 %% makeindex sample
 %% makeindex -o sample.and sample.adx
@@ -127,6 +89,3 @@
 \printindex
 
 \end{document}
-\endinput
-%%
-%% End of file `sample.tex'.

Deleted: trunk/Master/texmf-dist/doc/latex/index/test.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/index/test.bib	2025-02-05 20:42:38 UTC (rev 73737)
+++ trunk/Master/texmf-dist/doc/latex/index/test.bib	2025-02-05 20:43:00 UTC (rev 73738)
@@ -1,121 +0,0 @@
- at string{JSYML = "Journal of Symbolic Logic"}
- at string{THEC5 = "Theoretical Computer Science"}
- at string{LNCS = {Lecture Notes in Computer Science}}
- at string{LNMATH = {Lecture Notes in Mathematics}}
- at string{PHITRA = "Philosophical Transactions of the Royal Society of
-London. Series A"}
- at string{REPPP = "Reports on Progress in Physics"}
- at string{RAIIT1 = "RAIRO Informatique Th\'eorique"}
- at string{iandc={Information and Control}}
-
- at Article{BraunmuhlCV83,
-title={The Recognition of Deterministic {CFL}'s in Small Time and
-Space},
-author={Burchard von Braunm{\"u}hl and Stephen Cook and Kurt Mehlhorn
-and Rutger Verbeek},
-pages={34--51},
-journal=iandc,
-month=jan # "/" # feb,
-year=1983,
-volume=56,
-number={1/2}
-}
-
- at InProceedings{CantoneCP90,
-author={D. Cantone and V. Cutello and A. Policrito},
-title={Set-theoretic reductions of {Hilbert's} {Tenth} {Problem}},
-pages={65--75},
-booktitle={CSL '89: 3rd Workshop on Computer Science Logic},
-editor={E. B{\"o}rger and H. Kleine B{\"u}ning and M. M. Richter},
-publisher={Springer-Verlag},
-series=lncs,
-year=1990,
-volume=440
-}
-
- at Article{Adamowicz92,
-title={A sharp version of the bounded {Matijasevich} conjecture and
-the end-extension problem},
-author={Zofia Adamowicz},
-journal=jsyml,
-volume=57,
-number=2,
-pages={597--616},
-year=1992,
-month=jun
-}
-
- at InProceedings{AdlemanMa76,
-title={Diophantine complexity},
-author={Leonard Adleman and Kenneth Manders},
-crossref={FOCS17},
-pages={81--88}
-}
-
- at Article{AlloucheSh92,
-title={The ring of $k$-regular sequences},
-author={Jean-Paul Allouche and Jeffrey Shallit},
-journal=THEC5,
-volume=98,
-number=2,
-pages={163-197},
-year=1992,
-month=may,
-comment=NEW1
-}
-
- at InProceedings{Azra71,
-author={{Jean-Pierre} Azra},
-title={Relations {Diophantiennes} et la solution n\'egative du 10e
-probl\`eme de {Hilbert}},
-booktitle={S\'eminaire Bourbaki---vol. 1970/71.  Expos\'es 382--399},
-series=lnmath,
-publisher={Springer-Verlag},
-volume=244,
-pages={11-28},
-year=1971,
-language=french
-}
-
- at Article{CaludeP83,
-title={Independent Instances for Some Undecidable Problems},
-author={Cristian Calude and Gheorghe P{\u{a}}un},
-journal=raiit1,
-year=1983,
-volume=17,
-number=1,
-pages={49-54}
-}
-
- at Article{Baker68,
-title={Contributions to the theory of {Diophantine} equations {I}. {On}
-the representation of integers by binary forms},
-author={A. Baker},
-year=1968,
-journal=phitra,
-volume=263,
-number=1139,
-pages={173-191}
-}
-
- at Article{BartonFi72a,
-title={Applications of algebraic manipulation programs in physics},
-author={D. Barton and J. P. Fitch},
-journal=reppp,
-year=1972,
-volume=35,
-number=3,
-pages={235-314}
-}
-
- at Proceedings{FOCS17,
-title={$17^{\it th}$ Annual Symposium on Foundations of Computer
-Science},
-booktitle={$17^{\it th}$ Annual Symposium on Foundations of Computer
-Science},
-year=1976,
-address={Houston, Texas},
-month={25--26 } # oct,
-organization={IEEE},
-crossrefonly=1
-}

Modified: trunk/Master/texmf-dist/source/latex/index/index.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/index/index.dtx	2025-02-05 20:42:38 UTC (rev 73737)
+++ trunk/Master/texmf-dist/source/latex/index/index.dtx	2025-02-05 20:43:00 UTC (rev 73738)
@@ -1,85 +1,37 @@
-% \iffalse
-% ====================================================================
-%  @LaTeX-style-file{
-%     filename        = "index.dtx",
-%     version         = "4.02beta",
-%     date            = "20 January 2004",
-%     time            = "21:15:11 EST",
-%     author          = "David M. Jones",
-%     address         = "MIT Laboratory for Computer Science
-%                        Room NE43-316
-%                        545 Technology Square
-%                        Cambridge, MA 02139
-%                        USA",
-%     telephone       = "(617) 253-5936",
-%     FAX             = "(617) 253-3480",
-%     checksum        = "39539 1398 6018 50774",
-%     email           = "dmjones at theory.lcs.mit.edu",
-%     codetable       = "ISO/ASCII",
-%     keywords        = "LaTeX, index",
-%     supported       = "yes",
-%     docstring       = "This is a reimplementation of LaTeX's
-%                        indexing macros to provide better support
-%                        for indexing in LaTeX.  For example, it
-%                        supports multiple indexes in a single
-%                        document and provides a more robust \index
-%                        command.
+% \def\filename{index.dtx}
+% \def\fileversion{4.03}
+% \def\filedate{2025/02/03}
+
+% \iffalse meta-comment
 %
-%                        The checksum field above contains a CRC-16
-%                        checksum as the first value, followed by
-%                        the equivalent of the standard UNIX wc
-%                        (word count) utility output of lines,
-%                        words, and characters.  This is produced
-%                        by Robert Solovay's checksum utility.",
+% David M. Jones
+% dmjones at alum.mit.edu
 %
-%  }
-% ====================================================================
+% Copyright 2024, 2025 David M. Jones
 %
-% This file may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.2
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
 % of this license or (at your option) any later version.
 % The latest version of this license is in
-%    http://www.latex-project.org/lppl.txt
-% and version 1.2 or later is part of all distributions of LaTeX
-% version 1999/12/01 or later.
+%   https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
 %
 %    CAUTION: Use only as directed.  Do not take internally.  May cause
 %    rash if applied directly to skin.  Federal law prohibits distributing
 %    without a proscription.
 %
+% This work has the LPPL maintenance status `maintained'.
+% 
+% The Current Maintainer of this work is David M. Jones.
+%
 % \fi
 %
-%% \CheckSum{755}
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
-%
-%    \iffalse
-%    \begin{macrocode}
+% \iffalse
 %<*driver>
-\ProvidesFile{index.dtx}[1995/09/28 v4.1beta Improved index support (dmj)]
-%</driver>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%<*driver>
+\NeedsTeXFormat{LaTeX2e}
 \documentclass{ltxdoc}
-\def\docdate {7 March 1994}
-%    \end{macrocode}
-%    We don't want everything to appear in the index
-%    \begin{macrocode}
+
 \DoNotIndex{\!,\/,\?,\@,\^,\_}
 \DoNotIndex{\@@par,\@M,\@auxout,\@bsphack,\@esphack,\@depth,\@ehc}
 \DoNotIndex{\@for,\@flushglue,\@gobble,\@gobbletwo,\@height,\@idxitem}
@@ -109,14 +61,9 @@
 \DoNotIndex{\tableofcontents,\the,\thepage,\thispagestyle,\toks,\tt}
 \DoNotIndex{\twocolumn,\uppercase,\vbox,\vrule,\vskip,\vss}
 \DoNotIndex{\write,\z@,\z at skip}
-%    \end{macrocode}
-%  Some useful macros and parameter settings:
-%    \begin{macrocode}
 
 \setcounter{StandardModuleDepth}{1}
 
-\GetFileInfo{index.dtx}
-
 \newcommand*{\email}[1]{$\langle$\texttt{#1}$\rangle$}
 \newcommand*{\vdate}[1]{$\langle$#1$\rangle$}
 \newcommand*{\bundle}[1]{\texttt{#1}}
@@ -128,29 +75,25 @@
 \newcommand*{\pck}[1]{\texttt {#1}}
 \newcommand*{\file}[1]{\texttt {#1}}
 \CodelineIndex
-%    \end{macrocode}
-%    And the document itself:
-%    \begin{macrocode}
+
+\title{A new implementation of \LaTeX's indexing commands}
+
+\author{David M. Jones}
+
+\date{\filedate}
+
 \begin{document}
+
 \DocInput{index.dtx}
+
 \PrintIndex
+
 % ^^A\PrintChanges
+
 \end{document}
 %</driver>
-%    \end{macrocode}
+% \fi
 %
-%    \fi
-%
-%    \title{A new implementation of \LaTeX's indexing
-%        commands\thanks{This file has version number \fileversion,
-%        last revised \filedate, documentation dated \docdate.  The
-%        definitive version of this file is at
-%        \file{ftp://theory.lcs.mit.edu/pub/tex/index/}.}}
-%
-%    \author{David M. Jones}
-%
-%    \date{\filedate}
-%
 %    \maketitle
 %
 %    \section{Introduction}
@@ -461,9 +404,9 @@
 %    As is customary, identify this as a \LaTeXe\ package.
 %    \begin{macrocode}
 %<*style>
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\NeedsTeXFormat{LaTeX2e}[2024/11/01]
 
-\ProvidesPackage{index}[2004/01/20 v4.2beta Improved index support (dmj)]
+\ProvidesPackage{index}[2025/02/03 v4.03 Improved index support (dmj)]
 %    \end{macrocode}
 %
 %    \begin{macro}{\disableindex}
@@ -604,11 +547,14 @@
 %    \end{macrocode}
 %    \end{macro}
 %
+%    \begin{macro}{\@first}
 %    \begin{macro}{\@second}
 %    \begin{macro}{\@third}
-%    These are useful macros for retrieving the second and third field
+%    These are useful macros for retrieving individual components
 %    of an index specification.
 %    \begin{macrocode}
+\def\@first#1:#2:#3\@nil{#1}
+
 \def\@second#1:#2:#3\@nil{#2}
 
 \def\@third#1:#2:#3\@nil{#3}
@@ -615,6 +561,7 @@
 %    \end{macrocode}
 %    \end{macro}
 %    \end{macro}
+%    \end{macro}
 %
 %    \begin{macro}{\@nearverbatim}
 %    |\@nearverbatim\foo| is much like |\meaning\foo|,
@@ -870,10 +817,16 @@
         {\@latexerr{Index type `\string#1' undefined}\@ehc}%
         {%
             \edef\@tempa{\@nameuse{idx@#1}}%
-            \edef\@tempa{%
-                \noexpand\@input@{\jobname.\expandafter\@second\@tempa\@nil}%
+            \edef\@tempb{%
+                \jobname.\expandafter\@second\@tempa\@nil
             }%
-            \@tempa
+            \edef\@tempc{%
+                \jobname.\expandafter\@first\@tempa\@nil
+            }%
+            \InputIfFileExists{\@tempb}{}{%
+                \typeout{No file \@tempb: Run makeindex -o
+                    \@tempb \space \@tempc}%
+            }%
         }%
 }
 %    \end{macrocode}
@@ -1137,46 +1090,97 @@
 %
 %    This time, the only change is to remove \cs{index} from the list
 %    of macros that are \cs{let} equal to \cs{relax}.
+%
+%    \cs{markboth} and \cs{markright} are now defined using
+%    \cs{DeclareRobustCommand}, which means that before we can use
+%    \cs{CheckCommand}, we have to break open \cs{markboth} and
+%    \cs{markright} to get to the chewy inner centers, \verb*+\markboth +
+%    and \verb*+\markright +.
 %    \begin{macrocode}
-\CheckCommand*{\markboth}[2]{%
+\begingroup
+
+\def\@tempa#1{%
+    \begingroup
+        \edef\@tempa{%
+            \let \expandafter\noexpand\csname#1\endcsname
+                  \expandafter\noexpand\csname#1 \endcsname
+        }%
+        \expandafter
+    \endgroup
+    \@tempa
+}
+
+\@tempa{markboth}
+\@tempa{markright}
+
+\ExplSyntaxOn
+
+\CheckCommand*\markboth[2]{%
   \begingroup
     \let\label\relax \let\index\relax \let\glossary\relax
     \unrestored at protected@xdef\@themark {{#1}{#2}}%
     \@temptokena \expandafter{\@themark}%
+    \mark_insert:nn{2e-left}{#1}
+    \mark_insert:nn{2e-right}{#2}
+    \tl_if_empty:nF{#2}{ \mark_insert:nn{2e-right-nonempty}{#2} }
     \mark{\the\@temptokena}%
   \endgroup
   \if at nobreak\ifvmode\nobreak\fi\fi}
-\CheckCommand*{\markright}[1]{%
+
+\CheckCommand*\markright[1]{%
   \begingroup
     \let\label\relax \let\index\relax \let\glossary\relax
     \expandafter\@markright\@themark {#1}%
     \@temptokena \expandafter{\@themark}%
+    \mark_insert:nn{2e-right}{#1}
+    \tl_if_empty:nF{#1}{ \mark_insert:nn{2e-right-nonempty}{#1} }
     \mark{\the\@temptokena}%
   \endgroup
   \if at nobreak\ifvmode\nobreak\fi\fi}
 
-\renewcommand{\markboth}[2]{%
+\ExplSyntaxOff
+
+\endgroup
+
+\ExplSyntaxOn
+
+\DeclareRobustCommand*\markboth[2]{%
   \begingroup
     \let\label\relax \let\glossary\relax
     \unrestored at protected@xdef\@themark {{#1}{#2}}%
     \@temptokena \expandafter{\@themark}%
+    \mark_insert:nn{2e-left}{#1}
+    \mark_insert:nn{2e-right}{#2}
+    \tl_if_empty:nF{#2}{ \mark_insert:nn{2e-right-nonempty}{#2} }
     \mark{\the\@temptokena}%
   \endgroup
   \if at nobreak\ifvmode\nobreak\fi\fi}
 
-\renewcommand{\markright}[1]{%
+\DeclareRobustCommand*\markright[1]{%
   \begingroup
     \let\label\relax \let\glossary\relax
     \expandafter\@markright\@themark {#1}%
     \@temptokena \expandafter{\@themark}%
+    \mark_insert:nn{2e-right}{#1}
+    \tl_if_empty:nF{#1}{ \mark_insert:nn{2e-right-nonempty}{#1} }
     \mark{\the\@temptokena}%
   \endgroup
   \if at nobreak\ifvmode\nobreak\fi\fi}
+
+\ExplSyntaxOff
 %</style>
 %    \end{macrocode}
 %    \end{macro}
 %    \end{macro}
 %
+%    \section{Finale}
+%
+%    The usual \cs{endinput} to ensure that random garbage at the end of
+%    the file doesn't get copied by \texttt{docstrip}.
+%    \begin{macrocode}
+\endinput
+%    \end{macrocode}
+%
 %    \section{Edit history}
 %
 %    \begin{description}
@@ -1290,109 +1294,6 @@
 %
 %    \item[??? (5 Jan 2004)]
 %
-%
 % \end{description}
-%
-% \DisableCrossrefs
-%
-% \section{The sample file}
-%
-%    \begin{macrocode}
-%<*sample>
-%% latex sample.tex
-%% makeindex sample
-%% makeindex -o sample.and sample.adx
-%% makeindex -o sample.nnd sample.ndx
-%% makeindex -o sample.lnd sample.ldx
-%% latex sample.tex
 
-\documentclass{book}
-\usepackage{index}
-
-\listfiles
-
-\makeindex
-\newindex{aut}{adx}{and}{Name Index}
-\newindex{not}{ndx}{nnd}{List of Notation}
-
-\newindex[theenumi]{list}{ldx}{lnd}{Items}
-
-\shortindexingon
-
-\proofmodetrue
-
-\def\aindex{\index*[aut]}
-
-\begin{document}
-
-\tableofcontents
-
-\newpage
-
-\chapter{Here is a ^[aut]{chapter} title}
-
-\section{Section header\index[aut]{section}}
-
-Here is some text.\index{subject}
-
-Here is \index[not]{notation}some more \index[not]{sin@$\sin$}
-text.
-
-\newpage
-
-Here is some ^{more} _[not]{notation} text.
-
-Here is yet more \aindex{text}.
-
-\section{Another Section header _[aut]{section2}}
-
-And here is some math: $x^1_b$.
-
-Here is an ^[aut]{index} entry \fbox{inside an
-\index[not]{min@$\min$}fbox}
-
-\fbox{Here is an ^[aut]{entry} in a box.}
-
-\section{An indexed list environment}
-
-\begin{enumerate}
-
-\item
-First item
-
-\item
-Second item\index[list]{second item}
-
-\item
-Third item
-
-\newpage
-
-\item
-Fourth item
-
-\item
-Fifth item\index[list]{fifth item}
-
-\item
-Sixth item
-
-\end{enumerate}
-
-\printindex[not]
-
-\printindex[aut][Here is a prologue for the author index.
-Note that it is set in a single column at the top of the
-first page of the index.]
-
-\printindex[list]
-
-\printindex
-
-\end{document}
-%</sample>
-%    \end{macrocode}
-%
-% \Finale
-%
 \endinput

Modified: trunk/Master/texmf-dist/source/latex/index/index.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/index/index.ins	2025-02-05 20:42:38 UTC (rev 73737)
+++ trunk/Master/texmf-dist/source/latex/index/index.ins	2025-02-05 20:43:00 UTC (rev 73738)
@@ -1,8 +1,34 @@
-\def\batchfile{index.ins}
 \input docstrip.tex
 
-\generateFile{index.sty}{t}{\from{index.dtx}{style}}
+\askforoverwritefalse
 
-\generateFile{sample.tex}{t}{\from{index.dtx}{sample}}
+\keepsilent
 
-\endinput
+\preamble
+
+David M. Jones
+dmjones at alum.mit.edu
+
+Copyright 2024, 2025 David M. Jones
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+  https://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is David M. Jones.
+
+\endpreamble
+
+\usedir{tex/latex/index}
+
+\generate{
+    \file{index.sty}{\from{index.dtx}{style}}
+}
+
+\endbatchfile

Deleted: trunk/Master/texmf-dist/tex/latex/index/autind.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/index/autind.sty	2025-02-05 20:42:38 UTC (rev 73737)
+++ trunk/Master/texmf-dist/tex/latex/index/autind.sty	2025-02-05 20:43:00 UTC (rev 73738)
@@ -1,80 +0,0 @@
-%%% ====================================================================
-%%%  @LaTeX-style-file{
-%%%     filename        = "autind.sty",
-%%%     version         = "1.0beta",
-%%%     date            = "28 September 1995",
-%%%     time            = "23:00:49 EDT",
-%%%     author          = "David M. Jones",
-%%%     address         = "MIT Laboratory for Computer Science
-%%%                        Room NE43-316
-%%%                        545 Technology Square
-%%%                        Cambridge, MA 02139
-%%%                        USA",
-%%%     telephone       = "(617) 253-5936",
-%%%     FAX             = "(617) 253-3480",
-%%%     checksum        = "41079 80 198 2750",
-%%%     email           = "dmjones at theory.lcs.mit.edu",
-%%%     codetable       = "ISO/ASCII",
-%%%     keywords        = "",
-%%%     supported       = "yes",
-%%%     abstract        = "",
-%%%     docstring       = "See autind.tex for documentation.
-%%%
-%%%                        The checksum field above contains a CRC-16
-%%%                        checksum as the first value, followed by the
-%%%                        equivalent of the standard UNIX wc (word
-%%%                        count) utility output of lines, words, and
-%%%                        characters.  This is produced by Robert
-%%%                        Solovay's checksum utility.",
-%%%  }
-%%% ====================================================================
-
-\def\authorindextag{aut}
-
-\def\authorindex at cite#1{%
-    \begingroup
-        \def\do{\index[\authorindextag]}%
-        \@for\@tempa:=#1\do{%
-            \csname b at autind@\@tempa\endcsname
-        }%
-    \endgroup
-}
-
-\def\authorindexentries#1#2{%
-    \if at filesw
-        \def\@tempa{#2}%
-        \edef\@tempa{%
-            \write\@auxout{%
-                \string\bibcite{autind@#1}{\@nearverbatim\@tempa}%
-            }%
-        }%
-        \@tempa
-    \fi
-    \begingroup
-        \def\do{\index[\authorindextag]}%
-        #2%
-    \endgroup
-}
-
-\def\adjustcitation#1{%
-    \edef\@tempa{\string#1}%
-    \edef\@tempb{%
-        \let\expandafter\noexpand\csname ord@\@tempa\endcsname\noexpand#1%
-        \def\noexpand#1{%
-            \noexpand\@ifnextchar [
-                {\expandafter\noexpand\csname a@\@tempa\endcsname}
-                {\expandafter\noexpand\csname b@\@tempa\endcsname}%
-        }%
-        \def\expandafter\noexpand\csname a@\@tempa\endcsname[####1]####2{%
-            \noexpand\authorindex at cite{####2}%
-            \expandafter\noexpand\csname ord@\@tempa\endcsname[####1]{####2}%
-        }%
-        \def\expandafter\noexpand\csname b@\@tempa\endcsname ####1{%
-            \noexpand\authorindex at cite{####1}%
-            \expandafter\noexpand\csname ord@\@tempa\endcsname{####1}%
-        }%
-    }%
-    \@tempb
-}
-
-\endinput

Deleted: trunk/Master/texmf-dist/tex/latex/index/bibref.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/index/bibref.sty	2025-02-05 20:42:38 UTC (rev 73737)
+++ trunk/Master/texmf-dist/tex/latex/index/bibref.sty	2025-02-05 20:43:00 UTC (rev 73738)
@@ -1,117 +0,0 @@
-%%% ====================================================================
-%%%  @LaTeX-style-file{
-%%%     filename        = "bibref.sty",
-%%%     version         = "1.0beta",
-%%%     date            = "29 September 1995",
-%%%     time            = "14:36:27 EDT",
-%%%     author          = "David M. Jones",
-%%%     address         = "MIT Laboratory for Computer Science
-%%%                        Room NE43-316
-%%%                        545 Technology Square
-%%%                        Cambridge, MA 02139
-%%%                        USA",
-%%%     telephone       = "(617) 253-5936",
-%%%     FAX             = "(617) 253-3480",
-%%%     checksum        = "21394 117 377 3498",
-%%%     email           = "dmjones at theory.lcs.mit.edu",
-%%%     codetable       = "ISO/ASCII",
-%%%     keywords        = "",
-%%%     supported       = "yes",
-%%%     abstract        = "",
-%%%     docstring       = "The checksum field above contains a CRC-16
-%%%                        checksum as the first value, followed by the
-%%%                        equivalent of the standard UNIX wc (word
-%%%                        count) utility output of lines, words, and
-%%%                        characters.  This is produced by Robert
-%%%                        Solovay's checksum utility.",
-%%%  }
-%%% ====================================================================
-
-%%  This is an experimental package to support back references from
-%%  reference sections to the pages where individual items are cited.
-%%  I.e., the reference section would
-%%
-%%      Zofia Adamowicz.  A sharp version of the bounded
-%%      {Matijasevich} conjecture and the end-extension problem.
-%%      Journal of Symbolic Logic}, 57(2):597--616, June 1992.  (pages
-%%      1, 3-5, 54)
-%%
-%%  if that item were cited on pages 1, 3, 4, 5 and 54.
-%%
-%%  To use this feature, you'll need to make a small change to your
-%%  BibTeX bibliography style file.  In the standard styles, all that
-%%  is needed is to modify the function fin.entry as follows:
-%%
-%%      FUNCTION {fin.entry}
-%%      { add.period$
-%%        write$
-%%          "\bibref{" cite$ "}" * * write$ % added line
-%%        newline$
-%%      }
-%%
-%%  Then load the bibref package by adding
-%%
-%%      \usepackage{bibref}
-%%
-%%  to your document preamble, and run LaTeX as normal.  After running
-%%  LaTeX, invoke makeindex as follows:
-%%
-%%      makeindex -s bibref.ist -o <jobname>.bnd <jobname>.bdx
-%%
-%%  The next time you run LaTeX, the back-references should magically
-%%  appear.
-%%
-%%  See plaintst.tex and xplain.bst for an example.
-
-\RequirePackage{index}
-
-\newindex{@bib}{bdx}{bnd}{}
-
-\newcommand{\biblabel}[2]{%
-    \global\@namedef{br@#1}{#2}%
-}
-
-\newcommand{\bibref}[1]{%
-    \unskip\space
-    \@ifundefined{br@#1}{%
-%        (\textbf{??})%
-    }{%
-        \edef\reserved at a{\@nameuse{br@#1}}%
-        \afterassignment\@bibref\count@\reserved at a\relax\@nil
-    }%
-}
-
-\def\@bibref#1\@nil{%
-    \if\relax#1%
-        (page~\reserved at a)%
-    \else
-        (pages~\reserved at a)%
-    \fi
-}
-
-\let\@@cite\cite
-
-\renewcommand{\cite}[2][]{%
-    \@for\@citea:=#2\do{%
-        \edef\reserved at a{%
-            \noexpand\index[@bib]{\@citea}%
-        }%
-        \reserved at a
-    }%
-    \def\reserved at a{#1}%
-    \ifx\reserved at a\@empty
-        \@@cite{#2}%
-    \else
-        \@@cite[#1]{#2}%
-    \fi
-}
-
-\renewcommand{\bibliography}[1]{%
-    \if at filesw
-        \immediate\write\@auxout{\string\bibdata{#1}}%
-      \fi
-      \@input@{\jobname.bnd}%
-      \@input@{\jobname.bbl}%
-}
-
-\endinput

Modified: trunk/Master/texmf-dist/tex/latex/index/index.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/index/index.sty	2025-02-05 20:42:38 UTC (rev 73737)
+++ trunk/Master/texmf-dist/tex/latex/index/index.sty	2025-02-05 20:43:00 UTC (rev 73738)
@@ -6,39 +6,27 @@
 %%
 %% index.dtx  (with options: `style')
 %% 
-%% IMPORTANT NOTICE:
+%% David M. Jones
+%% dmjones at alum.mit.edu
 %% 
-%% For the copyright see the source file.
+%% Copyright 2024, 2025 David M. Jones
 %% 
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from index.sty.
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
 %% 
-%% For distribution of the original source see the terms
-%% for copying and modification in the file index.dtx.
+%% This work has the LPPL maintenance status `maintained'.
 %% 
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-%% \CheckSum{755}
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+%% The Current Maintainer of this work is David M. Jones.
+%% 
 
-\ProvidesPackage{index}[2004/01/20 v4.2beta Improved index support (dmj)]
+\NeedsTeXFormat{LaTeX2e}[2024/11/01]
+
+\ProvidesPackage{index}[2025/02/03 v4.03 Improved index support (dmj)]
 \def\disableindex#1{%
     \@for\@tempa:=#1\do{%
         \@namedef{disable@\@tempa}{}%
@@ -117,6 +105,8 @@
     \fi
     \expandafter\csname idxtitle@#2\endcsname
 }
+\def\@first#1:#2:#3\@nil{#1}
+
 \def\@second#1:#2:#3\@nil{#2}
 
 \def\@third#1:#2:#3\@nil{#3}
@@ -273,10 +263,16 @@
         {\@latexerr{Index type `\string#1' undefined}\@ehc}%
         {%
             \edef\@tempa{\@nameuse{idx@#1}}%
-            \edef\@tempa{%
-                \noexpand\@input@{\jobname.\expandafter\@second\@tempa\@nil}%
+            \edef\@tempb{%
+                \jobname.\expandafter\@second\@tempa\@nil
             }%
-            \@tempa
+            \edef\@tempc{%
+                \jobname.\expandafter\@first\@tempa\@nil
+            }%
+            \InputIfFileExists{\@tempb}{}{%
+                \typeout{No file \@tempb: Run makeindex -o
+                    \@tempb \space \@tempc}%
+            }%
         }%
 }
 \def\@indexstar@{\index*}
@@ -396,40 +392,77 @@
         \old at starttoc{#1}%
     \endgroup
 }
-\CheckCommand*{\markboth}[2]{%
+\begingroup
+
+\def\@tempa#1{%
+    \begingroup
+        \edef\@tempa{%
+            \let \expandafter\noexpand\csname#1\endcsname
+                  \expandafter\noexpand\csname#1 \endcsname
+        }%
+        \expandafter
+    \endgroup
+    \@tempa
+}
+
+\@tempa{markboth}
+\@tempa{markright}
+
+\ExplSyntaxOn
+
+\CheckCommand*\markboth[2]{%
   \begingroup
     \let\label\relax \let\index\relax \let\glossary\relax
     \unrestored at protected@xdef\@themark {{#1}{#2}}%
     \@temptokena \expandafter{\@themark}%
+    \mark_insert:nn{2e-left}{#1}
+    \mark_insert:nn{2e-right}{#2}
+    \tl_if_empty:nF{#2}{ \mark_insert:nn{2e-right-nonempty}{#2} }
     \mark{\the\@temptokena}%
   \endgroup
   \if at nobreak\ifvmode\nobreak\fi\fi}
-\CheckCommand*{\markright}[1]{%
+
+\CheckCommand*\markright[1]{%
   \begingroup
     \let\label\relax \let\index\relax \let\glossary\relax
     \expandafter\@markright\@themark {#1}%
     \@temptokena \expandafter{\@themark}%
+    \mark_insert:nn{2e-right}{#1}
+    \tl_if_empty:nF{#1}{ \mark_insert:nn{2e-right-nonempty}{#1} }
     \mark{\the\@temptokena}%
   \endgroup
   \if at nobreak\ifvmode\nobreak\fi\fi}
 
-\renewcommand{\markboth}[2]{%
+\ExplSyntaxOff
+
+\endgroup
+
+\ExplSyntaxOn
+
+\DeclareRobustCommand*\markboth[2]{%
   \begingroup
     \let\label\relax \let\glossary\relax
     \unrestored at protected@xdef\@themark {{#1}{#2}}%
     \@temptokena \expandafter{\@themark}%
+    \mark_insert:nn{2e-left}{#1}
+    \mark_insert:nn{2e-right}{#2}
+    \tl_if_empty:nF{#2}{ \mark_insert:nn{2e-right-nonempty}{#2} }
     \mark{\the\@temptokena}%
   \endgroup
   \if at nobreak\ifvmode\nobreak\fi\fi}
 
-\renewcommand{\markright}[1]{%
+\DeclareRobustCommand*\markright[1]{%
   \begingroup
     \let\label\relax \let\glossary\relax
     \expandafter\@markright\@themark {#1}%
     \@temptokena \expandafter{\@themark}%
+    \mark_insert:nn{2e-right}{#1}
+    \tl_if_empty:nF{#1}{ \mark_insert:nn{2e-right-nonempty}{#1} }
     \mark{\the\@temptokena}%
   \endgroup
   \if at nobreak\ifvmode\nobreak\fi\fi}
+
+\ExplSyntaxOff
 \endinput
 %%
 %% End of file `index.sty'.



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