带变音符号的词汇表

带变音符号的词汇表

此示例为英文

\documentclass{article}
\usepackage{glossaries}
\newglossaryentry{tea}
{
  name=tea,
  description={a drink}
}
\makeglossaries
\begin{document}
Drink \gls{tea}.
\printglossaries
\end{document}

工作正常。

当我对词汇表条目使用变音符号时出现问题:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{glossaries}
\newglossaryentry{tēju}
{
  name=tēja,
  description={a drink}
}
\makeglossaries
\begin{document}
Dzert \gls{tēju}.
\printglossaries
\end{document}

错误是:

! Missing \endcsname inserted.
<to be read again> 
                   \unhbox 

如何使词汇表对其他语言友好?

答案1

从部分4.“定义词汇表条目”用户手册:

请注意,虽然扩展拉丁字符或其他非拉丁字符(例如 é 或 ß)在 .tex 文件中看起来像普通字符,但它实际上是一个宏(活动字符),因此不能在标签中使用。(这适用于 LaTeX 而不是 XeLaTeX。)还要注意 babel 的选项,这些选项会将某些标点符号(例如 : 或 -)更改为活动字符。

使用 PDFLaTeX,UTF-8 字符(例如 é)实际上被视为两个八位字节。第一个八位字节被激活(通过inputenc)并成为重音命令,第二个八位字节是该命令的参数。因此,如果您只能使用 PDFLaTeX,那么您就不能在标签中使用非 ASCII 字符,并且您需要确定合适的 ASCII 命名方案。例如,请参阅 的 1.1 节“标签”glossaries-extra 和 bib2gls:入门指南(PDF)

如果您想在标签中使用非 ASCII 字符,那么您需要使用 XeLaTeX 或 LuaLaTeX,它们都原生支持 UTF-8,而不需要活动八位字节技巧。

之所以有此限制,是因为标签用于构建内部控制序列,用于存储与词汇表条目相关的所有信息。这意味着标签必须能够完全展开才能创建命令名称。

相关内容