Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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?

share|improve this question

1 Answer 1

up vote 5 down vote accepted

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

makeindex filename.idx

run

texindy filename.idx
share|improve this answer
    
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
1  
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

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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