我在用:
Macbook 上的 TeXstudio。
以下文档类:
\documentclass[a4paper,12pt,times,numbered,print,index
]{Classes/PhDThesisPSnPDF}
前言:我在序言中添加了以下内容:
\usepackage{nomencl}
\makenomenclature
\renewcommand{\nomname}{ Notations and Abbreviations}
我也尝试过:
\usepackage[intoc]{nomencl}
主 tex 文件:这是主 tex 文件:
\documentclass[a4paper,12pt,times,numbered,print,index]{Classes/PhDThesisPSnPDF}
\input{Preamble/preamble}
\input{thesis-info}
\ifdefineAbstract
\pagestyle{empty}
\includeonly{Declaration/declaration, Abstract/abstract}
\fi
\ifdefineChapter
\includeonly{Chapter3/chapter3}
\fi
\begin{document}
\frontmatter
\begin{titlepage}
\maketitle
\end{titlepage}
\tableofcontents
\listoffigures
\listoftables
% \printnomenclature[space] space can be set as 2em between symbol and description
%\printnomenclature[3em]
\printnomenclature
\mainmatter
\include{Chapter1/chapter1}
\include{Chapter2/chapter2}
\include{Chapter3/chapter3}
\begin{spacing}{0.9}
\bibliographystyle{IEEEtran}
\cleardoublepage
\bibliography{References/references}
\end{spacing}
\printthesisindex % If index is present
\end{document}
在不同的章节内:每当我有一个缩写时,就会在文中(不同的章节/不同的文件中)出现此内容:
\nomenclature{TI}{This is IT}%
缩写页面未生成。我遗漏了什么?
谢谢。
编辑 3:PS:我确实多次运行了“pdflatex”和“index”(制作索引)。
我总是得到:
This is makeindex, version 2.15 [TeX Live 2015] (kpathsea + Thai support).
Scanning input file thesis.idx...done (0 entries accepted, 0 rejected).
Nothing written in thesis.ind.
Transcript written in thesis.ilg.
编辑2:
你能告诉我我是否正确使用了“nomencl”吗?从流程/序列/结构来看?我在网上按照不同的示例做了完全相同的事情。我怀疑在https://github.com/kks32/phd-thesis-template/releases/tag/v2.1 导致“nomencl”使用方式的差异。
编辑 1:当我在等待答案时,我转到.cls 文件并发现以下内容:
% ******************************* Nomenclature *********************************
\RequirePackage[intoc]{nomencl}
\makenomenclature
\renewcommand{\nomgroup}[1]{%
\ifthenelse{\equal{#1}{A}}{\item[\textbf{Roman Symbols}]}{%
\ifthenelse{\equal{#1}{G}}{\item[\textbf{Greek Symbols}]}{%
\ifthenelse{\equal{#1}{Z}}{\item[\textbf{Acronyms / Abbreviations}]}{%
\ifthenelse{\equal{#1}{R}}{\item[\textbf{Superscripts}]}{%
\ifthenelse{\equal{#1}{S}}{\item[\textbf{Subscripts}]}{%
\ifthenelse{\equal{#1}{X}}{\item[\textbf{Other Symbols}]}
{}
}% matches mathematical symbols > X
}% matches Subscripts > S
}% matches Superscripts > R
}% matches Abbreviations > Z
}% matches Greek Symbols > G
}% matches Roman Symbols > A
% To add nomenclature in the header
\renewcommand{\nompreamble}{\markboth{\nomname}{\nomname}}
% Add nomenclature to contents and print out nomenclature
\newcommand{\printnomencl}[1][]{
\ifthenelse{\equal {#1}{}}
{\printnomenclature}
{\printnomenclature[#1]}
%\addcontentsline{toc}{chapter}{\nomname}
}
这是否意味着我不应该在序言中添加任何内容?我是否造成了冗余?
答案1
正如@clemens 提到的,某些编辑器可能会运行, makeindex filename.idx
而不是makeindex filename.nlo -s nomencl.ist -o filename.nls
创建命名法所需的编辑器。
因此,如果您遇到同样的问题,请从系统的终端/命令行运行以下命令(您还必须先从命令行导航到主文件):
makeindex filename.nlo -s nomencl.ist -o filename.nls
我的问题解决了。希望这对其他人有帮助。