Как я могу прикрепить маркер LaTeX к произвольному месту в тексте? - PullRequest
2 голосов
/ 30 сентября 2010

Можно ли прикрепить маркер только к тексту, а не к разделу, подразделу и т. Д.

Вот чего я пытаюсь достичь:

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

1 голос
/ 12 октября 2010

Это решение:

\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

0 голосов
/ 03 октября 2010

Вы можете использовать \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 голосов
/ 30 сентября 2010

Если вы хотите иметь label, учтите следующее (из здесь );

  • \label{marker} Вы даете объект, на который хотите ссылаться на маркер, вы можете видеть его как имя.

  • \ref{marker} Вы можете сослаться на объект, который вы отметили ранее. Это печатает номер, который был назначен объекту.

  • \pageref{marker} Будет напечатан номер страницы, на которой находится объект.

Обычно, если вы ref добавляете метку, LaTeX распечатывает раздел, подраздел и т. Д. Но если вы хотите указать точное место в тексте, вы можете использовать pageref. Таким образом, с pageref вы можете точно распечатать номер страницы «маркера».

Это - насколько я знаю - самая точная возможность сообщить читателю, где в тексте был "маркер", то есть, насколько я знаю, невозможно сказать LaTeX для печати точного номера строки или поэтому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...