对于 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 页包含术语: