Перекрестные ссылки
Перекрестные ссылки ссылаются на другие части того же самого документа DocBook или на другие документы, находящиеся в World Wide Web. В первом случае ссылка может указывать на все элементы, несущие атрибут id, во втором случае ссылка задается, как универсальный локатор ресурса (URL).
link
<link linkend = "на что ссылаемся [target]">содержимое</link>
Создает (гипер)ссылку на место в текущем документе, задаваемое через атрибут target.
ulink
<ulink url = "полный URL">содержимое</ulink>
Создает гиперссылку на документ WWW, указанный в полном URL. Полный URL должен задавать протокол, например http://.
xref
<xref linkend = "target"></xref>
Задает (гипер)ссылку на место в текущем документе, иденитифицируемое, как target. Транслятор сам добавляет текст вокруг xref. Например, ссылка xref на раздел может быть "украшена" словами "смотри раздел".
Для любой перекрестной ссылки требуется две части: та, которая "отсылает" (собственно ссылка -- link) и та, на которую указывается (привязка или метка -- anchor). Привязки в LaTeX'е вставляеются командой \label{имя-ссылки}. Каждая метка находится в каком-то разделе и на какой-то конкретной странице. Эти сведения можно получить командами \ref{имя-ссылки} и \pageref{имя-ссылки} соответственно, вызвав их в любом месте документа.
Примеры использования \ref:
\section{Установка}\label{section:setup} ... \section{Заключение}\label{section:summary} Как было сказано в разделе~\ref{section:setup} 'Установка', ...
Пример использования \pageref:
\section{Установка}\label{section:setup} Сталь, используемый в пробной камере, легирована Ti (0,5\%), Cr (0,1\%) и Mn (0,1\%).\label{definition:chamber-alloy} \section{Эксперименты}\label{section:experiments} Для некоторых пробных камер, выполненых из нержавеющей стали (см. точный состав на стр.~\pageref{definition:chamber-alloy}), ...
В формате Texinfo поддерживается несколько типов перекрестных ссылок: с дополнительным текстом и без него, ссылки в пределах одного и того же файла, на определенные места в других файлах Texinfo и, наконец, ссылки, указывающие куда-то "во внешний мир".
Узлы [Nodes] -- самые частые "мишени", на которые "нацеливаются" ссылки. Команда @anchor{имя-метки} создает в документе дополнительную метку [anchor], на которую можно ссылаться из другого места. Сама по себе команда @anchor в оттранслированном документе не видна. Имена меток не должны конфликтовать с именами узлов.
@xref
Вставляет "декорированную" перекрестную ссылку. Команда @xref создает оформление для ссылки в начале предложения.
Пример:
... является основой для нескольких многоточечных
методов. @xref{Multi-point Methods}. Мы
изучаем одноточечные методы ...
@pxref
@pxref ведет себя подобно @xref, но предназначен для использования внутри скобок.
Пример:
Алгоритм терпит неудачу в случае корней
более высокого порядка (@pxref{Higher Order Root}) и
корней первого порядка, заданных неверными условиями.
@ref
Вставляет простую (не "декорированную") перекрестную ссылку. В остальном ведет себя подобно @xref.
До сих пор мы использовали команды создания перекрестных ссылок с одним аргументом. Команды эти, однако, могут принимать до пяти параметров. Ниже представлены примеры того, как, в зависимости от числа аргументов, изменяется внешний вид оттранслированного текста. Я привожу примеры "гибкого" использования команды @xref
Один аргумент
@xref{имя-метки}
дает на выходе
*Note имя-метки::
при трансляции в Info и
Смотри раздел имя-раздела [имя-метки], страница номер-страницы
при трансляции для печати, здесь имя-радела и номер-страницы -- соответственно название раздела и номер страницы, где в версии для печати располагается метка "имя-метки".
Два аргумента
@xref{имя-метки, имя-перекрестной-ссылки}
после трансляции даст:
*Note имя-перекрестной-ссылки: имя-метки
и
Смотри раздел имя-раздела [имя-метки], страница номер-страницы
Три аргумента
@xref{имя-метки, имя-перекрестной-ссылки, заголовок-темы}
дает:
*Note имя-перекрестной-ссылки: имя-метки
и
Смотри раздел имя-раздела [заголовок-темы], страница номер-страницы
Пять аргументов
@xref{имя-метки, имя-перекрестной-ссылки, заголовок-темы, имя-файла-info, заголовок-печатного-руководства}
в результате трансляции получаем:
*Note имя-перекрестной-ссылки: (имя-файла-info)имя-метки
и
Смотри раздел "заголовок-темы" в заголовок-печатного-руководства