and
authidx [ MAXNAME=nnn ] [ ROTATE=n ] [ SEE=nnn ] *.aei bbl-file > output-new-bbl-file
Alternatively, if a BibTeX .bbl formatted bibliography file is given following the index files on the command line, then the output will instead be a new .bbl file with citation page references inserted at the end of each bibliography entry. This alternative provides a compact mini-index embedded in the bibliography, but loses the convenience to the reader of being able to locate quickly a reference to a publication by a particular person. Nevertheless, it may be convenient when space is at a premium, such as in journal articles.
authidx assumes that BibTeX files have a consistent form such as that guaranteed by bibclean(1), in order to permit simple pattern matching for parsing BibTeX entries.
A typical use with makeindex(1) looks like this:
Then, for separate author/editor and subject indexes:authidx mybook.aei > mybook.ida
or for a single combined index:makeindex -o mybook.ina mybook.ida makeindex -o mybook.ind mybook.idx
The required .aei files are produced from a LaTeX file that incorporates the authidx style option, and issues the \makeauthoreditorindex command in the preamble.makeindex -o mybook.ind mybook.idx mybook.ida
If a separate author/editor index is wanted, then the LaTeX file should have a \printauthoreditorindex command where the index is required (usually near the end, either before or after the \printindex command). The contents of the .ina file produced by the indexing program will be read at that point.
If a combined index is required, then only the \printindex command is needed.
Here is an outline of a suitable LaTeX 2.09 input file:
For LaTeX 2e in native 2e mode, replace the first line by\documentstyle[authidx]{book} \makeauthoreditorindex \makeindex \begin{document} ... \printauthoreditorindex \printindex \end{document}
Assuming makeindex(1) as the indexing program, the document can be typeset like this:\documentclass{book} \usepackage{authidx}
latex mybook.ltx bibtex mybook latex mybook.ltx bibtex mybook authidx mybook.aei > mybook.ida makeindex -o mybook.ina mybook.ida makeindex -o mybook.ind mybook.idx latex mybook.ltx
It is possible that name rotation will produce some additional unexpected entries in your index. Consider these three names:
- Donald Ervin Knuth
- Per Brinch Hansen
- Federico Garcia Lorca
In the first of these names, Ervin is just a middle name, and one that that particular author always abbreviates to an initial in his publications, and it should therefore not rate an index entry under Ervin Knuth, even though authidx will generate one. In the second, Brinch is a middle name that is generally used in combination with the last name to distinguish that author from the large number of other people with one of the commonest Danish surnames, so both Brinch Hansen, Per and Hansen, Per Brinch index entries are desirable. In the third, Garcia is the Spanish author's paternal name which, for him, is generally used with the maternal name, Lorca, because the latter is less common.
A computer program cannot distinguish between the indexing expectations that you might have for each of these three authors, so authidx takes the view that it should consistently index all rotations of their names, since a few more index entries is better than too few. Nevertheless, you can limit the indexing by addition of suitable bracing: if the BibTeX file contains
author = "{Donald Ervin} Knuth", author = "Per {Brinch Hansen}" author = "Federico {Garcia Lorca}"
then index rotations of those names will be suppressed.
The first author/editor name in each bibliography entry is typeset by \AEnamefontfirst, and remaining names are typeset by \AEnamefontrest. Similarly, the page number of an entry for the first author/editor name is typeset by \AEpagefontfirst, and the page numbers of entries for remaining names are typeset by \AEpagefontrest. Using different fonts for the first and rest parts allows the reader to readily distinguish between the contributions of Smith and et al..\def \AEnamefontfirst #1{{\sc #1}} \def \AEnamefontrest #1{{\rm #1}} \def \AEpagefontfirst #1{{\bf #1}} \def \AEpagefontrest #1{{\rm #1}}
The default definitions of these font macros do not specify a font size, so in LaTeX, they will automatically inherit the prevailing font size. This allows you to use LaTeX input like this:
to typeset the indexes in smaller type, as is commonly done.\begin{small} \printauthoreditorindex \printindex \end{small}
When a .bbl file is supplied on the command line, authidx produces a new .bbl file in which each bibliography entry is augmented by a call to the \bibindex macro, giving it a list of page numbers on which the bibliography entry is cited. The default definition of this macro
provided by the authidx.sty file typesets the page numbers as a braced boldface list.\def \bibindex #1{\{{\bf #1}\}}
You can provide an alternate definition of this macro if you wish, anywhere between the use of authidx.sty and the \bibliography{bibfile1,bibfile2,...,bibfilen} command in your LaTeX file.
Bach, P. D. Q., Jr., 123--125, 203 Rockefeller, John D., III, 17, 29--32
I need to implement an option to index the bibliography items themselves, by redefining \bibitem to output an index entry to the .aei file.
For production of .bbl file mini-indexes, authidx currently only handles simple page numbers that are lower-case roman numerals, arabic numbers, or upper-case roman numerals, and sorts them in that order. Composite page numbers (127a, A.1, C-123, II-D-23, ...) of the type supported by makeindex(1) will not be sorted properly, or collapsed into page ranges, by authidx. Also, unlike makeindex(1), authidx does not support user customization of the sort order.
Finally, the authidx.sty file needs to be extended so that it can be used with plain TeX and AmSTeX as well.
\indexentry{label1,label2,...,labeln}{pagenumber}
plus a single
\bibdata{bibfile1,bibfile2,...,bibfilen}
command naming the BibTeX bibliography files needed to resolve the citations. The index entries are produced by an internal LaTeX citation command that is called by user-level citation commands, such as \cite, \shortcite, \citeA, \citeANP, \citeN, \citeNP, \citeyear, \citeyearNP, \shortcite, \shortciteA, \shortciteANP, \shortciteN, and \shortciteNP. The kinds of citation commands available depend on the \bibliographystyle chosen; only \cite is available in all bibliography styles.
Nelson H. F. Beebe, Ph.D. Center for Scientific Computing University of Utah Department of Mathematics, 105 JWB 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 Tel: +1 801 581 5254 FAX: +1 801 581 4148 Email: beebe@math.utah.edu, beebe@acm.org, beebe@ieee.org (Internet) WWW URL: http://www.math.utah.edu/~beebe