12

If my input file is utf8 encoded, how to I create an index where the entries are properly sorted?

Minimal example

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\makeindex
\begin{document}
Hello World\index{Gödel}\index{Galois}
\printindex
\end{document}

After compiling with pdflatex and makeindex, the entries show up with “Gödel” before “Galois”, which is wrong.

In another somewhat related question it is suggested to compile with xelatex instead; however I'm trying to do this in a large-ish project already written by someone else, and trying to switch to xelatex is proving a bit problematic.

So, is there a way to make it work with pdflatex?

6

By using xindy instead of makeindex I get the desired result. That is, instead of running

makeindex filename.idx

run

texindy filename.idx
  • Hmm.. the small example is working, but not when I try to apply it in my complete project. Will have to pinpoint the error and then come back. – Juan A. Navarro Jul 11 '11 at 16:57
  • 3
    You may have to specify the language and encoding. E.g. texindy -L german -M lang/german/utf8 filename.idx. (See also en.wikibooks.org/wiki/LaTeX/Indexing#International_indexes ) – Torbjørn T. Jul 11 '11 at 17:04
  • Thanks! I just got it to work, there was a syntax error in one of my \index entries, and texindy was complaining with a weird error message. But now it's all working! – Juan A. Navarro Jul 12 '11 at 8:10

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.