Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'm starting to make a symbol and subject index with the package multind. In the symbol index, I would like to group the symbols by thematics, e.g., write set theory notation and have all the symbols below the description, after write operators and have all the notation for the operators, etc.

Does anyone knows how to do this?

I would like to obtain something like the following

Can anyone help me with a minimal working example? Preferably changing the section with page number.

share|improve this question
1  
The package multind is very old and unmaintained. I suggest you to use either imakeidx or splitidx to generate multiple indexes. –  karlkoeller Nov 20 '13 at 6:01
2  
This seems more a work for the glossaries package. –  egreg Nov 20 '13 at 8:49

1 Answer 1

You can use glossaries to do this. I assume you either want to sort your symbols according to definition or to usage since symbols are difficult to sort alphabetically (and your sample isn't alphabetically sorted). With glossaries you can use the package option sort=def to sort in order of definition or sort=use to sort according to usage. In the example below, I've used sort=def (change \setglossarystyle to \glossarystyle if you are using a version of glossaries prior to version 4.0):

\documentclass{report}

\usepackage{amsfonts}
\usepackage[nomain,section,sort=def]{glossaries}
\usepackage{glossary-mcols}

% (Pre glossaries v4.0 requires \glossarystyle rather than
% \setglossarystyle)
\setglossarystyle{mcolindex}
\renewcommand{\glspostdescription}{\dotfill}

\newglossary[op-glg]{operators}{op-gls}{op-glo}{Operators}
\newglossary[cn-glg]{constants}{cn-gls}{cn-glo}{Constants}

\makeglossaries

% Define a command to define operators
% Syntax: \newoperator[options]{label}{operator symbol}

\newcommand*{\newoperator}[3][]{%
  \newglossaryentry{#2}{type=operators,%
    name={$#3$},text={#3},description={},#1}%
}

% Similarly for constants

\newcommand*{\newconstant}[3][]{%
  \newglossaryentry{#2}{type=constants,%
    name={$#3$},text={#3},description={},#1}%
}

% Define operators

\newoperator{Mop}{\mathcal{M}}
\newoperator{Aalpha}{A_\alpha}
\newoperator{nablaOmega}{\nabla_\Omega}
\newoperator{T}{T}
\newoperator{I2}{I_2}
\newoperator{Jz}{J_z}
\newoperator{Gz}{G_z}

% Define constants

\newconstant{pdash}{p'}
\newconstant{jnu}{j_\nu}
\newconstant{Mcn}{\mathfrak{M}}
\newconstant{Dpq}{D_{p,q}}

\begin{document}
\chapter{Sample Chapter}

Some sample usage of constants:
\[
 \gls{pdash}, \gls{Mcn}, \gls{jnu}
\]

Some sample usage of operators:
\[
  \gls{Mop}, \gls{Aalpha}, \gls{nablaOmega}
\]

\newpage

More sample usage:
\[
\gls{T}, \gls{I2}, \gls{Jz}, \gls{Gz},
\gls{Mcn}, \gls{Dpq}, \gls{jnu}
\]

\chapter*{Index}

\printglossaries
\end{document}

In order to build the PDF you need to do:

  1. Run pdflatex
  2. Run makeglossaries
  3. Run pdflatex

The above example produces:

Page 1:

Image of page 1

Page 2:

Image of page 2

Page 3:

Image of page 3

In your example image, you have some lines with multiple entries (for example, c, c_1, c_2, \ldots, v_n). There are various ways to deal with these. You could designate the first in the list (e.g, c) as the main parent entry, and the remainder as sub-entries, and then define a glossary style that puts the sub-entry names after the parent entry name, but this will complicate the location list. However, I think the easiest solution is probably to define an entry with the specified list and then use \glsdisp or \glslink whenever you use it.

For example:

\newconstant{c}{c, c_1, c_2, \ldots, v_n}

Then in the document:

In-line: $\glslink{c}{c}$ or $\glslink{c}{c_1}$ or $\glslink{c}{c_2}$ etc.
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.