summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/ltxindex/README
blob: 966fabee59f86257b99228a7822445e079ca2182 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%   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
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%