![强制 \ref 输出](https://linux22.com/image/247622/%E5%BC%BA%E5%88%B6%20%5Cref%20%E8%BE%93%E5%87%BA.png)
我正在引用这样的标签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}
其中\hyperref
s[...]
包含标签的名称和{...}
要显示的文本以供参考。\phantomsection
s 是必需的,否则超链接将指向 的开头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},