摘要环境:ettauth.cls 中的 hyperref 和首字母缩略词之间的交互

摘要环境:ettauth.cls 中的 hyperref 和首字母缩略词之间的交互

我正在向使用类的期刊提交一篇论文ettauth.cls。在里面,abstract我借助acronym包使用了一些首字母缩略词。我还加载了hyperref包以进行交叉引用。我注意到latex发出了以下消息:

LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.

即使在上次运行结束时。

定义abstract如下:

\newcommand{\absize}{\fontsize{11.5pt}{14pt}\selectfont}
 \def\volumeyear{0000}
 \gdef\copyrightline{Copyright \copyright\ \volumeyear\ John Wiley \& Sons, Ltd.}
 \newbox\absbox
 \def\abstract{\lrbox\absbox\minipage{\textwidth}%
  \normalfont%
  {\noindent\sffamily\bfseries\absize{ABSTRACT}}\par\vspace{10pt}\normalsize%
  }
\def\endabstract{\copyrightline\endminipage\endlrbox}

MWE 表示:

\documentclass{ettauth}

\usepackage[nolist]{acronym}
\usepackage{hyperref}

\begin{document}

\begin{acronym}
\acro{SDR}{Software Defined Radio}
\end{acronym}

\title{Test}
\author{Me}

\begin{abstract}
\ac{SDR}
\end{abstract}
\maketitle


\section{Intro}

\end{document}

该课程ettauth.cls可能在以下位置下载:http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2161-3915/homepage/ettauth.cls

我认为定义末尾缺少了一些东西abstract,因为当我使用时不会发生这种情况,例如IEEEtran

答案1

我可以提出一个解决方法;毕竟,您不想将摘要中出现的首字母缩略词标记为已使用,因此第一次在文本中使用它时应该对其进行扩展。

\documentclass{ettauth}

\usepackage[nolist]{acronym}
\usepackage{hyperref}

\newcommand{\absac}[1]{\acl{#1} (\acs{#1})}
\expandafter\def\expandafter\abstract\expandafter{\abstract\let\ac\absac}    

\newacro{SDR}{Software Defined Radio}

\begin{document}

\title{Test}
\author{Me}

\begin{abstract}
\ac{SDR} and something else.
\end{abstract}
\maketitle

\section{Intro}

\ac{SDR} and something else about \ac{SDR}.

\end{document}

相关内容