Spec-Zone.ru › LaTeX

Ссылки

Часто нам нужно что-то вроде ‘См. теорему~31’. Но ручное ввод числа 31 — плохая практика. Вместо этого вы должны написать метку, например \label{eq:GreensThm} , и затем сослаться на нее, как в See equation~\ref{eq:GreensThm}. LaTeX автоматически рассчитает номер, отобразит его в выводе и изменит его при необходимости.

We will see this with Theorem~\ref{th:GreensThm}. % forward reference
...
\begin{theorem} \label{th:GreensThm}
  ...
\end{theorem}
...
See Theorem~\ref{th:GreensThm} on page~\pageref{th:GreensThm}.

LaTeX отслеживает информацию о ссылках в файле с расширением .aux и с тем же базовым именем, что и файл, содержащий \label. Таким образом, если \label находится в calculus.tex, то информация находится в calculus.aux. LaTeX помещает информацию в этот файл каждый раз, когда сталкивается с \label.

Описанное в предыдущем абзаце поведение приводит к особенностям, которые возникают, когда в вашем документе есть вперед ссылки, \ref , которые появляются перед соответствующей \label. Если это первый раз, когда вы компилируете документ, то вы получите ‘Предупреждение LaTeX: Метка(и) могут измениться. Перекомпилируйте, чтобы правильно установить ссылки’, а в выводе вперед ссылка будет отображаться как два вопросительных знака ‘??’, полужирным шрифтом. Аналогичное происходит, если вы что-то измените, так что ссылки изменятся; вы получите то же предупреждение, а вывод будет содержать старую информацию о ссылках. В обоих случаях, решите эту проблему, перекомпилировав документ во второй раз.

Пакет cleveref расширяет возможности перекрестных ссылок LaTeX. Вы можете настроить так, что если вы введёте \begin{thm}\label{th:Nerode}...\end{thm}, то \cref{th:Nerode} выведет ‘Теорема 3.21’, без необходимости вводить «Теорема».

  • \label
  • \pageref
  • \ref
  • xr пакет

© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/Cross-references.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API