我有一张包含许多条目的表,我想引用该键,以便其他人可以快速查找该键的含义。
以下是一些伪代码:
Table
snippet1\label{?key1} & longexplanatory text
snippet2\label{?key2} & longexplanatory text
snippet3\label{?key3} & longexplanatory text
connect \ref{key1} with \ref{key13}
编译后我希望文本显示为
connect snippet1 with snippet3
读者应该能够在点击时快速跳转到表格snippet-N
。
答案1
下面使用\refstepcounter
(而不是内部的\@currentlabel
)虚拟计数器将文本变成可以引用的内容。如果使用包,则\raisebox
移动\refstepcounter
一点以移动锚点位置hyperref
。在的位置\refstepcounter
hyperref
设置锚点。
\documentclass{article}
\newcounter{keylabel}
\newcommand*{\keylabel}[2]{%
\leavevmode
\raisebox{2ex}[0pt][0pt]{%
\renewcommand*{\thekeylabel}{#1}%
\refstepcounter{keylabel}%
\label{#2}%
}%
#1%
}
\usepackage{hyperref}
\begin{document}
\begin{tabular}{@{}ll@{}}
\keylabel{snippet1}{key1} & longexplanatory text\\
\keylabel{snippet2}{key2} & longexplanatory text\\
\keylabel{snippet3}{key3} & longexplanatory text\\
\end{tabular}
connect \ref{key1} with \ref{key3}
\end{document}