% \iffalse meta-comment
%
% Copyright 1994 the LaTeX3 project and the individual authors.
% All rights reserved. For further copyright information see the file
% legal.txt, and any other copyright indicated 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.
% 
% 
% IMPORTANT NOTICE:
% 
% For error reports in case of UNCHANGED versions see bugs.txt.
% 
% Please do not request updates from us directly.  Distribution is
% done through Mail-Servers and TeX organizations.
% 
% You are not allowed to change this file.
% 
% You are allowed to distribute this file under the condition that
% it is distributed together with all files mentioned in manifest.txt.
% 
% If you receive only some of these files from someone, complain!
% 
% You are NOT ALLOWED to distribute this file alone.  You are NOT
% ALLOWED to take money for the distribution or use of either this
% file or a changed version, except for a nominal charge for copying
% etc.
% \fi
% \iffalse
%%% File: ltidxglo
%
%<*driver>
% \fi
\ProvidesFile{ltidxglo.dtx}
             [1994/05/19 v1.1a 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{101}
%
% \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}
%
%
% \begin{oldcomments}
%
% \makeindex ==
%   BEGIN
%    if \@filesw = T
%      then  open file \jobname.IDX as \@indexfile
%             \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
%    fi
%   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}
%
%    \begin{macrocode}
\def\makeindex{\if@filesw \newwrite\@indexfile
  \immediate\openout\@indexfile=\jobname.idx
  \def\index{\@bsphack\begingroup
             \let\protect\@unexpandable@noexpand
             \@sanitize
             \@wrindex}\typeout
  {Writing index file \jobname.idx }\fi}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\@wrindex#1{\let\thepage\relax
   \edef\@tempa{\write\@indexfile{\string
      \indexentry{#1}{\thepage}}}\expandafter\endgroup\@tempa
   \if@nobreak \ifvmode\nobreak\fi\fi\@esphack}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\index{\@bsphack\begingroup \@sanitize\@index}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\@index#1{\endgroup\@esphack}
%    \end{macrocode}
%

%    \begin{macrocode}
\def\makeglossary{\if@filesw \newwrite\@glossaryfile
  \immediate\openout\@glossaryfile=\jobname.glo
  \def\glossary{\@bsphack\begingroup
                \let\protect\@unexpandable@noexpand
                \@sanitize
                \@wrglossary}\typeout
  {Writing glossary file \jobname.glo }\fi}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\@wrglossary#1{\let\thepage\relax
   \edef\@tempa{\write\@glossaryfile{\string
      \glossaryentry{#1}{\thepage}}}\expandafter\endgroup\@tempa
   \if@nobreak \ifvmode\nobreak\fi\fi\@esphack}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\glossary{\@bsphack\begingroup\@sanitize\@index}
%    \end{macrocode}
%
%    \begin{macrocode}
%</2ekernel>
%    \end{macrocode}
%
%
% \Finale
%
