Previous: Using makeindex, Up: Index [Contents][Index]
idxmerge
utility to merge indexesIn a large project, one may maintain and work with several FWEB
files. It may be useful to produce a global index that spans all of
those files. To this end, the utility idxmerge
and associated
LaTeX package idxmerge
are supplied with
the FWEB distribution.
idxmerge
: SummaryAs quick reference for those who have already plowed through the
following details, here is a summary of the procedure. To print a
stand-alone index by merging the indexes from several web
sources, do the following. First, create, if necessary, a file
index.tex that \input
s index.ind. Then:
fweave -XI test1.web fweave -XI test2.web fweave -XI test3.web idxmerge -oindex test1.idx test2.idx test3.idx % Creates index.ind and index-names.tex. makeindex -s test1.sty index latex index
Note the use of the ‘-XI’ option. For further background, see the previous section, Using makeindex.
idxmerge
: DetailsSuppose one has three files, test1.web, test2.web, and
test3.web. To use idxmerge
, weave each of the files
separately, using the ‘-XI’ option to create test*.idx and
test*.sty. Then say
idxmerge -oindex test1.idx test2.idx test3.idx
This creates two output files: index.idx, and
index-names.tex. idxmerge
first sorts the list of file
names. It then writes one entry into index-names.tex for each
file, of the form
\idxname{n}{file_namen}
This file can be \input
by the \topofindex
command (for an
example, see the LaTeX2e package idxmerge
) (supplied with
the FWEB distribution) and used to create a list of the merged files.
Then it merges the \indexentry
commands from each of the input
files into index.idx, filling in the integer file identifier n
(the position of the file in the sorted list) into the first argument of
the \pg
macro. One can now say
makeindex -s test1.sty index
This creates index.ind, which can be processed by, for example,
a simple modification of the simple LaTeX template given above in
Using makeindex. The only difference is that the package
idxmerge
was used; in that file, the macros \topofindex
and \idxname
are appropriately defined to print out a numbered
list of the merged files to cross-reference into the numerical file- and
page-number entries in the body of the index. Here is an example
(provided in the FWEB distribution):
% index.tex --- skeleton for printing a stand-alone index. \documentclass{article} \usepackage{fwebmac,idxmerge} \begin{document} \input{\jobname.ind} \end{document}
Previous: Using makeindex, Up: Index [Contents][Index]