Xindy (imakeidx、XeLaTeX) 排序不正确

Xindy (imakeidx、XeLaTeX) 排序不正确

作为新手LaTeX,我希望能够得到有关这个特殊问题的帮助。

不知何故xindy无法识别我系统上的语言。我在 Windows 上,最近下载了MiKTeX 2.9,使用TexMaker,运行XeLaTeX(尝试了带和不带--shell-escape/--enable-write18选项),我的所有.xdy语言文件似乎都已到位,没有发出警告或错误,但无论我切换到哪种语言,排序都会出错。请注意,XeLaTeX我无法使用inputenc

这是我的 MWE:

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage{fontspec} 
\usepackage{xunicode} 
\usepackage{polyglossia} 
    \setdefaultlanguage{croatian}
\setmainfont{Cambria}

\usepackage{imakeidx}
    \makeindex[columns=1]

\begin{document}

avion\index{avion}
buka\index{buka}
cura\index{cura}
čarapa\index{čarapa}
dug\index{dug}
džem\index{džem}
nos\index{nos}
nježan\index{nježan}

\printindex

\end{document}

这是我得到的:

在此处输入图片描述

因此,重音字母位于“A”下方。当我关闭该xindy选项时,我得到了以下信息:

在此处输入图片描述

这次它将重音字母放在了字母表的末尾。

在克罗地亚语中,“č” 是一个单独的字母,因此必须列在其自己的标题下,而“dž”和“nj”是复合字母,分别应位于“d”和“n”之后。

我想要得到的是这样的排序:

A

航空

布卡

C

库拉

C

恰拉帕

迪兹

德热姆

新泽西

涅赞

如果我使用捷克语或西班牙语(例如ñ),情况也一样 - 它们在索引中无法正确分组。有没有简单的解决方案?谢谢您的帮助。

答案1

您必须将语言选项传递给 Xindy。运行xelatex -shell-escape

\documentclass{article}

\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage[xindy]{imakeidx}

\setdefaultlanguage{croatian}

\makeindex[columns=1,options=-M texindy -L croatian -C utf8]

\begin{document}

avion\index{avion}
buka\index{buka}
cura\index{cura}
čarapa\index{čarapa}
dug\index{dug}
džem\index{džem}
nos\index{nos}
nježan\index{nježan}

\printindex

\end{document}

在此处输入图片描述

相关内容