%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%   ltxindex.sty, a LaTeX package to typeset indices with GNU's Texindex
%   Copyright (C) 2004 by Jose-Luis Rivera
%
%   This program is free software; you can redistribute it and/or modify
%   it under the terms of the GNU General Public License as published by
%   the Free Software Foundation; either version 2, or (at your option)
%   any later version.
%
%   This program 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.  See the
%   GNU General Public License for more details.
%
%   You should have received a copy of the GNU General Public License
%   along with this program; if not, write to the Free Software
%   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%              WARNING!!! This code is fairly experimental.             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 
% ltxindex.sty provides a simple package to produce indices with
% texindex instead of makeindex.
% In my experience, texindex is fairly simpler to use.
% If you don't need anything fancy, this package may be just for you!
% 
% This package only implements the standard indices used by 
% texinfo, and only defines the concept index (cp) by default.
% You can't define custom indices, and you must set up fn, ky, pg,
% tp, and vr indices on your own.
% 
% Usage:
% 
% Call this package in the preamble: \usepackage{ltxindex}
%
% The package implements the following commands,
%
% \cpindex{<concept>} indexes <concept>, without typesetting it in the
% main text.
%
% \cpsubindex{<concept>}{<subconcept>} indexes <subconcept> under 
% <concept>, without typesetting it in the main text.
%
% \indexcp{<concept>} typesets <concept> and puts it in the <cp> index.
%
% \subindex{<subconcept>}{<concept>} typesets <subconcept> in the main
% document and puts it under <concept> in the <cp> index.
%
% You may set up fnindex, kyindex, pgindex, tpindex, and vrindex with the
% command \newindex{??}, where ?? is either fn, ky, pg, tp, or vr.
% This way, you enable commands \??index{<word>}, which allows you to
% index <word> in the appropriate index.
% Texinfo shortcuts \cindex, \findex, \kindex, \pindex, \tindex, and
% \vindex, are also available.
%
% \synindex{foo}{bar} makes index foo feed into index bar.
%
% \syncodeindex{foo}{bar} is similar, but puts all entries made for 
% index foo inside bold.
%
% As in Texinfo, all these commands produce auxiliary files <filename>.?? 
% 
% Once you're done with the main body of your document, you ask
% LaTeX to typeset the index with the command \printindex{??}, wherever
% you like.  Make sure you precede it with some informative heading, 
% like \section*{Concept Index}.
%
% Run LaTeX on filename to produce the .aux and .?? files
% Run texindex on every <filename>.?? unsorted index file you created
%    for your document. (<filename>.cp index, by default). texindex will
%    create a sorted index file for every index file (<filename>.cps, by
%    default).
% ReRun LaTeX to incorporate the indices.
% ReRun texindex on every index file (to secure right cross-references).
% ReRun LaTeX to put everything in order.
%
% You may avoid all this work in drafting and proofreading:
% this package prints "(Index is empty)" or "(Index is nonexistent)"
% strings in the appropriate places if the indices are unsorted or
% undefined.
%
% TODO's AND KNOWN ISSUES
%
% * two column output is somewhat clumsy; you may have to edit the 
%   .??s file manually to add \columnbreak's in the appropriate places.
%   Moreover, there is something funny in its implementation. See below.
% * devise a more general mechanism to create arbitrary indices.
% * write some macros to modify the appearance of the index (by means 
%   of some commands or package options).
% * a properly documented latex (dtx) distribution.
% * PDF is not supported at all.
%
% ACKNOWLEDGEMENTS
%
% As you may see by simple inspection of the code, I just ``borrowed''
% the code from the old latexinfo.sty, available at CTAN, and patched 
% it up to run as a LaTeX package.
% Thus, all credits should go to Richard Stallman, Robert J. Chassell,
% & Michael Clarkson.
%
% CAVEATS
%
% This package is distributed along the lines of the GNU General Public
% License version 2.0, in compliance with the original license for 
% latexinfo.sty. 
% There are additional conditions imposed on the use --not the 
% distribution-- of the package, due to the usage of the multicol.sty 
% package, by Frank Mittelbach. 
% In particular, even though muticol.sty is a required file for any LaTeX 
% installation, you are `morally' required to pay a license fee if you 
% use it as a part of a proprietary or commercially distributed product 
% based on or using multicol.sty.  The ltxindex package is distributed 
% `gratis', so as long as you distribute or use this package for a 
% non-commercialor non-proprietary end product (document or software), 
% you don't acquire this moral obligation.
% Otherwise, you are morally required to pay that fee NOT because of your
% usage of ltxindex.sty, but because of the usage of multicol.sty.  
% See multicol.dtx for details.
% 
% Confused? Well, just comment out the lines containing the strings
%
% \RequirePackage{multicol}
% \begin{multicols}{2}
% \end{multicols}
%
% The output is ugly, but free from moral trouble.
%
% Send suggestions, bug reports, or complaints (and hopefully, bits of
% code too!) to jlrn7<at>yahoo<dot>com.
%
% Jose-Luis Rivera
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


