我目前正在准备一篇论文,提交给《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
。