我正在尝试在引用后面添加一个符号(如箭头),编辑命令\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
。我建议将链接目标打包
caption
或hypcap
移至figure
环境的开头。否则链接将指向标题。