[Tex/LaTex] Nomenclature duplicates

nomenclature

Is there a way to automatically remove duplicates from the generated Nomenclature?

E.g. adding multiple times:

\nomenclature{HTML}{HyperText Markup Language}

in your TeX file should generate only one entry in the Nomenclature.

This minimal example shows what happens:

% This is test.tex
\documentclass{book}
\usepackage{nomencl}
\makenomenclature
\begin{document}

Some text \nomenclature{HTML}{HyperText Markup Language}

\newpage
\chapter{Chapter}

Some text \nomenclature{HTML}{HyperText Markup Language}

\printnomenclature
\end{document}

The nomenclature was generated with makeindex test.nlo -s nomencl.ist -o test.nls and here is the test.nls:

\begin{thenomenclature}

\nomgroup{A}

  \item [{HTML}]\begingroup HyperText Markup Language\nomeqref {0}
        \nompageref{1}
  \item [{HTML}]\begingroup HyperText Markup Language\nomeqref {1.0}
        \nompageref{3}

\end{thenomenclature}

Problem comes with lines at test.nlo are not identical:

\nomenclatureentry{aHTML@[{HTML}]\begingroup HyperText Markup Language\nomeqref {0}|nompageref}{1}
\nomenclatureentry{aHTML@[{HTML}]\begingroup HyperText Markup Language\nomeqref {1.0}|nompageref}{3}

In my real tex \nomeqref's content is \relax x.x for duplicate entries.

Best Answer

The nomencl package has a different purpose than what you're using it for.

The package's purpose is to write a list of symbols or abbreviation used, with a reference to the place where they're defined or first used (at the user's choice). So it's not meant to place multiple reference to a nomenclature.

For acronyms the best package around is glossaries, but the simpler acronym is often used.

Related Question