我正在定制一个论文模板以包含我的词汇表。默认情况下,词汇表放在最后,但我想将其放在前面,即第 1 章之前的前言部分,这里使用不同的行距和页码(罗马数字)。
.cls
在我现在的模板文件中
...
\newenvironment{declaration}{
\chapter*{Author's declaration}
\addcontentsline{toc}{chapter}{Author's declaration}
}{}
\newenvironment{conventions}{% !
\cleardoublepage
\addcontentsline{toc}{chapter}{\nomname}
}{}
我添加了自己的conventions
环境。然后准备工作如下:
\newcommand{\makeprelims}{
\setcounter{page}{1}\renewcommand{\thepage}{\roman{page}}
\pagestyle{empty}
\makecopyright
\cleardoublepage
\author{\iwroteit}
\maketitle
\cleardoublepage
\pagestyle{plain}
\begin{abstract}
{ \Large {\bfseries\sffamily {\@title}} \bigskip \par}
{{\large \@author} \bigskip\par}
\input{prelims/abstract}
\end{abstract}
\tableofcontents
\listoffigures
\listoftables
\lstlistoflistings
\begin{acknowledgements}
\input{prelims/acknowledgements}
\end{acknowledgements}
\begin{declaration}
\input{prelims/declaration}
\end{declaration}
\begin{conventions}% !
\input{prelims/conventions}
\printnomenclature
\end{conventions}
\cleardoublepage
\setcounter{page}{1}
\renewcommand{\thepage}{\arabic{page}}
\pagestyle{fancy}
}
再次强调,我只是添加了conventions
内容。该文件prelims/conventions.tex
仅由\nomenclature
条目组成。
这有效几乎正确,但目录中的公约超链接是错误的(尽管页码打印正确)。它实际上指向上一项(“作者声明”),如以下屏幕截图所示:
我多次运行 nomenclature 和 latex,但行为没有任何变化,超链接仍然错误。我查看了这个问题\cleardoublepage
,但我之前确实有一个\printnomenclature
……
答案1
问题似乎是\printnomenclature
必须严格前 \addcontentsline
。删除环境并直接粘贴以下几行即可\end{declaration}
使其工作:
\cleardoublepage
\printnomenclature[2cm]
\addcontentsline{toc}{chapter}{\nomname}