1

All works well for a MWE. However, when I would like to display a nomenclature for the whole document including all the packages. the first compilation with PDFlatex and calling makeindex were successful. When I compile the second time nothing happens! Please here is the text.

\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[top=2cm, bottom=2.5cm, left=3cm, right=2cm]{geometry}
\bibliographystyle{plainnat}
\usepackage{graphicx}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{scalerel}
\usepackage{amssymb}
\usepackage{bigints}
\usepackage{setspace}
\usepackage{mathrsfs}
\usepackage{tabu}
\usepackage{array}
\usepackage{booktabs}
\usepackage{tabularx,booktabs,caption}
\usepackage{tikz}
\usepackage[colorlinks=true,linkcolor=blue]{hyperref}
\usepackage{cleveref}
\usepackage{xcolor}
\usepackage{natbib}
\usepackage{epstopdf}
\usetikzlibrary{shapes,arrows}

\usepackage{makeidx}
\usepackage{nomencl}
\usepackage{ifthen}
\usepackage{amsfonts}
\usepackage{fancyhdr}
\usepackage{amssymb}

\onehalfspacing
\thispagestyle{empty}

\makenomenclature
\renewcommand{\nomgroup}[1]
{\ifthenelse{\equal{#1}{L}}{\item[\textbf{Latin letters}]}
{\ifthenelse{\equal{#1}{G}}{\item[\textbf{Greek letters}]}
{\ifthenelse{\equal{#1}{A}}{\item[\textbf{Acronyms}]}
{\ifthenelse{\equal{#1}{S}}{\item[\textbf{Subscripts}]}{}
}}}}

\newcommand{\blankpage}{
\newpage
\thispagestyle{empty}
\mbox{}
\newpage
}

\begin{document}

\nomenclature[latin]{$b$}{radius, $m$}
\nomenclature[grec]{$\alpha$}{entrainment coefficient}
\nomenclature[acronyms]{CFD}{Computational Fluid Dynamics}
\nomenclature[subscript]{$i$}{initial state}

\printnomenclature
\end{document}
2
  • Start with your full example, then remove the package calls, one by one, until the behaviour changes. At that point, you'll have an idea of which other package, if any is causing the problem, and will be able to make an MWE with just that package. That will make it much easier for us to help you. May 16, 2014 at 15:17
  • @Brent.Longborough Okay I will do so Thanks
    – keynes
    May 16, 2014 at 15:19

1 Answer 1

3

You need some text in the document. The entries for the nomenclature are written, when the page is shipped out. But the document has no pages.

Thus just add some text behind \begin{documnet}:

\documentclass[a4paper,12pt]{report}
[...]
\begin{document}
  Text
  [...]
\end{document}

Then

pdflatex test

generates a PDF document:

Output written on test.pdf (1 page, 10059 bytes).

The nomenclature is generated via

makeindex -s nomencl -o test.nls test.nlo
pdflatex test

Page 2 contains the nomenclature:

Nomenclature

5
  • Thanks a lot for your reply. I added some text but unfortunately it doesn't work :/ i.e. the first compilation is successful, I get also the Generating output file test.nls....done (21 lines written, 0 warnings) etc. But when I compile again with PDFlqtex, noting happens. Please note that I am using Kile. Do you have any suggestions?
    – keynes
    May 16, 2014 at 15:04
  • Please note also that when I remove the unnecessary packages the second compilation works and I get the nomenclature. How strange!!!
    – keynes
    May 16, 2014 at 15:05
  • 1
    @Strömungsmechanik: (a) Check the .log file for warnings/errors. (b) Try the command line. May 16, 2014 at 15:08
  • But what do you mean by checking the .log file? I tried also to use the command line but the output pdf cannot be opened. Did you get any error message by including all the packages? Thanks
    – keynes
    May 16, 2014 at 15:17
  • 1
    @Strömungsmechanik: (b) I did not get any error messages. (a) If you compile a TeX file (e.g. pdflatex test), then TeX writes some stuff on the console and a little more verbose .log file (e.g. test.log). "Checking" means reading this file and looking for words like "error" or "warning" or other unusual things. May 16, 2014 at 15:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .