我试图将我在图形标题中使用的首字母缩略词链接到我的文档开头定义的命名法列表,例如:
图1. 此过程利用ACRONYM来做等。
在我的命名法列表中,我当然定义了 ACRONYM。我尝试使用 hyperref 包实现此链接,因此自然而然地,在我的命名法列表中,我有类似以下内容:
\hypertarget{ACRONYM}{Its definition...}
在适当的图形上(我有一个居中命令,我试图用 {} 来包含它,但我不知道它有多“正确”):
\begin{figure}
\centering{
\includegraphics[width=\textwidth]{thepicturefile}
}
\caption{This process makes use of \hyperlink{ACRONYM}{ACRONYM} to do etc.}
\end{figure}
但是,编译时出现错误:
\caption@ydblarg 的参数有一个额外的 }
并且段落在 \caption@ydblarg 完成之前结束。
有谁知道是什么原因导致了这个问题?
如果有相关性的话,我也会使用标题包。
我也曾尝试在 \hyperlink 命令之前使用 \protect,但随后我收到了其他错误,例如段落在 \contentsline 完成之前就结束了,以及有关额外 } 的更多错误。
编辑:我发誓我不知道这是如何工作的,但刚刚再次尝试了 \protect\hyperlink... 现在它编译没有问题!
因此,我猜问题解决了。
答案1
保护命令:
\documentclass{article}
\usepackage{caption}
\usepackage{hyperref}
\begin{document}
\hypertarget{ACRONYM}{Its definition...}
\begin{figure}
blub
\caption{This process makes use of \protect\hyperlink{ACRONYM}{ACRONYM} to do etc.}
\end{figure}
\end{document}