如何将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.
有道理?
这是解决方案:
\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.
啊,'\ 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打印确切的行号或者。
我已经更新了我的问题,请参阅上面的内容。 – 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
会产生什么文本?“
什么是标记? – phimuemue 2010-09-30 15:37:33
你知不知道有一个乳胶的stackoverflow克隆?我似乎无法找到链接。 :/ – Gleno 2011-01-26 15:58:13
tex.stackexchange.com – zwol 2011-01-26 15:58:13