强制 \ref 输出

强制 \ref 输出

我正在引用这样的标签texttext \ref{p:1}, \ref{p:2} text,在编译我的文档后,我总是得到这样的输出“文本文本 8, 9 文本”

有没有办法可以强制输出“文本文本 1,文本 2”

答案1

您可以使用超链接包装来引用一些标签并选择自己的文本作为参考,例如:

\documentclass{article}
\usepackage{hyperref}

\begin{document}

\begin{description}
\item[42] \phantomsection\label{p:1}Some text.

\item[2010] \phantomsection\label{p:2}Some more text.
\end{description}

Arbitrary numbers for the items.

\newpage

texttext \hyperref[p:1]{p:1}, \hyperref[p:2]{p:2} text

\end{document}

其中\hyperrefs[...]包含标签的名称和{...}要显示的文本以供参考。\phantomsections 是必需的,否则超链接将指向 的开头description。 使用该包时hyperref,至少需要运行两次编译器。

答案2

这是你想要的吗?

\makeatletter
\newcommand\deflabel[1]{\def\@currentlabel{#1}}
\newcommand\mylabel[1]{#1\deflabel{#1}}
\makeatother
\begin{document}

\begin{description}
\item[\mylabel{foo}\label{l:1}]  bar
\item[\mylabel{baz}\label{l:2}]  quux
\end{description}

See \ref{l:1} and \ref{l:2},

相关内容