引用感叹号(“!)适用于 makeidx,但不适用于 nomencl

引用感叹号(“!)适用于 makeidx,但不适用于 nomencl

我知道,为了在索引或术语条目中使用感叹号,我需要用 引用它"

现在——makeidx似乎工作正常:

$ cat t.tex

\documentclass{article}
\usepackage{makeidx}
\makeindex

\begin{document}
\index{$n "! $, factorial of $n$}
\[
 n! = \prod_{i=1}^n i
\]
\printindex
\end{document}

$ pdflatex t && makeindex t  && pdflatex t

将按预期生成 PDF,索引位于文档末尾。

但是,如果我使用该nomencl包,

$ cat q.tex 

\documentclass{article}

\usepackage{nomencl}
\makenomenclature

\begin{document}
\nomenclature{$n "! $}{factorial of $n$}
\[
 n! = \prod_{i=1}^n i
\]
\printnomenclature
\end{document}

$ pdflatex q && makeindex q.nlo -s nomencl.ist -o q.nls && pdflatex q 

然后第二次调用pdflatex将会失败,

...
(/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile.sty)))) (./q.aux)
(./q.nls
! Missing $ inserted.
<inserted text> 
                $
l.5     \subitem
                 [{$n "
? X
No pages of output.
Transcript written on q.log.

据我所记得,如果我有不是引用感叹号!

我是不是漏掉了什么,还是这是一个 bug?如果这是 texlive(或 )中的一个 bug nomencl,我该如何获取更多信息以便调试和报告它?

我使用的是Debiantexlive版本。2018.20190227-2

答案1

你的 makeindex 风格有

%% ---- for input file ----
keyword    "\\nomenclatureentry"
quote '%'

所以你%不需要"

在此处输入图片描述

该包已经逐字读取了该参数,因此%不是注释:

\documentclass{article}

\usepackage{nomencl}
\makenomenclature

\begin{document}
\nomenclature{$n %! $}{factorial of $n$}
\[
 n! = \prod_{i=1}^n i
\]
\printnomenclature
\end{document}

相关内容