1

I am using \usepackage{nomencl} to define a list of symbols... For example

\nomenclature[B]{$\varepsilon$}{Permittivity \nomunit{$Farads/cm$}}
\nomenclature[B]{$a$}{Lattice constant\nomunit{$\AA$}}

Now I want to add new symbols, but I do not understand why my pre-existing list is not getting updated in the output file..

Can you please help?

I already tried deleting auxillary file, but it does not help

Here is a working example: (please note the package adsphd can be downloaded here: https://people.cs.kuleuven.be/~wannes.meert/adsphd/)

\documentclass[showinstructions,faculty=firw,department=mtk,phddegree=mtk]{adsphd}
\title{\textsc{Title of the thesis}}

\author{Author}{Name}
\supervisor{Prof. XX}{}
\president{Prof. XX}
\jury{Dr XX }
\externaljurymember{Prof. XX}{far away place}
\researchgroup{XXXXX}
\website{} % Leave empty to hide
\email{} % Leave empty to hide

\address{xx}
\date{Nov 2017}
\copyyear{2017}
\setlength{\adsphdspinewidth}{9mm}

\usepackage{etoolbox}

\usepackage{nomencl}   % For nomenclature
\renewcommand{\nomname}{List of Symbols}
\setlength{\nomlabelwidth}{3cm}
\newcommand{\myprintnomenclature}{%
  \cleardoublepage%
  \printnomenclature%
  \chaptermark{\nomname}
  \addcontentsline{toc}{chapter}{\nomname} %% comment to exclude from TOC
}
\newcommand{\nomunit}[1]{%
    \renewcommand{\nomentryend}{\hspace*{\fill}#1}}

\renewcommand\nomgroup[1]{%
    \item[\bfseries
    \ifstrequal{#1}{A}{Physics Constants}{%
        \ifstrequal{#1}{B}{Other Symbols}{}}%
]}

\makenomenclature%
\usepackage{glossaries} % For list of abbreviations
\newcommand{\glossname}{List of Abbreviations}
\newcommand{\myprintglossary}{%
  \renewcommand{\glossaryname}{\glossname}
  \renewcommand*{\glossaryentrynumbers}[1]{}
  \cleardoublepage%
  \printglossary[title=\glossname]
  \chaptermark{\glossname}
  \addcontentsline{toc}{chapter}{\glossname} %% comment to exclude from TOC
}
\makeglossaries%

\usepackage[utf8]{inputenc} %Uncommented for BibLatex
\usepackage{csquotes}  %Uncommented for BibLatex
\usepackage[
    hyperref=auto,  
    mincrossrefs=999,
    backend=bibtex,
    sorting = none, % to have references appear as they are cited
    style=numeric-comp,
    firstinits=true, %added new
    clearlang=true, %added new
    refsegment=chapter,
    defernumbers=true
]{biblatex}  %Uncommented for BibLatex
\addbibresource{allpapers.bib}  %Uncommented for BibLatex
\renewcommand*{\labelalphaothers}{} 
\usepackage{float}
\usepackage{textcomp} % nice greek alphabet
\usepackage{pifont}   % Dingbats
\usepackage{booktabs}
\usepackage{amssymb,amsthm}
\usepackage{amsmath}
\usepackage{mathtools} % for short intertext; somya
\usepackage[font=small,labelfont=bf]{caption}
\usepackage[labelformat=parens,labelfont=md, font=small]{subcaption}
\usepackage{arydshln}
\usepackage[normalem]{ulem}
\usepackage{chemformula}
\usepackage{siunitx}
\usepackage{gensymb} % for degree symbol
\usepackage{hyperref}
\hypersetup{
    colorlinks=true,
    linkcolor=blue,
    citecolor=blue,
    filecolor=magenta,      
    urlcolor=blue,
}

\usepackage[hang]{footmisc}
\setlength\footnotemargin{0.2em} 
\usepackage{cancel}
\usepackage{enumitem}
\usepackage{color,soul} % for text highlight
\setcounter{secnumdepth}{5}
\setlength{\belowcaptionskip}{-5pt} %to remove space below caption
%\usepackage[showframe]{geometry}
\usepackage{array, makecell, booktabs}
%\usepackage{siunitx}
\DeclareSIUnit \uF { \micro \farad }
%\usepackage{chemformula}
\renewcommand{\cellalign}{tc}
\usepackage{siunitx}

\newcommand*{\citen}[1]{%
    \begingroup
    \romannumeral-`\x % remove space at the beginning of \setcitestyle
    \setcitestyle{numbers}%
    \cite{#1}%
    \endgroup   
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newglossaryentry{md}{name={MD},description={molecular dynamics}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\makeindex

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\maketitle

%\frontmatter % to get \pagenumbering{roman}

\glsaddall
\myprintglossary

\makenomenclature   
\myprintnomenclature

\tableofcontents

\mainmatter % to get \pagenumbering{arabic}

\cleardoublepage

\nomenclature[A]{$k$}{Boltzmann Constant  \nomunit{$8.617\times10^5 \, eV.K^{-1}$}}
An example text can be typed here !


%\makebackcoverXII

\end{document}
naphaneal
  • 2,614
Rouge
  • 219
  • have you run makeindex? it would also be way easier to help, if you could provide a full MWE – naphaneal Jul 25 '18 at 10:06
  • Hi Naphaneal, How do I run makeindex ? (Im using texstudio).What do you mean by MWE? – Rouge Jul 26 '18 at 07:04
  • MWE: minimal working example. smallest amount of code, that reproduces your problem. makeindex you run either via Tools -> Commands -> MakeIndex or you create a custom command in the configuration menu. Also you need to have \makenomenclature in the source file and you need to have the print command at the place you want the nomenclature to appear. – naphaneal Jul 26 '18 at 09:42
  • hi naphaneal, Hi added the MWE in the question...I tried using makeindex but it is not working.. You can see althought the table of content shows a page number corresponding to the list of symbol.. but on that page there is no list generated... I look forward to your help.. – Rouge Jul 27 '18 at 11:14
  • you need to clean up your code. there are multiple instances of packages loaded or commented out. you're using \makenomenclature twice. also, you need to check your installation. if stuff's missing, you need to install it and have full install. after cleanup, your code works and produces the required result. btw: you can achieve your result with glossaries or nomencl alone. see: https://tex.stackexchange.com/questions/154060/nomenclature-acronym-or-glossary lastly, check your compile routine: pdflatex -> bibtex -> makeindex -> 2x pdflatex -> <pdfviewer of choice> worked for me. – naphaneal Jul 27 '18 at 12:37
  • I am still not able to get it...when I run makeindex I get the following result: This is makeindex, version 2.15 [TeX Live 2017/W32TeX] (kpathsea + Thai support). Scanning input file thesis.idx...done (0 entries accepted, 0 rejected). Nothing written in thesis.ind. Transcript written in thesis.ilg. – Rouge Jul 27 '18 at 15:26
  • Previously (like 5 month) ago, everything was working fine but now suddenly it does not work.. So I am wondering what went wrong... :/ (I also cleaned up my code now) – Rouge Jul 27 '18 at 15:27
  • Hi #naphaneal.. thanks for your help.. in the end I found the solution :) maybe if you know you can explain to me why did it work with the changes I made (see the answer).. Thanks again !!! – Rouge Jul 27 '18 at 16:24

2 Answers2

2

I finally find the solution.

I am using TeXstudio.

Go to Option--> Configure Texstudio --> Commands In the field of Makeindex write the following:

makeindex.exe %.nlo -s nomencl.ist -o %.nls

I have no clue what it means. But it works!

naphaneal
  • 2,614
Rouge
  • 219
  • those are aux files for nomencl which contain the necessary information. the .nlo contains all the information about your nomenclature, as is. meaning they are unsorted. I think, .nlo simply refers to "nomenclature list object" (there was nothing about it in the documentation), which is transformed by makeindex into a .nls, containing nomenclature in a sorted manner, hence .nls nomenclature list sorted (I'm only guessing, but it seems quite right and the documentation supports this guess.) from that LaTeX gathers all needed information to create the nomenclature. – naphaneal Jul 27 '18 at 19:37
  • the inbetween step is nomencl.ist, which is the respective nomenclature style file, from which the output is generated, with regards to your source file. – naphaneal Jul 27 '18 at 19:42
  • With this solution, you won't be able to produce an ordinary index any more. Instead of tweaking the default behaviour of the Makeindex binary, you should go to Option --> Configure TeXstudio --> Build (i. e. one tab below Commands you mentioned. There you can define user defined commands. Press the Plus sign. Insert user0:Nomenclature in the left field and makeindex %.nlo -s nomencl.ist -o %.nls in the right field and save everything. Go to the Tools menu and you'll find the newly created command. – Jan Dec 07 '23 at 18:18
2

If makeindex is missing in the command list (Options > Configure Texstudio > Commands) as on my TeXstudio 2.12.14, there is the possibility to add it as a user-defined command: under Options > Configure Texstudio > Build click the green cross to add a new command, name the command and type makeindex %.nlo -s nomencl.ist -o %.nls on a Linux system or makeindex.exe %.nlo -s nomencl.ist -o %.nls on a Windows system. Then, you can run the command from Tools > User > <whateveryounamedit>

enter image description here enter image description here