我正在使用这个nomencl
包,到目前为止它运行得非常完美。但是,今天我决定引入一些包含感叹号的符号,结果失败了。
这里有一个简单的例子:
\documentclass{article}
\usepackage{nomencl}
\makenomenclature
\begin{document}
\nomenclature{$n!$}{factorial of $n$}
\[
n! = \prod_{i=1}^n i
\]
\printnomenclature
\end{document}
pdflatex text.tex
运行正常makeindex test.nlo -s nomencl.ist -o test.nls
运行正常,并报告“1 个条目被接受,0 个条目被拒绝)”等(没问题)。pdflatex text.tex
,之后第二次运行makeindex
,失败。
错误是这样的:
Writing nomenclature file test.nlo
(./test.aux) (./test.nls
! Missing $ inserted.
<inserted text>
$
l.6 \subitem
[{$n
?
如果我删除感叹号,如下所示:
\nomenclature{$n$}{factorial of $n$}
然后文档编译并产生正确的输出。
我尝试使用$n{!}$
和$n\!$
,但并未解决问题。
在命名法中包含 $n!$ 或 $!n$ 或其他带有感叹号的表达式的正确方法是什么?
答案1
!
是 MakeIndex 的特殊字符(用于对命名法进行排序)。使用 MakeIndex 的方法将其引用,即%
在其前面添加:
% arara: pdflatex
% arara: nomencl
% arara: pdflatex
\documentclass{article}
\usepackage{nomencl}
\makenomenclature
\begin{document}
\nomenclature{$n%!$}{factorial of $n$}
\[
n! = \prod_{i=1}^n i
\]
\printnomenclature
\end{document}
我添加了适当的arara
调用来处理命名法。请参阅https://tex.stackexchange.com/a/77879/4427欲了解有关 的更多信息和链接arara
。
笔记。在 2018 年之前,引号字符"
代替了%
。这一变化使得在宏中隐藏此类命名法条目变得不可能,因此请小心。