Hyperref 在 autart.cls 中不起作用

Hyperref 在 autart.cls 中不起作用

我目前正在准备一篇论文,提交给《Automatica》杂志。我最初使用“elsarticle.cls”排版论文。然而,提交后,相应的编辑给我发了一封电子邮件,建议我使用“autart.cls”重新排版论文。这是我的问题:\hyperref 似乎不起作用!例如,当我想使用 \eqref{} 引用一个方程式时,超链接不会激活(它只显示方程式的编号)。引用图形或定理时也会出现此问题。任何帮助都将不胜感激。谢谢大家。下面,我添加了我正在使用的软件包。

\documentclass[twocolumn]{autart}

\usepackage{graphicx}
\usepackage[dvipsnames]{xcolor}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{float}
\usepackage[sort]{natbib}
\usepackage[colorlinks=true,allcolors=MidnightBlue]{hyperref}
\bibliographystyle{agsm}

\setlength{\parindent}{12pt}

\begin{document}

\begin{frontmatter}

\title{Test\thanksref{footnoteinfo}}

\thanks[footnoteinfo]{This paper was not presented at any IFAC meeting.}

\end{frontmatter}

\section{Sec}

\begin{align} \label{Eq1}
  F = m.a\textrm{.}
\end{align}

Consider the equation \eqref{Eq1}.

\end{document} 

答案1

该类犯了一个严重的错误:它的\frontmatter命令发出\NoHyper而不是将整个内容括在内\begin{NoHyper}...\end{NoHyper},因此所做的调整\endNoHyper丢失了。

由于(在处理\endNoHyper时执行)\end{NoHyper}

% hyperref.sty, line 6451:
\def\endNoHyper{%
  \global\let\hyper@link\hyper@livelink
}

很明显为什么链接不再起作用。

\NoHyper在代码中使用 并没有错\frontmatter,只要\endNoHyper在 某个地方使用 ,很可能在 中\endfrontmatter

解决此问题的最简单方法是\endNoHyper在末尾添加\endfrontmatter

\documentclass[twocolumn]{autart}

% fix the missing \paperheight setting
\setlength{\paperheight}{297mm}
%%%

\usepackage{graphicx}
\usepackage[dvipsnames]{xcolor}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{float}
\usepackage[sort]{natbib}
\usepackage[colorlinks=true,allcolors=MidnightBlue]{hyperref}

%%% fix the missing bit in \endfrontmatter
\edef\endfrontmatter{%
  \unexpanded\expandafter{\endfrontmatter}% the current code
  \noexpand\endNoHyper % add \endNoHyper at the end to match \NoHyper
}
%%%

\bibliographystyle{agsm}

%\setlength{\parindent}{12pt} % you shouldn't change the class default

\begin{document}

\begin{frontmatter}

\title{Test\thanksref{footnoteinfo}}

\thanks[footnoteinfo]{This paper was not presented at any IFAC meeting.}

\end{frontmatter}

\section{Sec}

\begin{align} \label{Eq1}
  F = m.a\textrm{.}
\end{align}

Consider the equation \eqref{Eq1}.

\end{document} 

\paperheight我还添加了所需的设置hyperref

在此处输入图片描述

相关内容