Emacs для начинающих

       

Перекрестные ссылки


Перекрестные ссылки ссылаются на другие части того же самого документа 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)имя-метки

и

Смотри раздел "заголовок-темы" в заголовок-печатного-руководства



Содержание раздела