% \iffalse meta-comment
%
% Copyright 1993 1994 1995 1996 1997
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
% For further copyright information, and conditions for modification
% and distribution, see the file legal.txt, and any other copyright
% notices in this file.
%
% This file is part of the LaTeX2e system.
% ----------------------------------------
% This system is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%
% For error reports concerning UNCHANGED versions of this file no
% more than one year old, see bugs.txt.
%
% Please do not request updates from us directly. Primary
% distribution is through the CTAN archives.
%
%
% IMPORTANT COPYRIGHT NOTICE:
%
% You are NOT ALLOWED to distribute this file alone.
%
% You are allowed to distribute this file under the condition that it
% is distributed together with all the files listed in manifest.txt.
%
% If you receive only some of these files from someone, complain!
%
%
% Permission is granted to copy this file to another file with a
% clearly different name and to customize the declarations in that
% copy to serve the needs of your installation, provided that you
% comply with the conditions in the file legal.txt.
%
% However, NO PERMISSION is granted to produce or to distribute a
% modified version of this file under its original name.
%
% You are NOT ALLOWED to change this file.
%
%
%
% \fi
% \iffalse
%%% From File: ltidxglo.dtx
%
%<*driver>
% \fi
\ProvidesFile{ltidxglo.dtx}
[1996/01/20 v1.1e LaTeX Kernel (Index and Glossary)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltidxglo.dtx}
\title{\filename}
\date{\filedate}
\author{%
Johannes Braams\and
David Carlisle\and
Alan Jeffrey\and
Leslie Lamport\and
Frank Mittelbach\and
Chris Rowley\and
Rainer Sch\"opf}
\begin{document}
\maketitle
\DocInput{\filename}
\end{document}
%</driver>
% \fi
%
% \CheckSum{77}
%
% \section{Index and Glossary Generation}
% Index and Glossary commands.
%
% \DescribeMacro{\makeindex} A preamble command to turn on indexing.
%
% \DescribeMacro{\makeglossary} A preamble command to turn on making
% glossary entries.
%
% \DescribeMacro{\index} Make an index entry for |#1|.
%
% \DescribeMacro{\glossary} Make a glossary entry for |#1|.
%
% \StopEventually{}
%
%
% \changes{v1.0a}{1994/03/31}{Initial version of ltidxbib.dtx,
% split from ltherest.dtx}
% \changes{v1.1a}{1994/05/19}{Initial version of ltidxglo.dtx,
% split from ltidxbib.dtx}
% \changes{v1.1d}{1995/10/25}{Doc cleanup}
%
%
% \begin{oldcomments}
% \makeindex ==
% BEGIN
% \index == BEGIN \@bsphack
% \begingroup
% \protect{X} == \string X\space
% %% added 3 Feb 87 for \index commands
% %% in \footnotes
% re-\catcode special characters
% to 'other'
% \@wrindex
% END
%
% \@wrindex{ITEM} ==
% BEGIN
% write of {\indexentry{ITEM}{page number}}
% \endgroup
% \@esphack
% END
%
% INITIALIZATION:
%
% \index == BEGIN \@bsphack
% \begingroup
% re-\catcode special characters (in case '%' there)
% \@index
% END
%
% \@index{ITEM} == BEGIN \endgroup \@esphack END
%
% Changes made 14 Apr 89 to write \glossaryentry's instead of
% \indexentry's on the .glo file.
% \end{oldcomments}
%
% \begin{macrocode}
%<*2ekernel>
\message{index,}
% \end{macrocode}
%
% \changes{v1.1b}{1994/11/04}{Removed \cs{if@filesw} from
% \cs{makeindex}.}
%
% \begin{macro}{\makeindex}
% \begin{macrocode}
\def\makeindex{%
\newwrite\@indexfile
\immediate\openout\@indexfile=\jobname.idx
\def\index{\@bsphack\begingroup
\@sanitize
\@wrindex}\typeout
{Writing index file \jobname.idx}%
% \end{macrocode}
% \changes{v1.1e}{1996/01/20}{Make no-op after use pr/2048}
% Opening the write channel should be done only once
% since on some OS multiple opens are forbidden and in
% any case it is useless. So we turn this into a no-op after
% use.
% \begin{macrocode}
\let\makeindex\@empty
}
\@onlypreamble\makeindex
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@wrindex}
% \changes{v1.1b}{1994/11/04}{Added \cs{protected@write} to
% \cs{@wrindex}.}
% \begin{macrocode}
\def\@wrindex#1{%
\protected@write\@indexfile{}%
{\string\indexentry{#1}{\thepage}}%
\endgroup
\@esphack}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\index}
% \begin{macrocode}
\def\index{\@bsphack\begingroup \@sanitize\@index}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@index}
% \begin{macrocode}
\def\@index#1{\endgroup\@esphack}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\makeglossary}
% \changes{v1.1b}{1994/11/04}{Removed \cs{if@filesw} from
% \cs{makeglossary}.}
% \begin{macrocode}
\def\makeglossary{%
\newwrite\@glossaryfile
\immediate\openout\@glossaryfile=\jobname.glo
\def\glossary{\@bsphack\begingroup
\@sanitize
\@wrglossary}\typeout
{Writing glossary file \jobname.glo }%
% \end{macrocode}
% \changes{v1.1e}{1996/01/20}{Make no-op after use pr/2048}
% Opening the write channel should be done only once
% since on some OS multiple opens are forbidden and in
% any case it is useless. So we turn this into a no-op after
% use.
% \begin{macrocode}
\let\makeglossary\@empty
}
\@onlypreamble\makeglossary
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@wrglossary}
% \changes{v1.1b}{1994/11/04}{Added \cs{protected@write} to
% \cs{@wrglossary}.}
% \begin{macrocode}
\def\@wrglossary#1{%
\protected@write\@glossaryfile{}%
{\string\glossaryentry{#1}{\thepage}}%
\endgroup
\@esphack}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\glossary}
% \begin{macrocode}
\def\glossary{\@bsphack\begingroup\@sanitize\@index}
% \end{macrocode}
% \end{macro}
%
% \begin{macrocode}
%</2ekernel>
% \end{macrocode}
%
%
% \Finale
%
|