Index preparation is a tedious and time-consuming task. In this paper we indicate how the indexing process can be automated in a way which is largely independent of a specific typesetting system and independent of the format being used. Fundamental issues related to this process are identified and analyzed. Specifically, we describe a framework for placing index commands in the document and a general purpose index processor which transforms a raw index into an alphabetized version. The resulting system has proved very useful and effective in producing indexes for a book and several technical manuals. An evaluation of our system against indexing facilities available across a variety of document preparation environments is given.