I write papers, reports, etc., and frequently use the same set of acronyms, so I thought it would be useful to just keep all the acronym definitions in a single file. Seems like the sensible approach to me.

The problem is that sometimes I do want an acronym list, and sometimes I don't, and unfortunately, it seems that LaTeX doesn't provide an elegant way of doing this. If you define an acronym using \acro then latex will put it in an acronym list, and if you define it with with \acrodef then it won't.

It seems like this prevents me from keeping a single source file for all my acronyms and using it in both documents in which I would like an acronym list and documents in which I wouldn't.

Does anyone know of an elegant solution for this?

  • Welcome to TeX.sx! Your question was migrated here from another stackexchange site. Please register on this site, too, and make sure that both accounts are associated with each other, otherwise you won't be able to comment on or accept answers or edit your question.
    – N.N.
    Aug 12, 2011 at 9:33
  • 1
    So what you want is a something like what bibtex does: Optionally only print the used acronyms to a list of acronyms.
    – Seamus
    Aug 12, 2011 at 10:05
  • 2
    You can use the package glossaries with the script makeglossaries. The package has also an option for acronym. Aug 12, 2011 at 10:45
  • @Marco perhaps you could write up an answer explaining this?
    – Seamus
    Aug 12, 2011 at 10:48
  • @Seamus: I will do it Aug 12, 2011 at 10:49

4 Answers 4


I believe the acronym package option you're looking for is nolist, e.g.,


The package options aren't clearly listed in the CTAN documentation, but they're discernible from the implementation section. They are:

  • footnote
    • The option footnote makes the full name appear as a footnote.
  • nohyperlinks
    • If hyperref is loaded, all acronyms will link to their glossary entry. With the option nohyperlinks these links can be suppressed.
  • printonlyused
    • Only list used acronyms
  • withpage
    • In printonlyused-mode show the page number where each acronym was first used.
  • smaller
    • Make the acronym appear smaller.
  • dua
    • The option dua stands for “don’t use acronyms”. It leads to a redefinition of \ac and \acp, making the full name appear all the time and suppressing all acronyms but the explicity requested by \acf or \acfp.
  • nolist
    • The option nolist stands for “don’t write the list of acronyms”.
  • 1
    Or alternatively the "printonlyused" option, when using a list (that is, if I understand the question correctly).
    – ienissei
    Jan 4, 2012 at 8:13

According to the comments above I write a small answer which explain the using of the package glossaries for acronyms.

First the minimal example which uses the filecontents-environment to create an external file for the acronmys:

\newacronym{CD}{CD}{Compact Disc}
\newacronym{Mac}{Mac}{Short form of Apple Mac}
\usepackage[utf8]{inputenc} %Dateikodierung


\section{Some examples}
Some Text \gls{MS} and \gls{Mac}


The external file is loaded by \loadglsentries.

To create the list of acronyms you can use the script makeglossaries (need perl)

makeglossaries filename

(no extension) or by using makeindex:

makeindex -s filename.ist -t filename.alg -o filename.acr filename.acn

The examples shows that the entry CD isn't part of the list of acronyms.

The whole compilation looks like:


The result

  • Honestly I think this package is the best for this kind of work. Gives you so many nice options!
    – Pidrittel
    Jul 28, 2020 at 10:07

Actually I find more easy this way to create acronymous in latex .tex, then I want to share here:


and then you can call in the text like this:


Hope it can help. Enjoy!

  • 2
    Welcome to TeX.SX. Your answer seems to be very similar to the answer of Jon, isn't it? Jul 28, 2016 at 9:04
  • 1
    Similar, maybe, but providing the very relevant \acrodef bit. Perfectly legit and more than enough to deserve a +1!
    – fr_andres
    Jun 7, 2021 at 8:29

You can use package glossaries. You can place file with definition of acronyms somewhere in your local texmf tree. This will enable you to use it from different directories. (to find, where local texmf is placed, see Where is "texmf" on a Windows install?) Contents of this file (I used location ~/texmf/tex/generic/acronyms.tex on my PC)

\newacronym{hello}{hw}{hello world}
\newacronym{svm}{svm}{support vector machines}
\newacronym{nu}{nu}{not used}

and example document:


\Gls{hello}, just use some \gls{svm}. Or are \gls{svm} only for watching?




List of glossaries is generated with command makeglossaries documentname. For more information about available options, see glossaries manual (texdoc glossaries-user.pdf), section 13.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy