[Tex/LaTex] Norm Symbol in Nomenclature not showing

nomenclnomenclature

When I have symbols like $\|\|$ in a nomenclature entry, then the entry doesn't show. Using this minimal example:

\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}

I get an entry for the speed of light and the planck constant but the norm entry just falls under the bus. Is this deliberate? How can I make the norm show in the nomenclature?

Best Answer

You need to escape the special characters, the backslash and the vertical bar:

\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}

On the other hand using \lVert and \rVert is simpler (and more correct)

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

enter image description here

Related Question