%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % 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{} indexes , without typesetting it in the % main text. % % \cpsubindex{}{} indexes under % , without typesetting it in the main text. % % \indexcp{} typesets and puts it in the index. % % \subindex{}{} typesets in the main % document and puts it under in the 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{}, which allows you to % index 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 .?? % % 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 .?? unsorted index file you created % for your document. (.cp index, by default). texindex will % create a sorted index file for every index file (.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 jlrn7yahoocom. % % Jose-Luis Rivera % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%