How to compile an index for a book efficiently, if at all possible? My book manuscript of ca 250 pages was accepted by a publisher. The book contract obliges me to either prepare an index myself or to delegate the task to the publisher, who in turn would hire a freelancer at my expense, which the publisher estimated at GBP 300 (Eur. 340, USD 400). 

I have never compiled an index before. Now I am wondering if it is worth it to compile the index myself or if I should rather have it made for me. Of course, this is quite subjective. But those with pertinent experience may know:


How much time and effort does it usually take to prepare an index?
Are there any tools or methods to (partly) automate the task and that still yield an acceptable outcome?
Several text formatters, notably LaTeX (e.g. the texlive suite) and Lout, have good tools to make or compile an index. See this explanation about adding index to a LaTeX formatted document. And many word processors have indexing capacities.

Of course, you need to do the real indexing work: knowing what words are important in your book (and, if the word is common, knowing which occurrences of that word are important), and adding \index markup in the LaTeX source (that work is needed whatever technical solution you use to write your book, e.g. with other text processors like LibreOffice or Microsoft Word, which also has indexing capabilities). With other word processors, you also need to do some action to add a word occurrence to the index. Specialized indexing software also exist.

Obviously, some utilities could be helpful in that (e.g. Unix grep with LaTeX, the find menu of LibreOffice or Word text processors, etc..) - to find every occurrence of some word (but you still need to decide if that occurrence should go to the index and act accordingly).


  I am wondering if it is worth it to compile the index myself


Yes, because you already know quite well your book. And that could take one or a few days of your time. Someone else has first to read it carefully, so would spend a lot more time than you.