多语言文档中的词汇表

多语言文档中的词汇表

对于显示的 MWE,该文件将不会运行

\documentclass[a4paper,12pt,twoside]{book}
\usepackage[nil,bidi=basic-r,layout=counters.lists.tabular]{babel}
\babelprovide[import=ar,mapdigits,main]{arabic}
\babelprovide[import=en,]{english}
\babelfont[arabic]{rm}{Amiri}
\babelfont{rm}{Times New Roman}

\usepackage{glossaries}

\makeglossaries

\newglossaryentry{latex}
{
    name=latex,
    description={Is a mark up language specially suited 
    for scientific documents}
}

\newglossaryentry{maths}
{
    name=mathematics,
    description={Mathematics is what mathematicians do}
}

\title{How to create a glossary}
\author{ }
\date{ }

\begin{document}
\maketitle

The \Gls{latex} typesetting markup language is specially suitable 
for documents that include \gls{maths}. 

\clearpage

\printglossaries

\end{document}

答案1

babel 重新定义了命令@arabic,它不再给出数字,而 makeindex 不喜欢这样。

您可以尝试以下操作:

\usepackage{glossaries}
\makeatletter
\renewcommand*{\gls@arabicpage}{\number\c@page}
\makeatother

然后至少会出现条目。页码的格式可能不正确,但可以在其他地方进行更改。

这只是一种解决方法。这里存在一个普遍的问题是,对 @arabic 的这种重新定义是否合理。

(在我的系统上,我也收到来自 tracklang 的错误,它不喜欢“nil”语言,但这是一个不同的问题。)

相关内容