LaTeX

LaTeX Glossary and List of Acronyms with the glossaries Package

Define terms once, use them with \gls, and let LaTeX build the glossary and abbreviation list.

MZ
Dr. Meng Zhao|Physician-Scientist · Founder, LabCat AI
Published: October 2026•7 min read•LaTeX

Theses and long reports often need a glossary and a list of abbreviations. The glossaries package handles both. You define each term once, refer to it with \gls, and LaTeX prints only the entries you actually used, with page numbers.

Short answer

Load \usepackage[acronym]{glossaries}, add \makenoidxglossaries, define entries with \newglossaryentry and \newacronym, use them with \gls{label}, and print with \printnoidxglossaries. Compile twice.

A complete working example

This version needs no extra tool, so it compiles the same way locally and on Overleaf:

\documentclass{article}
\usepackage[acronym,toc]{glossaries}
\makenoidxglossaries

\newglossaryentry{latex}{
  name={LaTeX},
  description={A document preparation system built on TeX}
}
\newglossaryentry{matrix}{
  name={matrix},
  plural={matrices},
  description={A rectangular array of numbers}
}
\newacronym{svm}{SVM}{support vector machine}

\begin{document}
\Gls{latex} is used here, with two \glspl{matrix}.
We trained a \gls{svm}. Later the \gls{svm} was tuned.

\printnoidxglossaries
\end{document}

The first \gls{svm} prints "support vector machine (SVM)" and later uses print "SVM". \Gls capitalises the first letter, and \glspl gives the plural. The toc option adds the glossary and acronym list to the table of contents.

Watch the article before an acronym. The first use expands to the long form, so write the article that fits the long form ("a support vector machine"), since that is what the reader sees first.

Commands you will use

CommandPrints
\gls{label}The term (and the long form on first use, for acronyms)
\Gls{label}The same, capitalised
\glspl{label}The plural
\acrshort{label}The abbreviation only
\acrlong{label}The long form only
\acrfull{label}Long form with the abbreviation in brackets
\glsresetallTreats every acronym as unused again, for example at the start of a chapter

Faster sorting with makeglossaries

\makenoidxglossaries sorts inside LaTeX, which slows down with hundreds of entries. For large glossaries, use \makeglossaries and \printglossaries, and run the makeglossaries tool between two LaTeX runs:

\documentclass{article}
\usepackage[acronym]{glossaries}
\makeglossaries
\newglossaryentry{latex}{name={LaTeX}, description={A document preparation system}}
\newacronym{svm}{SVM}{support vector machine}
\begin{document}
\gls{latex} and a \gls{svm}.
\printglossaries
\end{document}

The build sequence is pdflatex main, then makeglossaries main, then pdflatex main again. Overleaf and latexmk run makeglossaries for you. If the lists are empty locally, that step was skipped.

Common problems

  • The glossary does not appear: you used \makeglossaries without running makeglossaries, or nothing was referenced with \gls. Only used entries are printed.
  • "Glossary entry x has not been defined": the label in \gls does not match the definition, or the definition comes after \begin{document} in a file that is read too late. Keep definitions in the preamble or in a file loaded there.
  • Links do not work: load hyperref before glossaries.
  • You want the acronyms in the main glossary: drop the acronym option and both kinds of entry go into one list.

For larger projects, the glossaries-extra extension adds more abbreviation styles and the bib2gls tool, which keeps entries in a .bib-style file. The commands above work with it too.

Frequently Asked Questions

How do I make a list of abbreviations in LaTeX?

Load glossaries with the acronym option, define each abbreviation with \newacronym{label}{ABBR}{long form}, use \gls{label} in the text and print the list with \printnoidxglossaries or \printglossaries.

Why is my LaTeX glossary empty?

Either the makeglossaries step was not run (if you used \makeglossaries) or no entry was used with \gls. Switch to \makenoidxglossaries to avoid the extra step.

Does the glossaries package work on Overleaf?

Yes. Overleaf runs makeglossaries automatically, and \makenoidxglossaries needs no extra step at all.

More LaTeX Guides

MZ

Written by Dr. Meng Zhao

Physician-Scientist · Founder, LabCat AI

MD · Former Neurosurgeon · Medical AI Researcher

Dr. Meng Zhao is a former neurosurgeon turned medical-AI researcher. After years in the operating room, he moved into applied AI for clinical workflows and now leads LabCat AI, a medical-AI company working on decision support and research tooling for clinicians. He built Journal Metrics as a free resource for researchers who need reliable journal metrics without paid database subscriptions.

Related Articles