Creating a list of symbols in latex

Brian picture Brian · May 21, 2010 · Viewed 11.6k times · Source

I'm trying to get an auto generated list of symbols in my latex project. Here is the macro that I have so far...

\newcommand{\addsymbol}[3]{%
  \symboldisplay{#1}{#2}\\%
  \setelem{#3}{#1}
}
\newcommand{\symboldisplay}[2]{%
  $#1$ \parbox{5in}{\dotfill #2}%
}

\def\setelem#1{\expandafter\def\csname myarray(#1)\endcsname}
\def\dispsymbol#1{\csname myarray(#1)\endcsname}

I then include my list of symbols like so

\begin{listofsymbols}
\input{symbols}
\end{listofsymbols}

where the symbols.tex file is

\addsymbol{n}{Number of sample points}{num_points}
\addsymbol{f_s}{Sampling frequency}{samp_frequency}

I can then get my symbol by label like so: \dispsymbol{num_points} -- this displays n in this case.

This works all find and dandy... when I am calling \dispsymbol in the same chapter (the List of Symbols chapter) as the \addsymbol def. When I try to get the label for the symbol in another chapter nothing seems to work.

Could anyone help me, or suggest a package that will do what I am looking for?

Answer

Alessandro Cuttin picture Alessandro Cuttin · May 21, 2010

To automatically generate a list of symbols you can use the nomencl package, or for more complex documents that requires also glossaries or lists of acronyms, the glossaries package.

Check the examples in the documentation ;)