summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/amslatex/other/amsmidx.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/amslatex/other/amsmidx.sty')
-rw-r--r--Master/texmf-dist/doc/latex/amslatex/other/amsmidx.sty82
1 files changed, 82 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/amslatex/other/amsmidx.sty b/Master/texmf-dist/doc/latex/amslatex/other/amsmidx.sty
new file mode 100644
index 00000000000..9fd19b0a06e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/amslatex/other/amsmidx.sty
@@ -0,0 +1,82 @@
+% amsmidx.sty
+% 2001/09/26
+% preliminary version
+%
+% Package for use with AMS document classes to produce multiple indexes
+%
+% Adapted from multind.sty (version 1.1b, 31 August 1991), by F.W. Long
+
+% Modified \makeindex and \index commands to allow multiple indexes
+% The first argument of \makeindex and \index is the index file name.
+% These commands now work more like \@starttoc and \addcontentsline.
+% \index is no longer defined inside \makeindex but determines whether
+% the appropriate file is defined before writing to it.
+
+\def\makeindex#1{\begingroup
+ \makeatletter
+ \if@filesw \expandafter\newwrite\csname #1@idxfile\endcsname
+ \expandafter\immediate\openout \csname #1@idxfile\endcsname #1.idx\relax
+ \typeout{Writing index file #1.idx }\fi \endgroup}
+
+\def\index#1{\@bsphack
+ \begingroup
+ \def\protect##1{\string##1\space}\@sanitize
+ \@wrindex{#1}}
+
+% \@wrindex now checks that the appropriate file is defined.
+
+\def\@wrindex#1#2{\let\thepage\relax
+ \xdef\@gtempa{\@ifundefined{#1@idxfile}{}{%
+ \expandafter\write\csname #1@idxfile\endcsname
+ {\string\indexentry{#2}{\thepage}}}}%
+ \endgroup\@gtempa
+ \if@nobreak \ifvmode\nobreak\fi\fi
+ \@esphack}
+
+% Modified \printindex command to accept the name of an index file.
+
+\renewcommand{\printindex}[1]{\@input{#1.ind}}
+
+% Alternate command with new name:
+% \Printindex locally modifies some formatting commands for an improved
+% appearance, sets the index title and reads in the requested index file.
+% #1 = file name, #2 = index title
+
+\newcommand\Printindex[2]{%
+ \begingroup
+ \cleardoublepage
+ \def\indexname{#2}%
+ \raggedright
+ \hyphenpenalty=10000
+ \renewcommand{\seename}{see~also}
+ \renewcommand{\subitem}{\par\hangindent 3em\hspace*{1em}}
+ \@input{#1.ind}%
+ \endgroup
+}
+
+\endinput
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+Instructions for using amsmidx.sty
+
+Put these commands in the preamble:
+
+ \usepackage{amsmidx}
+ \makeindex{filename-a}
+ \makeindex{filename-b}
+
+To identify the index entries in the text:
+
+ \index{filename-a}{index term}
+ \index{filename-b}{index term}
+
+In the backmatter, where the indexes are to appear:
+
+ \Printindex{filename-a}{First Index}
+ \Printindex{filename-b}{Second Index}
+
+Two files of index terms, filename-a.idx and filename-b.idx, will be
+generated. To sort the index terms, process the two .idx files
+separately with Makeindex; this will create the files filename-a.ind
+and filename-b.ind, which will in turn be input by \Printindex.