Навигация по документу в LaTeX

Довольно часто бывает необходимо указать в тексте ссылку на источник или какой-либо полезный ресурс. А то и просто сделать оглавление «кликабельным», дабы при его просмотре сразу можно было выбрать нужную главу и перейти к ней.

Для этих нужд вполне можно задействовать пакет hyperref, который входит в поставку с LaTeX в большинстве дистрибутивов. Hyperref имеет достаточно большое количество опций, которые перечисляются через запятую при подключении пакета. Но следует иметь ввиду, что он переопределяет некоторые команды LaTeX'а, и подключать его последним. При подключении hyperref все перекрёстные ссылки будут преобразованы в ссылки гипертекстовые: оглавление, сноски, цитаты...

Во многих источниках обращают внимание на опцию выбора драйвера. Честно сказать, при создании PDF-документа с pdflatex без указания драйвера всё собралось и сработало точно так же как и с включением нужной опции.

Возможные опции для hyperref

  • pdftex
  • dvips
  • latex2html
  • vtex

Ссылки внутри документа

К примеру, появилась необходимость сослаться на какой-либо пункт в документе. В этом случае воспользуемся мишенью и сошлёмся на неё. Если вы привыкли работать с HTML, можете сравнить это с созданием якоря на странице. Команда для мишени задаётся так:

\hypertarget{name}{text}

где name — мишень, text — используемый текст (этот аргумент может быть пустым).

Теперь нужно просто сослаться на созданную мишень в тексте при помощи hyperlink:

\documentclass[a4paper,14pt,titlepage,final,oneside]{report}
\usepackage[english, russian]{babel}
\usepackage[utf8]{inputenc}
\usepackage[unicode, pdftex]{hyperref} % подключаем hyperref

\begin{document} % начало документа

\hypertarget{p1}{Пункт 1} % создаём мишень p1
% ссылаемся на мишень p1
Для просмотра подробных сведений обратитесь к пункту \hyperlink{p1}{1}.

\end{document}   % конец документа

Если же нужно дать ссылку на внешний файл, в параметрах должнен наличествовать путь к нужному файлу. В примере документ, который будет открыт, лежит в том же каталоге, что и документ, ссылающийся на него:

% \href{URL}{text}
% ссылаемся на document.pdf
Инструкция по эксплуатации \href{document.pdf}{прилагается}.

Ссылки на сторонние ресурсы

Для того, чтобы при двойном клике на ссылку открывалась нужная страница в браузере, следует оформить её (предполагаемую ссылку) при помощи того же href. Эта конструкция в принципе ничем не отличается от предыдущей, где мы ссылались на внешний файл, только вместо указания пути к файлу используется адрес интернет-страницы:

\chapter{Введение}

Есть много ресурсов, предназначенных для изучения Python и Django,
так что эта книга не стремится обучить основам.
Для новичков в Python я настоятельно рекомендую
\href{http://www.diveinto.org/python3/}{Dive Into Python} Марка Пилгрима.

Как выбрать цвет

Тонкую настройку цвета поможет осуществить ресурс colorhexa. На вкладке 216 web safe colors выбираем нужный цветовой вариант (или воодим свой цвет), под ним будет информация о цвете RGB Decimal rgb(49,152,255). Выписываем значения, получаем нечто подобное:

\usepackage{color} % подключить пакет color
% выбрать цвета
\definecolor{BlueGreen}{RGB}{49,152,255}
\definecolor{Violet}{RGB}{120,80,120}
% назначить цвета при подключении hyperref
\usepackage[unicode, colorlinks, urlcolor=BlueGreen, linkcolor=Violet, pagecolor=Violet]{hyperref}

Теперь цвет на другие страницы внутри документа и цвет гиперссылок опять же внутри документа будет филетовым, а вот ссылки на сторонние ресуры — голубыми.

ОпцияЗначение
linkcolorцвет гиперссылок внутри документа, по-умолчанию red
pagecolorцвет гиперссылок на другие страницы внутри документа, по-умолчанию red
filecolorцвет гиперссылок, открывающих локальные файлы, по-умолчанию cyan
anchorcolorцвет текста мишени, по-умолчанию black
citecolorцвет библиографических ссылок, по-умолчанию green
urlcolorцвет гиперссылок на сетевые ресурсы, по-умолчанию magenta

Подсказка

Для того, чтобы можно было переходить по ссылкам из pdf-документа в gentoo следует установить пакет x11-misc/xdg-utils.