There are several tools for indexing:

  • luaindex (one release from 2011, written in Lua, "This is an alpha version!", by Markus Kohm)
  • makeindex (1987-1993, written in C, by L. Lamport, P. Chen et al.)
  • xindy (last release 2013, written in CLISP, by J. Schrod)
  • xindex (several releases in 2019, written in Lua, UTF-8 support but compatible with makeindex, by Herbert Voß)
  • and many more

What should a user keep in mind when selecting the right index tool for an UTF-8 lualatex document in 2019?

  • xindex...write in Lua – Pablo González L Jun 22 at 22:33
  • @PabloGonzálezL Added xindex to the list. Thank you. – Jonas Stein Jun 23 at 12:56
  • 2
    I basically never create indices, so I'm not really qualified to answer. But some remarks: I think luaindex is conceptually great, but it han't been updated for 8 years and isn't compatible with current luatex versions. Also a look at it's source code suggests that it might be quite slow. For non-trivial amounts of entries xindex is also very slow, but that is easy to fix if you don't mind some Lua programming. Anyway while xindex is written in Lua, it is still called as an external program, so it is more similar to xindy than to luaindex. – Marcel Krüger Jun 23 at 18:01
  • 3
    Also AFAICT no system currently uses Unicode collations, so for non-english text the sorting can often lead to problems. So currently I would try xindy, mostly because I trust their sorting system the most. – Marcel Krüger Jun 23 at 18:03
  • 2
    Just as an aside. Even with luatex I'm still relying on makeindex, with the sort key generated from within TeX. I believe the sorting rules should be applied (in most cases) in the context where the term to be indexed appears. To automate it I wrote a package (esindex), which does most of the work. – Javier Bezos Jun 30 at 10:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.