ClassicThesis 和首字母缩略词警告:“已被引用但不存在,由固定的替代”

ClassicThesis 和首字母缩略词警告:“已被引用但不存在,由固定的替代”

我正在使用 ClassicThesis 和这样的首字母缩略词包(MWE):

\documentclass{scrbook}
\usepackage{classicthesis}
\usepackage{acronym}
\begin{document}
\begin{acronym}
\acro{MAP}{Maximum A Posteriori}
\end{acronym}
Document text with an acronym: \ac{MAP}.
\end{document}

在Linux中使用pdflatex进行编译(三次)时,我收到这种警告:

pdfTeX warning (dest): name{MAP} has been referenced but does not exist, replaced by a fixed one

我检查了具有经典论文的章节名称中的首字母缩略词Classicthesis:首字母缩略词部分中的首字母缩略词大写缩写,但由于 ClassicThesis 更改了标题的大小写,因此这些问题略有不同。相反,我在所有首字母缩略词(大写、小写和混合大小写)中都始终收到此类警告。

我尝试\PassOptionsToPackage{printonlyused,smaller}{acronym} 按照示例文件进行操作classicthesis-config.tex,但似乎无法消除警告。我甚至不确定这是否\PassOptionsToPackage是最好的解决方案。有什么建议吗?(在我的完整文档中,我还需要加载包hyperref。)

答案1

不太丑陋的解决方法:

\documentclass{scrbook}

\usepackage{classicthesis}
\usepackage{acronym}
\usepackage{etoolbox}

\makeatletter
\AtBeginEnvironment{acronym}{%
  \def\NRorg@descriptionlabel#1{\hspace{\labelsep}#1}%
  \setkomafont{descriptionlabel}{\normalfont}%
  \renewcommand*{\aclabelfont}[1]{\spacedlowsmallcaps{#1}}%
}
\makeatother

\begin{document}

\begin{acronym}
\acro{MAP}{Maximum A Posteriori}
\end{acronym}

Document text with an acronym: \ac{MAP}.

Document text with an acronym: \ac{MAP}.

\end{document}

显然,classicthesis重新定义\descriptionlabel的方式会产生冲突。

相关内容