命名法可以在 MWE 中显示,但包含完整包时不会出现任何内容。包之间是否存在冲突?

命名法可以在 MWE 中显示,但包含完整包时不会出现任何内容。包之间是否存在冲突?

对于 MWE 来说,一切都运行良好。但是,当我想显示包括所有包在内的整个文档的命名法时,第一次使用 PDFlatex 编译并调用 makeindex 成功了。当我第二次编译时,什么都没有发生!请看这里是文本。

\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}

答案1

您需要文档中的一些文本。页面发送出去时会写入命名法条目。但文档没有页面。

因此只需在后面添加一些文字\begin{documnet}

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

然后

pdflatex test

生成 PDF 文档:

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

命名法是通过

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

第 2 页包含术语:

命名法

相关内容