添加术语到预备部分,页面超链接错误

添加术语到预备部分,页面超链接错误

我正在定制一个论文模板以包含我的词汇表。默认情况下,词汇表放在最后,但我想将其放在前面,即第 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}

相关内容