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?

1 Answer 1

5

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

makeindex filename.idx

run

texindy filename.idx
3
  • 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. Commented Jul 11, 2011 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 ) Commented Jul 11, 2011 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! Commented Jul 12, 2011 at 8:10

You must log in to answer this question.

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