Котельников И., Чеботаев П. LaTeX2e по-русски (1185906), страница 88
Текст из файла (страница 88)
Косвенным свидетельством столь бесцеремонных действий являютсямногочисленные сообщения об ошибках при первой компиляции документа послеподключения пакета или, напротив, после его отключения. Все сообщения нужно игнорировать, если они не появляются вновь при второй или третьей попыткевыполнить компиляцию. В списке загружаемых пакетов hyperref, как правило,должен стоять последним, так как он модифицирует работу других пакетов.Пакет вводит новые команды для организации связей как между различнымичастями одного документа, так и для перехода к другим документам.
За рамками нашего рассказа окажутся команды для взаимодействия с элементами менюпрограммы Adobe Reader, предназначенной для просмотра документов PDF. Мытакже обойдём молчанием средства создания форм. Формы являются чуть ли необязательной составной частью HTML страниц на многих веб-сайтах, но даже насайте компании Adobe трудно найти формы, размещённые в документах PDF.Кроме того, мы не предполагаем, что Читатель хотя бы вкратце знаком с основами языка разметки HTML, без чего рассказ о создании форм совершенноневозможен. Тем не менее мы рассчитываем, что Читатель всё-таки имеет некоторые познания в области Интернет-навигации или по крайней мере осведомлено том, что адрес любого документа в Интернете должен начинаться с указанияпротокола, такого как http:// или ftp://.18.1.1.Опции пакета hyperrefДействиями пакета hyperref можно управлять, задавая определённые параметры(опции) при его загрузке.
Параметры перечисляются в необязательном аргументе декларации \usepackage через запятую в виде пар key=value, где key — имяпараметра, а value — его значение. Во многих случаях значение value (вместе сознаком =) можно опустить, использовав более привычный способ указания параметров загрузки без значений. Так можно поступить, если значение по умолчанию пусто или равно true. Если значение состоит из нескольких слов, его нужнозаключить в фигурные скобки, как в следующем примере:\usepackage[pdftitle={LaTeX. A document Preparation System},pdfauthor={L. Lamport},colorlinks=true]{hyperref}Здесь первые два параметра предназначены для занесения в свойства документа PDF его названия и имени автора.
Увы, русские буквы нельзя использоватьв необязательном аргументе \usepackage, поэтому тем же способом невозможно заполнить свойства документа на русском языке. К счастью, авторы пакета416Глава 18. Окно в интернетhyperref предусмотрели ещё один способ передачи пакету параметров через аргумент декларации\hypersetup{options}(hyperref)Это было сделано прежде всего потому, что список параметров hyperref можетбыть очень длинным, но для подготовки документов на русском языке такойспособ просто незаменим:\usepackage[unicode,colorlinks]{hyperref}\begin{document}\hypersetup{pdftitle={Пример использования пакета hyperref},pdfauthor={Игорь А.
Котельников, Платон З. Чеботаев}}Следует обратить внимание на появление параметра unicode. Только при егоналичии русские буквы правильно отображаются в свойствах документа1 и такназываемых закладках (bookmarks).Выбор драйвераРезультат работы пакета hyperref зависит от предназначения документа, точнееот программы, которую предполагается использовать для просмотра документав электронном виде. Сообразно этому в списке параметров \usepackage, вообще говоря, следует указать драйвер, аналогично тому, как это делают при использовании графических пакетов (глава 10). Однако во многих случаях пакетбез подсказки способен определить, какой компилятор используется для обработки документа, и самостоятельно выбрать правильный драйвер.
Например,для компилятора pdflatex автоматически будет выбран драйвер pdftex, а длякоммерческого компилятора vtex корпорации MicroPress будет активизированодноимённый параметр vtex. В иных случаях по умолчанию будет выбран драйвер hypertex. Многие обозреватели документов DVI, в том числе YAP, прекрасноработают с этим драйвером. Но если документ DVI должен быть преобразованв PostScript, следует явно указать параметр dvips. Если затем документ PostScript будет преобразован в PDF, то нужно выбрать драйвер ps2pdf. Если документ DVI предполагается напрямую преобразовать в PDF, следует предпочестьdvipdfm. К счастью, подобные запутанные многоступенчатые способы получениядокументов PDF на наших глазах становятся достоянием истории.
Тем не менеемы перечислим все имеющиеся варианты выбора драйвера:dvipdf | dvipdfm | dvips | dvipsone | dviwindo | ps2pdf | tex4ht | textures |hypertex | latex2html | pdftex | vtexМногие пользователи не придают большого значения правильному заполнению свойств документа, не осознавая, что поисковые машины неправильно индексируют подобные документы и,как следствие, не находят их по запросу других пользователей.118.1. Пакет hyperref417Драйверы tex4ht и latex2html используются в связке с одноимёнными программами конвертации документов LATEX в формат HTML. Для любого параметра,соответствующего имени драйвера, значение можно опустить. Совершенно необязательно писать pdftex=true, поскольку краткое pdftex означает буквально то же самое.Режим компиляцииСледующая пара альтернативных параметров дублирует одноимённые опцииклассов.
Она служит для выбора чернового (dtaft) или окончательного (final)варианта компиляции документа:draft[=false] | final[=true]Здесь в квадратных скобках после знака равенства дано значение по умолчанию. Простое перечисление final (без значения) в необязательном аргументедекларации \usepackage эквивалентно final=true и имеет смысл, только если документ в целом компилируется с опцией draft в необязательном аргументе \documentclass; режим final и так используется по умолчанию (посколькузначение final по умолчанию равно true, т.
е. истине). Напротив, параметрdraft изменяет режим, используемый по умолчанию, поскольку draft без значения эквивалентен draft=true, тогда как значение draft по умолчание равноfalse (ложь). Параметры draft и final могут принимать только два значения:true и false, как и некоторые другие параметры пакета hyperref, перечисленныениже. Наличие двух альтернативных параметров, каждый из которых можетпринимать два альтернативных значения, дважды избыточно. Действительно,final=false — это то же самое, что draft=true.
Но такова уж плата за поддержание универсального способа обращения со всеми параметрами пакета hyperref!Увлёкшись объяснением способа интерпретации необязательных параметров,которые могут принимать булевы значения true или false, мы не сказали главного. В черновом режиме гиперссылки не создаются, а все опции, управляющиесозданием гиперссылок, отключены.Управление гиперссылкамиБольшая группа параметров управляет размещением гиперссылок в документе.В квадратных скобках приведено значение параметра по умолчанию.breaklinks[=false] — значение true устанавливает, что часть текста гиперссылки, перенесённая на следующую строку, оформляется в виде отдельнойгиперссылки.
Значение true выбирается по умолчанию при использованиидрайвера pdftex, поскольку в документе PDF текст гиперссылки может размещаться только в одной строке.pageanchor[=true] — значение true делает возможным переход на любую страницу по её номеру. Пользователи LATEX’а могут представить себе действие этого параметра как размещение команды \label в левом верхнем углу каждой418Глава 18. Окно в интернетстраницы. Значение false сделает невозможным переход к нужной страницеиз оглавления, созданного командой \tableofcontents.plainpages[=true] — значение true использует для адресации гиперссылок арабские цифры в номерах страниц, игнорируя форматирование номеров, произведённое классом печатного документа или другими пакетами. Если в исходномтексте используется команда \pagenumbering (явно или неявно через декларации \frontmatter и \mainmatter в классе book), опцию plainpages следуетотключить, так \pagenumbering начинает счёт страниц каждый раз заново (врезультате две страницы, например 4 и iv, будут иметь одинаковые адреса).raiselinks[=false] — при использовании драйвера hypertex значение true отражает истинную высоту гиперссылки.
По умолчанию, когда используетсязначение false, высота текста гиперссылки вычисляется как расстояние между строками (при том, что текст может содержать рисунок).backref[=false] — значение true вставляет обратные ссылки на номера разделов в конец каждого элемента библиографического указателя. Это позволяет щелчком указателя «мышки» по обратной ссылке переходить из спискалитературы в то место документа, где находится ссылка на цитированнуюлитературу.
Данный параметр работает при условии, что между отдельнымизаписями в списке литературы имеется пустая строка.pagebackref[=false] — значение true вставляет обратные ссылки на номерастраниц в конце каждого элемента библиографического указателя.hyperindex[=false] — значение true трансформирует текст элементов алфавитного указателя в гиперссылки.hyperfigures[=false] — значение true привязывает гиперссылки к плавающимобъектам.linktocpage[=false] — значение true привязывает гиперссылки в оглавлении,списке рисунков и таблиц к номерам страниц, а не тексту.extension=dvi — расширение по умолчанию имени файла в гиперссылке, созданной командами \href (см. 18.1.2).
Для документов PDF расширение поумолчанию есть pdf.Ссылки, как и текст, на который они указывают, могут быть выделены цветом или обведены цветной рамочкой. Выбор одного из двух основных вариантовоформления ссылок определяется значением опции colorlinks. Цвета, используемые для выделения, могут быть заданы через значения опций, перечисленныхниже. Цвет выделяемого текста должен быть назван по имени, которое определено ранее согласно правилам, установленным для пакета color (раздел 10.7).
Цветрамки вокруг ссылки можно задать только тремя числами, соответствующимияркости красного, зеленого и синего оттенков, причём каждое число может принимать значение от 0 до 1. В приводимом ниже списке значения по умолчаниюуказаны после знака равенства рядом с именем опции.18.1.
Пакет hyperref419colorlinks[=false] — значение true включает схему выделения ссылок цветом.Значение false, используемое по умолчанию (кроме случая, когда выбрандрайвер tex4ht или dviwindo), соответствует выделению ссылок цветнымирамками в документах PDF. В документах других форматов ссылки будутвыделены подчёркиванием. Цвет зависит от типа ссылки. Принято выделятьразными цветами ссылки на цитированную литературу, ссылки на страницы,URL ресурсов в интернете, ссылки на локальные файлы.anchorcolor[=black] — цвет текста, на который имеется гиперссылка.citecolor[=green] | citebordercolor[={0 1 0}] — цвет ссылки на цитированнуюлитературу в библиографическом указателе или цвет рамки вокруг этой ссылки. Значения citecolor и citebordercolor используются соответственно приcolorlinks=true и colorlinks=false.filecolor[=magenta] | filebordercolor[={0 .5 .5}] — цвет ссылки на файл илицвет рамки вокруг неё.urlcolor[=cyan] | urlbordercolor[={0 1 1}] — цвет ссылки на URL ресурса илицвет рамки вокруг этой ссылки.linkcolor[=red] | linkbordercolor[={1 0 0}] — цвет ссылки на иные объекты(например, на номер раздела или номер уравнения) или цвет рамки вокругэтой ссылки.pagecolor[=red] | pagebordercolor[={1 1 0}] — цвет ссылки на страницу или цветрамки вокруг этой ссылки.pdfborder[={0 0 1}] — стиль рамки вокруг ссылки.