在命名法中使用 \! 来留出空格

在命名法中使用 \! 来留出空格

我的命名法中有一个符号需要在下标中使用负数细间距命令\!。但每当我尝试在命名法中执行此操作时,它都会编译失败。我得到的错误是:

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}

相关内容