4

I'm trying to use XeLaTeX, imakeidx and xindy for a german book with multiple indexes. Based on an answer on this page, (which works) I tried to switch to xelatex and imakeidx. Calling

xelatex --shell-escape test.tex

on this file test.tex:

\documentclass{article}
\usepackage{xltxtra}
\usepackage[xindy]{imakeidx}
\makeindex[options=-M texindy -L german-duden -C utf8]
\begin{document}
üäö
start 
\index{a}\index{b}\index{ä}\index{ü}\index{ÖÖ}
end
\printindex
\end{document}

gives me the error message:

(require "tex/inputenc/utf8.xdy") ERROR: Could not find file "tex/inputenc/utf8.xdy" !

Leaving out xindy option "-C utf8" gives me an index with alll umlauts sorted under "O".

I just discovered that xindy does work when run separately, without being started from within xelatex per imakeidx, but from the command prompt:

 $ xindy -M texindy -C utf8 -L german-duden test.idx

No nagging and no mention of "utf8.xdy" either.

6
  • 2
    imakeidx calls texindy and not xindy and texindy doesn't work with -C utf8. Add \makeatletter \def\imki@progdefault{xindy} \makeatother after loading imakeidx. Commented Apr 1, 2014 at 11:58
  • Yes, that's it. And don't use \makeindex[program=xindy ...] either. Thanks @Ulrike!
    – Blackface
    Commented Apr 1, 2014 at 12:12
  • 1
    @user42591 I'll correct the bug with truexindy as soon as possible. But \makeindex[program=truexindy] should work.
    – egreg
    Commented Apr 1, 2014 at 12:15
  • I just found out that TeXworks (i.e.: I ;) ) was using an old TeXLive installation. With TeXLive 2013, \makeindex[program=truexindy] works.
    – Blackface
    Commented Apr 2, 2014 at 11:38
  • @egreg Wanna write something up that can be considered an answer? :-)
    – Johannes_B
    Commented Jun 14, 2015 at 20:16

1 Answer 1

3

Calling \makeindex[program=truexindy,...] works.

\documentclass{article}
\usepackage{fontspec}
\usepackage{imakeidx}
\makeindex[program=truexindy,options=-M texindy -L german-duden -C utf8]
\begin{document}
üäö
start
\index{a}\index{b}\index{ä}\index{ü}\index{ÖÖ}
end
\printindex
\end{document}

enter image description here

0

You must log in to answer this question.

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