对于显示的 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”语言,但这是一个不同的问题。)