我正在使用包polyglossia
并使用 构建索引imakeidx
。一个包含希腊语单词的索引没有遵循正确的字母顺序。我该怎么做才能获得正确的字母顺序?以下是 MWE:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{times.ttf}
\newfontfamily\greekfont{times.ttf}
\usepackage{imakeidx}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage[variant=ancient]{greek}
\makeindex[name=1]
\begin{document}
\selectlanguage[variant=ancient]{greek}{ἀγαθός, καλός, δεινός, μείγνυμι}
\index[1]{ἀγαθός}
\index[1]{καλός}
\index[1]{δεινός}
\index[1]{μείγνυμι}
\printindex[1]
\end{document}
答案1
问题是由于符号 overα
干扰了排序算法而引起的。一个可能的解决方案是使用\index[1]{αγαθος@ἀγαθός}
而不是\index[1]{ἀγαθός}
。这样,条目将显示为ἀγαθός
但排序为αγαθος
。来自希腊的问候!
\documentclass{article}
\usepackage{fontspec}
\setmainfont{times.ttf}
\newfontfamily\greekfont{times.ttf}
\usepackage{imakeidx}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage[variant=ancient]{greek}
\makeindex[name=1]
\begin{document}
\selectlanguage[variant=ancient]{greek}{ἀγαθός, καλός, δεινός, μείγνυμι}
\index[1]{αγαθος@ἀγαθός}
\index[1]{καλός}
\index[1]{δεινός}
\index[1]{μείγνυμι}
\printindex[1]
\end{document}