有没有办法用标签引用纯文本\ref{}
?
我有一张包含两列的表格。每列的内容都链接到下面的不同部分。第一列中的引用没有问题,因为它引用了一个项目。然而,第二列只是纯文本,但我想将其也引用到其他文本。我想这样做,这样我只需要更改引用的文本,表格中的文本就会自动更新(最好是引用,不能单击)。
粗略的轮廓如下。
桌子
Col 1 | Col 2
\ref{sth:bla} & \ref{sth:text} \
引用部分
\begin{description}
\item[Something\label{sth:bla}] The Text \hfill \\
Description!
\end{description}
所以现在我想用 引用“文本” \ref{sth:text}
,这样我就不必更改文本两次了。正如我所说,我最好引用而不实际使它可点击。
Werner 给出的答案在某种程度上确实有效。下面是一个例子,它似乎不再正常工作了。我现在如何在文档中使用常规引用?
\documentclass{article}
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\makeatletter
\newcommand*{\textlabel}[2]{%
\edef\@currentlabel{#1}% Set target label
\phantomsection% Correct hyper reference link
#1\label{#2}% Print and store label
}
\makeatother
\begin{document}
\section{A section}
This is a table:
\begin{center}
\begin{tabular}{l|l}
Col 1 & Col 2 \\
\ref{sth:bla} & \ref{sth:text} \\
\ref{Blub} & Text \\
\end{tabular}
\end{center}
这几项:
\begin{description}
\item[\textlabel{Something}{sth:bla}] \textlabel{The Text}{sth:text} \hfill \\
Description! \\
\item[Blub\label{Blub}] Something \hfill \\
Another description!
\end{description}
\end{document}
正常的参考标签现在将被文本标签的文本内容取代。
答案1
以下是实现该目标的一种方法:
\documentclass{article}
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\makeatletter
\newcommand*{\textlabel}[2]{%
\edef\@currentlabel{#1}% Set target label
\phantomsection% Correct hyper reference link
#1\label{#2}% Print and store label
}
\makeatother
\begin{document}
\section{A section}
This is a table:
\begin{center}
\begin{tabular}{l|l}
Col 1 & Col 2 \\
\ref{sth:bla} & \ref{sth:text}
\end{tabular}
\end{center}
And here are some items:
\begin{description}
\item[\textlabel{Something}{sth:bla}] \textlabel{The Text}{sth:text} \hfill \\
Description!
\end{description}
\end{document}
您可以使用\textlabel{<text>}{<label>}
来标记和打印标签,以便稍后检索\ref{<label>}
。请注意,\textlabel
两者都打印<text>
并标记标签(\label{<label>}
内部使用)。