I'd like to create a document which is a standalone index (of reviews: the data are the reviewer, the volume and page, and the name of the reviewed item). Organising the data is not a problem (it is in a DB and I can script), rather it is making an attractive document which is the issue.

Any recommendations, in particular to classes or helpful styles?


For example, a class to produce a document which looks like this

  • This is much too broad and opinion-based right now. Your 'attractive' might be my 'ugly'. What do you want it to look like? What format is the data file you want to input in?
    – cfr
    Aug 25, 2015 at 20:55
  • @touhami, thanks for the response, but these seem to be packages/questions concerned with the handling of the data; I'm rather interested in the layout of pre-prepared data.
    – J.J. Green
    Aug 25, 2015 at 21:04
  • @crf. I would welcome subjective opinions of packages, I can then chose between them myself (and/or create a now package to my liking). The data are described in the question and are in a DB, not a file.
    – J.J. Green
    Aug 25, 2015 at 21:06
  • Note that I only get pinged if you get my name right. Anyway, the point is that questions which are likely to solicit subjective opinions are off-topic for this site. This doesn't mean they are bad questions: this just isn't the place for them. Questions here need to be such that it makes sense to ask whether one answer or another is the correct one, or more correct, or technically better (more efficient, more parsimonious, more transparent etc.). So to be on-topic, your question needs to be, basically, technical: how can I typeset this? Rather than, is this attractive?
    – cfr
    Aug 25, 2015 at 22:00
  • 1
    Put it this way: if the format can be anything, you can have the format be, say, that of an .idx file (and transform it to .ind and include it in a .tex file. Or have it be .ind and include it in a .tex file. Then you can format it as you would a regular index. For example, as .idx: \indexentry{<reviewer>, <item name>, <volume>}{<page>}. This is more flexible as you can generate the .ind with an .ist of your choice.
    – cfr
    Aug 25, 2015 at 22:10

1 Answer 1


Here's a starting point. On the first run, this produces an .idx file but, obviously, your script would do that. The file is just for the MWE.

So your script should produce a file \jobname.idx where \jobname will be the name of the .tex file without the extension e.g. if the file is greatindex.tex then your script will produce \greatindex.idx. (Best make a copy of this under another name, too.)

You then run makeindex \jobname e.g. makeindex greatindex. This produces \jobname.ind.

Then you can compile the .tex document which will input the file \jobname.ind and produce the index.

Do not under any circumstances include \makeindex in your .tex file as it will overwrite your hand-written (effectively) .idx.

\indexentry{reviewer1, aardvarks, I}{1}
\indexentry{reviewer2, jelly fish, II}{2}


The formatting of the index will depend on the document class you load and any packages you use to customise the formatting of section or chapter headings (as applicable) or, obviously, any customisation you enable for the index itself. (Default is a two-column index, I think. But I don't have enough entries to show this.)

If you want help with the formatting, create a proper Minimal Working Example and post a question explaining exactly how you want to modify the output.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .