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?
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.
The thing is that
\begin{listofsymbols}
\end{listofsymbols}
is the scope and any macro is lost after this group. You should define the global macros. Replace the following
\def\setelem#1{\expandafter\def\csname myarray(#1)\endcsname}
with
\def\setelem#1{\expandafter\gdef\csname myarray(#1)\endcsname}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With