Sign up ×
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 have searched for the whole day online, but all the threads indicate only realizing one of the lists by using nomencl package. I want to create both list of abbreviations AND list of nomenclature using nomencl package. How do I differ two \printnomenclature so that LaTeX could separate them clearly?

share|improve this question
Perhaps you can use the gloss package for the abbreviations? – guillem Dec 12 '12 at 7:21
Have a look at glossaries, a package which is capable of dealing with multiple - well - glossaries. – clemens Dec 12 '12 at 9:06
+1 for glossaries, Iused that myself, and it works great. I guess it is up to @cgnieder to make that an answer. – mafp Dec 12 '12 at 16:36

2 Answers 2

up vote 23 down vote accepted

I'm not aware of a way to do this with nomencl. However, there are other packages which can be used. I'll give two examples, one for my package acro and one for glossaries.

  1. acro

    The acro package allows to assign acronyms to a class and print lists for each class (also for combined classes...). This fact can be used for the task. Entries are defined with the following syntax:

      short = <short> ,
      long  = <long> ,
      class = <class>

    Here is a full example:

    % probably a good idea for the nomenclature entries:
    % class `abbrev': abbreviations:
      short = NY ,
      long  = New York ,
      class = abbrev
      short = LA ,
      long  = Los Angeles ,
      class = abbrev
      short = UN ,
      long  = United Nations ,
      class = abbrev
    % class `nomencl': nomenclature
      short = \ensuremath{a} ,
      long  = The number of angels per unit area ,
      sort  = a ,
      class = nomencl
      short = \ensuremath{N} ,
      long  = The number of angels per needle point ,
      sort  = N ,
      class = nomencl
      short = \ensuremath{A} ,
      long  = The area of the needle point ,
      sort  = A ,
      class = nomencl
    \ac{ny}, \ac{la} and \ac{un} are abbreviations whereas
    \ac{angelsperarea}, \ac{numofangels} and \ac{areaofneedle} are part of the

    enter image description here

  2. glossaries

    The glossaries package is much more powerfull. You can define as many glossaries as you like. Here we can use the fact that a glossary for acronyms is already defined. Similar to nomencl it requires you to run a script to sort the entries. If your file is called file.tex this is usually done by calling

    makeglossaries file

    from the command line. Details can be found in the user manual (page 26, section 1.3.3).

    The full example:

    % abbreviations:
    \newacronym{ny}{NY}{New York}
    \newacronym{la}{LA}{Los Angeles}
    \newacronym{un}{UN}{United Nations}
    % nomenclature:
      name = $a$ ,
      description = The number of angels per unit area,
      name = $N$ ,
      description = The number of angels per needle point
      name = $A$ ,
      description = The area of the needle point
    \gls{ny}, \gls{la} and \gls{un} are abbreviations whereas
    \gls{angelsperarea}, \gls{numofangels} and \gls{areaofneedle} are part of the

    enter image description here

share|improve this answer
Forgive my ignorance, but what are those numbers in the end of each abbreviation / nomenclature entry ? – jmacedo Feb 3 '14 at 9:14
@joxnas the page the respective acronym appeared – clemens Feb 3 '14 at 9:17

This also works (I couldn't get the above script working for a symbol list with units AND glossary..). Important is the order of lines here!


%Load the package
nonumberlist, %do not show page numbers
acronym,      %generate acronym listing   -> Not used in this example (see line with %%% )
toc,          %show listings as entries in table of contents
section]      %use section level for toc entries

%Generate a list of symbols
\newglossary[slg]{symbols}{syi}{syg}{List of symbols}

%Remove the dot at the end of glossary descriptions

%Activate glossary commands

%Load nomenclature and glossary files

%These commands sort the lists
%%%makeindex -s -t filename.alg -o filename.acr filename.acn
%makeindex -s -t filename.glg -o filename.gls filename.glo
%makeindex -s -t filename.slg -o filename.syi filename.syg


%Print the glossary

%%%%Print list of acronyms

%Print list of symbols

bla-bla \gls{h} \gls{nslats} \gls{illuminance}



%Some entries for the list of symbols
description={The number of slats},
sort=S, type=symbols, symbol=[$-$]}

sort=h, type=symbols, symbol=[$m$]}


%Some glossary terms
description={Light flux striking a surface, measured in Lux (lx).}

%%% In case you also want a list acronyms
%%%\newacronym{CD}{CD}{Compact Disc}

I don't use Perl so I type these lines directly in the command prompt after changes in any file (notice: if you didn't change anything concerning the glossary or the symbol list it is be okay to just pdflatex only once!):

pdflatex BasicFile.tex 
pdflatex BasicFile.tex 
makeindex -s -t BasicFile.slg -o BasicFile.syi BasicFile.syg
makeindex -s -t BasicFile.glg -o BasicFile.gls Report_Base_v6.glo 
pdflatex BasicFile.tex
share|improve this answer
Welcome to! – Kurt Feb 15 '13 at 13:28

Your Answer


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.