![在命名法中使用 \! 来留出空格](https://linux22.com/image/378739/%E5%9C%A8%E5%91%BD%E5%90%8D%E6%B3%95%E4%B8%AD%E4%BD%BF%E7%94%A8%20%5C!%20%E6%9D%A5%E7%95%99%E5%87%BA%E7%A9%BA%E6%A0%BC.png)
我的命名法中有一个符号需要在下标中使用负数细间距命令\!
。但每当我尝试在命名法中执行此操作时,它都会编译失败。我得到的错误是:
Missing $ inserted.
<inserted text>
$
l.6 \subitem
[{$V_{\
这是发生问题的 MWE:
\documentclass{memoir}
\usepackage{nomencl}
\makenomenclature
\begin{document}
\nomenclature[$V_{\infty}$]{$V_{\!\infty}$}{Freestream velocity}
\printnomenclature[0.75in]
\end{document}
我使用 进行编译pdflatex example.tex
,然后,,makeindex example.nlo -s nomencl.ist -o example.nls
然后pdflatex example.tex
再次。
知道如何让它与负空间一起编译吗?
答案1
该!
字符由 MakeIndex 内部使用,因此您不能直接使用它。对于普通感叹号,您可以引用他们“。这个,因为它是一个控制字符,所以您可以重命名它以在命名法中使用:
% arara: pdflatex
% arara: nomencl
% arara: pdflatex
\documentclass{memoir}
\usepackage{nomencl}
\makenomenclature
% Copying \! to \negspace
\let\negspace\!
\begin{document}
\nomenclature[$V_{\infty}$]{$V_{\negspace\infty}$}{Freestream velocity}
\printnomenclature[0.75in]
hello % some text to force output
\end{document}
此外,可选参数\nomenclature
是排序键,通常可以省略它,除非您想覆盖 MakeIndex 的排序。
\begin{advertisement}
你可能还对修改nomencl
包我确实这样做了以便于对命名法进行分类:)
\end{advertisement}