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

问题描述:

是否可以将标记附加到文本中的某个位置,而不是节,子节等?如何将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. 

有道理?

+1

什么是标记? – phimuemue 2010-09-30 15:37:33

+0

你知不知道有一个乳胶的*克隆?我似乎无法找到链接。 :/ – Gleno 2011-01-26 15:58:13

+0

tex.stackexchange.com – zwol 2011-01-26 15:58:13

这是解决方案:

\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. 

发贴者将在https://tex.stackexchange.com/questions/4021/how-to-set-a-marker-counter-label-to-an-arbitrary-piece-of-text

+0

啊,'\ refstepcounter' - 就是这样!这就是设置'\ @ currentlabel'。你可能会添加的唯一的东西就像'\ newcommand \ refitem {\ refstepcounter {foo} \ thefoo}' – 2010-10-18 19:04:01

如果你想有一个label,请考虑以下(从here);

  • \label{marker}你给你想要引用标记的对象,你可以看到它像一个名字。

  • \ref{marker}您可以参考之前标记的对象。这将打印分配给该对象的号码。

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

通常,如果你ref erence一个标签,乳胶打印出的条,款,等等。但是,如果你想指定文本的确切地点,你可以使用pageref。因此,使用pageref您可以精确打印出“标记”的页码。

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

+0

我已经更新了我的问题,请参阅上面的内容。 – yegor256 2010-10-12 10:20:48

您可以在任何地方使用\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会产生什么文本?“

+0

我想标记文本中的一个地方,这在我的上下文中是独一无二的。我该怎么做? – yegor256 2010-10-04 07:52:10

+0

看我上面的修改。目前还不清楚你在找什么。你能举一个例子 - 交叉引用看起来像什么?例如,在一段之后添加了一个'\ label {mylabel}'后,文本'see section〜\ ref {mylabel}'变成_see section 1.2_或类似的东西。 – 2010-10-04 11:41:17

+0

我已经对我的问题进行了更改,请参阅上面的 – yegor256 2010-10-12 10:20:28