我正在使用该glossaries
包创建一本爱尔兰语-英语词典,但重音字母被视为位于所有非重音字母之后。我注意到许多问题都存在重音字母标签,但这不是我的情况,这里的标签只是没有意义的整数,并且文档编译得非常好。
以下是显示该问题的 MWE:
\documentclass{article}
\usepackage[irish, english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{1}{name={trá},description={Beach}}
\newglossaryentry{2}{name={buail},description={Hit}}
\newglossaryentry{3}{name={toradh},description={Fruit}}
\newglossaryentry{4}{name={bád},description={Boat}}
\newglossaryentry{5}{name={turtar},description={Turtle}}
\newglossaryentry{6}{name={traicé},description={Trachea}}
\newglossaryentry{7}{name={éadach},description={Cloth}}
\newglossaryentry{8}{name={tae},description={Tea}}
\newglossaryentry{9}{name={ith},description={Eat}}
\begin{document}
\glsaddall
\printglossary[title={Irish-English Glossary},nonumberlist]
\end{document}
运行 pdflatex-makeglossaries-pdflatex 后,PDF 输出中的单词在重音字母方面排序不正确:
1)如果第一个字母是重音符号,它会一直往下,排在所有其他字母之后(在我的例子中,埃阿达赫)。
2) 如果第二个字母是重音符号,则显示在相应字母的末尾(坏的后布艾尔而它应该在它之前)。
3) 如果第三个字母带重音,则其前两个字母排序正确,但带重音的字母将被视为位于末尾(翻译后托拉德和之前土尔塔尔, 但是之后特雷塞也应该在托拉德和特雷塞)。
问题还出现在单词中重音字母的其他位置,但这些位置是最常见的。
我想知道如何才能让单词按正确的顺序排列(也就是说,无论字母是否带重音,它都在字母表的相同位置)。
提前致谢。
答案1
尽管使用 UTF8 是正确的,但你可以(几乎)通过使用以下方式获得正确的排序:LaTeX 定义的重音或更好地对重音字母进行分组。我不得不用sort
钥匙作弊只是为了埃阿达赫。
查看glossaries
手册,部分1.4 多语言支持
请注意,虽然非拉丁字符(例如 é)在您的
.tex
文件中看起来像普通字符,但在标准 LaTeX 中,它实际上是一个宏,因此可能会导致扩展问题。您可能需要使用 关闭字段扩展\glsnoexpandfields
。XELaTeX 或 LuaLaTeX 不会出现此问题。使用 时
inputenc
,如果在条目名称开头使用非拉丁字符(或其他可扩展)字符,则必须将其放在一个组中,否则会导致将首字母转换为大写的命令出现问题
\documentclass{article}
\usepackage[irish, english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{1}{name={tr\'a},description={Beach}}
\newglossaryentry{2}{name={buail},description={Hit}}
\newglossaryentry{3}{name={toradh},description={Fruit}}
\newglossaryentry{4}{name={b\'ad},description={Boat}}
\newglossaryentry{5}{name={turtar},description={Turtle}}
\newglossaryentry{6}{name={traicé},description={Trachea}}
\newglossaryentry{7}{name={\'eadach},description={Cloth},sort={eadach}}
\newglossaryentry{8}{name={tae},description={Tea}}
\newglossaryentry{9}{name={ith},description={Eat}}
\begin{document}
\glsaddall
\printglossary[title={Irish-English Glossary},nonumberlist]
\end{document}