39 Comments

  1. Dror Atariah

    Maybe worth adding that one should add

    # for nomenclature
    add_cus_dep(“nlo”, “nls”, 0, “nlo2nls”);
    sub nlo2nls {
    system(“makeindex $_[0].nlo -s nomencl.ist -o $_[0].nls -t $_[0].nlg”);
    }

    to the .latexmkrc file for this method to work hand in hand with latexmk.

    • Hi Frits,
      Thanks for the link. The drawback is, you point it out in your post, you have to collect and type everything out manually.
      Nice site by the way!
      Best, Tom.

    • Hi Sailesh,

      The documentation describes how to create subgroups and I put together their example below. If you require two separate lists, I suggest using the glossaries package, which is more flexible.

      Best, Tom.

      \documentclass[11pt]{article}
      \usepackage{nomencl}
      \usepackage{ifthen}
      \renewcommand{\nomgroup}[1]{%
      	\ifthenelse{\equal{#1}{R}}{\item[\textbf{Variables}]}{%
      		\ifthenelse{\equal{#1}{G}}{\item[\textbf{Constants}]}{}
      	}
      }
      \makenomenclature
      \begin{document}
      This is some fancy text.
      \nomenclature[ga ]{$\alpha$}{Constant}
      \nomenclature[rx ]{$x$}{Variable}
      \printnomenclature
      \end{document}
  2. Fer

    Hi, I’m using nomenclature after \listoftables and \listoffigures, and before the beginning of the first chapter.
    My problem is that every of the firsts commands create a second blank page with only the header and page number, however nomenclature don’t, and there is a second blank page after nomenclature with the header of listoffigures. It seems like latex don’t know listoffigures end before nomenclature or something like that. By the way, listoffigures, of tables, etc. are not in the index (makeindex), and nomenclature does.

    Please help!!

    • Hi Fer,

      See here for a solution to your double page break problem. It’s got to do with the documentclass option openright.

      How to add the list of figures/table to the table of contents is explained here under point 6 (among other things). makeindex creates the nomenclature, not the table of contents as the name might suggest.

      Let me know if your problems are still facing problems.

      Best, Tom.

      • Sarah

        Hi Tom,
        I have tried looking at the pages you suggest, but I have still not been able to find a solution to my problem.
        I am currently writing my master thesis with document class [10pt,twoside]{book}. I have created the nomenclature as a long table, but when I include the nomenclature after the list of tables the page number for the nomenclature becomes incorrect (it says X in the table of contents instead of IX). Also on the page after the nomenclature it says “list of tables” at the top.
        Do you have any ideas?

        Thanks, Sarah

  3. Martha

    Hi Tom. I have been trying to follow your examples, but I still can’t make the list of abbreviations. I copied your Time Zone-example into TeXshop, but it doesn’t seem like the \printnomenclature works. Any suggestions? Thanks anyway:-)

      • Kris

        Hi Tom,

        How (or where) do you run makeindex?

        I indeed noticed this part in the documentation above:
        latex filename.tex
        makeindex filename.nlo -s nomencl.ist -o filename.nls
        latex filename.tex

        However, it is unclear to me what I have to do with this code?

      • tom

        Hey Kris,

        Usually, this would be done in the terminal/command-line, unless your editor provides an interface/button for it.

        Best, Tom.

  4. I used the nomencl pakage as you suggested in another post. Everything is working fine, but the title appears as centered, unlike the List of Tables and List of Figures page, where the title appears on the left. One more thing is that the fontsize of the title is also small compared to the fontsize of the List of Figures page.

    Here is the code:

    
    \documentclass{report}
    
    \usepackage{tocloft}
    \usepackage{etoolbox}
    \usepackage{titlesec}
    
    \usepackage{nomencl}
    \makenomenclature
    \renewcommand{\nomname}{List of Abbreviations}
    
    \titleformat{\chapter}[display]
     {\normalfont\LARGE\bfseries}{\filright\chaptertitlename\ \thechapter}
      {20pt}{\LARGE\filcenter}
    
    \titlespacing*{\chapter}{0pt}{-30pt}{40pt}
    
    \begin{document}
    
    \tableofcontents
    \clearpage
    \listoffigures
    \clearpage
    \printnomenclature
    
    \chapter{Dummy}
    I don't like WYSIWYG\nomenclature{WYSIWYG}{What You See Is What You Get} editors.
    
    \end{document}
    

    I haven’t included any image as such in this code, but I have done so in my thesis.

    • Hi,

      You redefine the titleformat. Just remove or comment out lines 11-13 (and possibly 15) and you’ll get the standard behavior.

      Cheers, Tom.

  5. konstantin

    HI
    i attempt the ‘Complete code of a working example and its output’ in my texwork and it only displays the sentence UTC is 3 hours behind ADT and 10 hours ahead of EST
    please advise

  6. Magical Marshmallow

    Hi,

    I’ve a problem with my list of Nomenclature and Abbreviations and a fancyhdr. My list works fine, but when it runs over to a second page, the header appears only on the second page, not on the first. Very strange. Anyone have any ideas for a solution please?

    My code is:

    \documentclass{scrreprt}
    	\makenomenclature
    	\renewcommand{\nomname}{Nomenclature \& Abbreviations}
    \usepackage{fancyhdr}
    \begin{document}
     	\protect\thispagestyle{fancy}
    	\phantomsection \addcontentsline{toc}{chapter}{Nomenclature \& Abbreviations}
    	\twocolumn
    	\titlespacing*{\chapter}{0cm}{-0.26cm}{0.65cm}
    	\chaptermark{Nomenclature \& Abbreviations}
    	\printnomenclature[1.8cm] %1.8cm between abbreviation and explanation
    	\protect\thispagestyle{fancy}
    	\pagebreak
    \end{document}
  7. eman

    Hi Tom,
    really liked the way you explained it all. i have a question that i can’t seem to find the answer for online and am running out of time and options. could you please help me? 🙂
    it sounds silly, but … I’m a newbie…so here goes:
    how do i install packages in latex?
    I’ve had to manually do many functions for which a package is available like splitting a long table!

    please help! 🙂

    • Hi eman,

      There are essentially two ways:

      1. If you only need the package for this project, it is sufficient to place the package file (.sty) in the project directory. It is only available to the project you are working on.
      2. You can install packages globally. After downloading, you copy the package file into your tex distribution tree and update the index. The entire installation process is described here.

      HTH, Tom

  8. Michal

    Hi Tom,
    I would like to have more than one nomenclature in my document:
    1. Below every equation
    2. At the begining of the document a complete nomentclature of all symbols used.

    Do you know whether it is possible to do this using nomencl package ?
    Or in other words, how to make \nomenclature visible ?

    Thank you in advance 🙂

  9. Incidentally, I have also used \textbf that is able to set letters as boldfaced. For example,

    \nomenclature{\textbf{FS}}{\textbf{F}irst \textbf{S}econd}

    will bold face first letters of words. Personally felt this appears better in abbreviations.

  10. Tim

    Hi Tom,

    I was wondering if it’s possible to use the package so that you can have two different symbols for the same variable. The use would be having a ‘math’ symbol and a ‘code’ symbol. Ideally, it would accept an extra argument, and an input of:

    \nomenclature{$\sigma$}{stdDev}{Standard deviation}

    Would output something resembling:
    $\sigma$ \tt{stdDev} Standard Deviation

    Any ideas?

    Thanks,
    Tim

    • tom

      What I can think of is to create a command which takes 3 arguments and call \nomenclature from there:

      \newcommand\nomencl[3]{%
      	\nomenclature{\parbox{1cm}{#1}\parbox{1cm}{\tt{#2}}}{#3}
      }

      And you might need extra space for the label (see documentation):

      \printnomenclature[2cm]

      Let me know if this helps.

Leave a Reply