命名法中的规范符号未显示

命名法中的规范符号未显示

当我在命名法条目中有像 $\|\|$ 这样的符号时,该条目不会显示。使用这个最小的例子:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{nomencl}
\makenomenclature

\begin{document}
\mbox{}

\nomenclature{$c$}{Speed of light in a vacuum inertial frame}
\nomenclature{$h$}{Planck constant}
\nomenclature{$\|\|$}{Norm}

\printnomenclature
\end{document}

我得到了光速和普朗克常数的条目,但规范条目却被忽略了。这是故意的吗?我怎样才能让规范显示在命名法中?

答案1

您需要转义特殊字符、反斜杠和竖线:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{nomencl}
\makenomenclature

\begin{document}
\mbox{}

\nomenclature{$c$}{Speed of light in a vacuum inertial frame}
\nomenclature{$h$}{Planck constant}
\nomenclature{$"\"|\,{\cdot}\,"\"|$}{Norm}

\printnomenclature
\end{document}

另一方面,使用\lVert\rVert更简单(也更正确)

\nomenclature{$\lVert\,{\cdot}\,\rVert$}{Norm}

在此处输入图片描述

答案2

正如@Nicola-Talbot 指出的那样,| 是 makeindex 的特殊字符。但无论如何,最好使用 $\Vert$。顺便说一句,我非常喜欢包中的成对分隔符设置mathtools:它可以确保您永远不会有不匹配的括号。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{nomencl}
\makenomenclature

\begin{document}


hello

\nomenclature{$c$}{Speed of light in a vacuum inertial frame}
\nomenclature{$h$}{Planck constant}
\nomenclature{$\Vert$}{Norm}

\printnomenclature
\end{document}

相关内容