List of Symbols

How to create an automated List of Symbols in LaTeX?

Warning: The tools I have used for writing my thesis are MiKTeX 2.5 and WinEdt 5.4. There is no guarantee that this will work with your code. Try this at your own risk.

There isn't an automated way of doing the List of Symbols in LaTeX unlike List of Figures or List of Tables. But it is possible using macros etc. This is how I added the list to my thesis.

Add the following macro code after the part that you include packages:

%Your packages
.
.
\usepackage{array} %for vertical thick lines in tables
\usepackage{multirow} %multirow tables
\usepackage{nicefrac} %for fractions like 1/4
%Package list ends here


% Macro for 'List of Symbols', 'List of Notations' etc...
\def\listofsymbols{\input{symbols} \clearpage}
\def\addsymbol #1: #2#3{$#1$ \> \parbox{5in}{#2 \dotfill \pageref{#3}}\\}
\def\newnot#1{\label{#1}}

.
.

Next, add your list to your text. I placed it after List of Figures.

.
.
\tableofcontents
\listoftables \addcontentsline{toc}{chapter}{List of Tables}
\listoffigures\addcontentsline{toc}{chapter}{List of Figures}
\newpage
\chapter*{List of Symbols\hfill} \addcontentsline{toc}{chapter}{List of Symbols}
\listofsymbols

.
.

Now go ahead and mark your variables in your source code with \newnot{YOUR_SYMBOL_LABEL}. An example text is as follows,

... Here, if the dimensions of A \newnot{symbol:A}, B \newnot{symbol:B}, and C \newnot{symbol:C} are nxn, nxm and lxn \newnot{symbol:nml} respectively; then n-vector x\newnot{symbol:x} denotes the system state; m-vector u denotes system control; and the l-vector y denotes the system output. ...

where your label for the variable "x" is "symbol:x" and so on.

After marking all of your variables, you need to create a separate file to list all of your symbols. Create a file named symbols.tex and paste the following lines. You need to fill the entry symbol manually, and for the rest use the macro definition. You can adjust spaces/tabbing by changing the first line. Use "~" for spaces.


%%%%%%%%%%%%%%%%%%%%%%%
%Sample List of Symbols
%%%%%%%%%%%%%%%%%%%%%%%
\begin{tabbing}
% YOU NEED TO ADD THE FIRST ONE MANUALLY TO ADJUST THE TABBING AND SPACES
$n$~~~~~\=\parbox{5in}{Vector size\dotfill \pageref{symbol:nml}}\\
%ADD THE REST OF SYMBOLS WITH THE HELP OF MACRO
\addsymbol m: {Vector size}{symbol:nml}
\addsymbol l: {Vector size}{symbol:nml}
\addsymbol x: {State vector}{symbol:x}
\addsymbol u: {Control input}{symbol:x}
\addsymbol y: {Output vector}{symbol:x}
% .
% .
% .
\addsymbol \mathbf{A}: {State Matrix}{symbol:A}
\addsymbol \mathbf{B}: {Input Matrix}{symbol:B}
\addsymbol \mathbf{C}: {Output Matrix}{symbol:C}
% .
% .
% .
% ALWAYS KEEP THE FOLLOWING LINE
\end{tabbing}

Your list should look like this

Related Links:
[1] MiKTeX Project Page
[2] WinEdt Editor (shareware)
[3] Another way of doing lists