在参考链接中添加符号

在参考链接中添加符号

我正在尝试在引用后面添加一个符号(如箭头),编辑命令\ref,如下所示:

\documentclass[a4paper,12pt]{report}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{pifont}
\newcommand{\newref}[1]{\ref{#1}\,\ding{230}}

\begin{document}
As we can see in figure \newref{photo} ...

\begin{figure}[H]
\includegraphics[]{./figures/photo.jpg}
\caption{} \label{photo}
\end{figure}
\end{document}

在 PDF 中,单击文本“如图 1 所示(箭头)...”中的数字“1”即可,但我希望单击箭头也能将我带到照片所在的位置。这可能吗?

答案1

您可以借助该命令实现这一点\ref*,根据 hyperref 的手册,该命令创建具有正确编号但没有链接的引用。

我还附上了一个解决方案autoref,我推荐它(它会自动“猜测”你所做的参考类型,例如,定理,引理,图表,章节等)。

\documentclass{article}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{pifont}

\newcommand{\newref}[1]{\hyperref[#1]{\ref*{#1}\,\ding{230}}}

\newcommand{\newautoref}[1]{\hyperref[#1]{\autoref*{#1}\,\ding{230}}}

\begin{document}
As we can see in figure \newref{photo}

But in \autoref{photo}, or in \newautoref{photo}

\begin{figure}
Toto
\caption{My caption} \label{photo}
\end{figure}
\end{document}

在此处输入图片描述

答案2

\newcommand{\newref}[1]{\hyperref[{#1}]{\ref*{#1}\,\ding{230}}}
  • \hyperref{<label>}{<free text>}创建一个类似于\ref{<label>}使用相同标签的链接<label>,但第二个参数采用自由文本。

  • 星号形式\ref*创建无链接的引用。这避免了嵌套链接,引用已在由 创建的链接内\hyperref

  • 我建议将链接目标打包captionhypcap移至figure环境的开头。否则链接将指向标题。

相关内容