# Customizing nomenclature '=' separator as in aiaa

This is a problem google was unable to aid me with. I am writing an aiaa journal paper and need to generate a nomenclature. All templates and examples I have come accross do this manually, using a tabular. My question is, is there any way to make the \printnomenclature use a separator as in this example here?

• Welcome to TeX.SX! – egreg Oct 20 '15 at 10:16

With the standard setting of nomencl you have to decide yourself for the label width; here's a simple change for getting an equals sign.

\documentclass{article}
\usepackage{nomencl}

\makenomenclature
\renewcommand{\nomlabel}[1]{#1\hfil\hspace{\labelsep}$=$}

\begin{document}

xyz

\nomenclature{P}{Plume length}
\nomenclature{Loooooong}{Whatever}

\printnomenclature

\end{document}


With the optional argument to \printnomenclature you can set the width to the widest label.

\documentclass{article}
\usepackage{nomencl}

\makenomenclature
\renewcommand{\nomlabel}[1]{#1\hfil\hspace{\labelsep}$=$}
\newlength{\nomwidest}

\begin{document}

xyz

\nomenclature{P}{Plume length}
\nomenclature{Loooooong}{Whatever}

\settowidth{\nomwidest}{\nomlabel{Loooooong}}
\printnomenclature[\nomwidest]

\end{document}


With a bit more of effort, we can also make the setting of the widest label automatic:

\documentclass{article}
\usepackage{nomencl}

\makenomenclature

\makeatletter
\newdimen\nomwidest
\renewcommand{\nomlabel}[1]{%
\sbox\z@{#1\hspace{\labelsep}$=$}%
\ifdim\nomwidest<\wd\z@\global\nomwidest\wd\z@\fi
#1\hfil\hspace{\labelsep}$=$%
}
\renewcommand{\nompostamble}{%
\protected@write\@auxout{}{\global\nomwidest=\the\nomwidest}%
}
\makeatother

\begin{document}

xyz

\nomenclature{P}{Plume length}
\nomenclature{Loooooong}{Whatever}

\printnomenclature[\nomwidest]

\end{document}


The output is as in the second picture. Since we use the aux file, two runs of LaTeX may be necessary for synchronization.

• @EladDen The last addition should be even more fun for you. – egreg Oct 20 '15 at 10:35
• you are now officially my hero :) – Elad Den Oct 20 '15 at 11:02

Edit using the package nomencl (note: replace all occurrences of \nomenclature with \nommod):

\documentclass{article}
\usepackage{nomencl}
\begin{document}
\makenomenclature
Nomenclature separator example
\nommod{G}{number of global configurations available for end states}
\nommod{M}{large number for logical constraints}
\nommod{N}{number of dimensions}
\printnomenclature
\end{document}


Original answer: You can define a custom \item command to include a separator. Using the enumitem package you can customize alignment etc. MWE:

\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{center}\textbf{Nomenclature}\end{center}
\begin{description}[leftmargin=3em,itemsep=-1mm,style=nextline]
\litem{G}{number of global configurations available for end states}
\litem{M}{large number for logical constraints}
\litem{N}{number of dimensions}
\end{description}
\par\noindent\textit{Subscripts}
\begin{description}[leftmargin=3em,itemsep=-1mm,style=nextline]
\litem{g}{global configuration for final states}
\litem{i}{time step}
\litem{l}{obstacle}
\litem{n,m}{axes in some orthogonal coordinate frame}
\end{description}
\end{document}

• what is the difference between this and using a tabular ? if I understand corectly, this does not generate the nomenclature automatically, I'd have to list all items manually ? this also does not make use of the \nomenclature definitions I've used all through the document... – Elad Den Oct 20 '15 at 9:43
• @EladDen this is indeed manual, but with a bit easier syntax as compared to a tabular. I'll try to find a solution using \printnomenclature. – Marijn Oct 20 '15 at 9:48

and here's how to do it with glossaries

\documentclass{article}

\usepackage[nonumberlist,acronym]{glossaries}
%this takes the acronyms out of the gossaries, unless otherwise specified

\makenoidxglossaries
\include{misc/Glossaries}

\newglossarystyle{mystyle}{%
\renewenvironment{theglossary}%
{\begin{longtable}[L]{l>{\raggedright}l}}%
{\end{longtable}}%
\renewcommand*{\glossaryentryfield}[5]{%
\glsentryitem{##1}\glstarget{##1}{##2}& = ##3\glspostdescription\space ##5%
\tabularnewline}%
\renewcommand*{\glossarysubentryfield}[6]{%
&
\glssubentryitem{##2}%
\glstarget{##2}{\strut}##4\glspostdescription\space ##6%
\tabularnewline}%
\renewcommand*{\glsgroupskip}{\ifglsnogroupskip\else & \tabularnewline\fi}%
}

\begin{document}