我正在使用glossaries
包来创建缩写列表。我需要使用,xindy
因为否则字符\"{o}
会因为出现在定义中而破坏首字母缩略词(并且它会更好地对它们进行排序)。但是,我还使用一些只是数学模式符号的首字母缩略词,例如$\alpha$
。出于某种原因,当我将其作为应该显示的首字母缩略词时,根本没有显示任何词汇表。取出符号,使用非数学模式符号或在首字母缩略词中添加普通字符都可以使其正常工作。这是一个对我来说不起作用的简单示例(使用xindy
不会产生词汇表,不使用xindy
只会给出一个词汇表条目)。
\documentclass[]{article}
\usepackage[xindy]{glossaries}
\makeglossaries
\newacronym{test}{$\alpha$}{this is a test word}
\newacronym{test1}{\AA}{\aa \"{o}this is a test word}
\begin{document}
This is an example \gls{test}. and again \gls{test1}.
\printglossary
\end{document}
使用 Latexian 制作的 PDF 没有出现致命错误,尽管 makeglossaries 返回了以下内容:ERROR: CHAR: index 0 should be less than the length of the string
。
xindy
我看到其他问题在使用with时有错误glossaries
,但它们似乎大多与外语支持有关。任何帮助都将不胜感激。
我刚刚发现一个可行的方法(如果我没有得到更好的答案,我可能会这么做,但我没有解释错误)是在数学模式符号后添加一个不间断的空格:$\alpha$~
尽管这会使缩写“比它应该的更宽”。
答案1
感谢来自尼古拉·塔尔博特,我查看了故障排除部分的 Q3用户指南按照指示。您可以简单地将排序值定义为可选参数,\newacronym
以避免特殊字符的问题(甚至可以使排序更好)。
我修复了上面的代码,现在运行良好:
\documentclass[]{article}
\usepackage[xindy]{glossaries}
\makeglossaries
\newacronym[sort=alpha]{test}{{$\alpha$}}{this is a test word}
\newacronym[sort=angstrom]{test1}{\AA}{\aa \"{o}this is a test word}
\begin{document}
This is an example \gls{test}. and again \gls{test1}.
\printglossary
\end{document}
简单的修复甚至可以使其排序得更好。