如何将LaTeX标记附加到文本中的任意位置?

时间:2010-09-30 14:44:06

标签: latex

是否可以将标记仅附加到文本中的某个位置,而不是附加到部分,子部分等?

这就是我想要实现的目标:

\begin{document}
Alex (see~\ref{alex}) is a boy, 
Jessica (see~\ref{jessica}) is a girl.
[...]
\label{alex}\ref{alex}: Alex Johnson: 4 y.o.
\label{jessica}\ref{jessica}: Jessica D.: 5 y.o.
\end{document}

我想得到这样的东西:

Alex (see 1) is a boy, 
Jessica (see 2) is a girl.
[...]
1: Alex Johnson: 4 y.o.
2: Jessica D.: 5 y.o.

有道理吗?

3 个答案:

答案 0 :(得分:1)

这是解决方案:

\newcounter{foo}
Alex (see~\ref{alex}) is a boy, 
Jessica (see~\ref{jessica}) is a girl.
[...]
\refstepcounter{foo}\thefoo\label{alex}: Alex Johnson: 4 y.o.
\refstepcounter{foo}\thefoo\label{jessica}: Jessica D.: 5 y.o.

Will发表于https://tex.stackexchange.com/questions/4021/how-to-set-a-marker-counter-label-to-an-arbitrary-piece-of-text

答案 1 :(得分:0)

如果您想拥有label,请考虑以下事项(来自here);

  • \label{marker}您提供要引用标记的对象,您可以将其视为名称。

  • \ref{marker}您可以引用之前标记过的对象。这将打印分配给对象的编号。

  • \pageref{marker}它将打印对象所在页面的编号。

通常情况下,如果你ref标签,LaTeX会打印出部分,子部分等。但是如果你想在文本中指定确切的位置,你可以使用pageref。因此,使用pageref,您可以准确地打印出“标记”的页码。

这是 - 据我所知 - 最准确的可能性告诉读者文本中的“标记”是什么,即据我所知 - 是不可能告诉LaTeX打印确切的行号或如此。

答案 2 :(得分:0)

您可以在任何地方使用\label,包括在文本正文中,但标记的内容将(大致)是“当前可标记的内容”,即最后\*section或当前方程式或表格。

如果你想标记别的东西(你之后是什么东西?)那么你将不得不自己动手(而不是微不足道),并且如果我没记错的话,设置\@currentlabel

已修改,添加:

\begin{document}
\section{Hello}
Here is some text
\label{l1}
More text.
\newpage
Further text, on page 2
\label{l2}

This is section~\ref{l1} on page~\pageref{l1}.
And section~\ref{l2} on page~\pageref{l2}.
\end{document}

在这两种情况下,\ref指的是第1部分,尽管\pageref分别指的是第1页和第2页。在这两种情况下,“被标记的东西”是该部分,标签中的文本出现在\ref中,是部分编号。

因此,如果你想引用“文本中的任意位置”,你必须问自己'\ref会产生什么文本?'