MakeIndex, Nomenclature, Glossaries and Acronyms ⇒ Index of Subjects and Symbols
-
- Posts: 34
- Joined: Sat Aug 08, 2009 1:05 pm
Index of Subjects and Symbols
I'm writing a book and need to make a subject index and a symbol index similar to the following one The problem is that I tried to find some package to do this and I couldn't find. I'm using multind, but it is to old and the symbol index is very bad.
Can anyone help me with a minimal working example?
thank you in advance
NEW: TikZ book now 40% off at Amazon.com for a short time.
And: Currently, Packt sells ebooks for $4.99 each if you buy 5 of their over 1000 ebooks. If you choose only a single one, $9.99. How about combining 3 LaTeX books with Python, gnuplot, mathplotlib, Matlab, ChatGPT or other AI books? Epub and PDF. Bundle (3 books, add more for higher discount): https://packt.link/MDH5p
- localghost
- Site Moderator
- Posts: 9202
- Joined: Fri Feb 02, 2007 12:06 pm
Index of Subjects and Symbols
Board Rules
Avoidable Mistakes
¹ System: TeX Live 2025 (vanilla), TeXworks 0.6.10
-
- Posts: 34
- Joined: Sat Aug 08, 2009 1:05 pm
Re: Index of Subjects and Symbols
Thanks for the anwser
- localghost
- Site Moderator
- Posts: 9202
- Joined: Fri Feb 02, 2007 12:06 pm
Index of Subjects and Symbols
Good decision. Take your time to read the manual for the package of your choice. The examples will give you a good starting point.melekzedek wrote:[…] I will give another look carefuly. […]
Board Rules
Avoidable Mistakes
¹ System: TeX Live 2025 (vanilla), TeXworks 0.6.10
-
- Posts: 34
- Joined: Sat Aug 08, 2009 1:05 pm
Index of Subjects and Symbols
- I need to define multiple indexes, each based on the specific topic (e.g. Operators, Set theory, etc), I guess makeindex is sufficient for this purpose.
- I need to print all the indexes in a continuous way, switching off the new page in each print index.
Thanks for the quick answer.
- localghost
- Site Moderator
- Posts: 9202
- Joined: Fri Feb 02, 2007 12:06 pm
Index of Subjects and Symbols
Board Rules
Avoidable Mistakes
¹ System: TeX Live 2025 (vanilla), TeXworks 0.6.10
Index of Subjects and Symbols
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):Code: Select all
\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}
- Run pdflatex
- Run makeglossaries
- Run pdflatex
Page 1:
Page 2:
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:
Code: Select all
\newconstant{c}{c, c_1, c_2, \ldots, v_n}
Code: Select all
In-line: $\glslink{c}{c}$ or $\glslink{c}{c_1}$ or $\glslink{c}{c_2}$ etc.
Nicola Talbot
Creating a Minimal Example: http://www.dickimaw-books.com/latex/minexample/