LaTeX: Add List of Abbreviations / Nomenclature

You might need to print the list of symbols or list of abbreviations for your LaTeX document. nomencl package can be used for this purpose.

You need to load the nomencl package in the preamble of your document. The command \makenomenclature will instruct LaTeX to open the nomenclature file filename.nlo corresponding to your LaTeX file filename.tex and to write the information from your \nomenclature commands to this file.


\usepackage{nomencl}
\makenomenclature

Then, you need to define your nomenclature abbreviation and its description in your document.


\nomenclature{$\sigma$}{The total mass of angels per unit area}
\nomenclature{NLP}{Natural Language Processing}

You need to use printnomenclature macro where you want to print your nomenclature.


\printnomenclature

You can also specify the distance between the symbol/abbreviation and its description text.


\printnomenclature[0.5in]

Finally, you need to use MakeIndex program to generate the nomenclature list. Without makeindex, the list will not be generated.

In the following command, we instruct MakeIndex to use filename.nlo as our input file, use nomencl.ist as our style file, and write output to the file filename.nls.


makeindex filename.nlo -s nomencl.ist -o filename.nls

You need to build your main latex file before and after makeindex.


pdflatex filename
makeindex filename.nlo -s nomencl.ist -o filename.nls
pdflatex filename

By default, the title of the nomenclature is Nomenclature. We can change it to our desired name with the renewcommand. Below, we have changed the title of the nomenclature to List of Abbreviations.


\renewcommand{\nomname}{List of Abbreviations}

Here is the complete code to create a document with a list of symbols/abbreviations:


\documentclass{article}

\usepackage{nomencl}
\makenomenclature

\renewcommand{\nomname}{List of Abbreviations}

\begin{document}

\printnomenclature 
\hfill % add blank space

NLP is a field of computer science, artificial intelligence, and linguistics concerned with the interactions between computers and human (natural) languages.

\nomenclature{NLP}{Natural Language Processing}

$\sigma$ is the eighteenth letter of the Greek alphabet, and carries the 's' sound. In the system of Greek numerals, it has a value of 200. 

\nomenclature{$\sigma$}{The total mass of angels per unit area}

\end{document}

Below is the pdf file generated after you compile the above LaTeX source:

You can find about other nomenclature plugins over here: http://en.wikibooks.org/wiki/LaTeX/Indexing