%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Specialities of the LaTeX system
% $Id: spec.tex,v 1.1.1.1 2002/02/26 10:04:21 oetiker Exp $
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\chapter{Специальные возможности}
\begin{intro}
  При сборке большого документа \LaTeX{} поможет вам некоторыми
  специальными функциями, например, генерацией предметного указателя,
  управлением библиографией и тому подобными. Более подробное описание
  специальных возможностей и расширений \LaTeX{} находится в
  {\normalfont\manual} и в {\normalfont\companion}.
\end{intro}


\section{Включение \EPSi{} графики}\label{eps}

\LaTeX{} имеет базовые средства для работы с плавающими объектами,
такими, как иллюстрации и таблицы, при помощи окружений \ei{figure} и
\ei{table}.

Существует также несколько способов создавать собственно
графику\index{графика} средствами базового \LaTeX{} или его
расширений. К сожалению, большинство пользователей находит их трудными
для понимания, поэтому здесь эти способы не pассматpиваются.
Дополнительная информация приведена в \companion{} и в \manual{}.

Более простой метод получения графики в документе~--- это создавать ее
специализированными программными пакетами\footnote{Такими, как XFig,
  CorelDraw!, Freehand, Gnuplot,~\ldots{}} и включать в документ
готовую графику. Пакеты \LaTeX{} предлагают множество способов это
делать. В этом введении обсуждается только использование графики в
формате \EPSi{} (EPS), поскольку это
довольно просто делается и широко распространено. Чтобы использовать
картинки в формате EPS, вам нужно использовать для вывода
\PSi{} принтер.\footnote{Другая возможность вывода
  \PSi{} заключается в использовании программы
  \textsc{\wi{GhostScript}}, доступной с
  \texttt{\CTAN|support/ghostscript|}. Пользователи Windows и OS/2 могут
обратить внимание на программу \textsc{GSview}.}

Хороший набор команд включения графики входит в пакет \pai{graphicx}
(автор D.~P.~Carlisle). Он является частью целого семейства
пакетов, называющегося комплектом
``graphics''.\footnote{\CTANref|macros/latex/required/graphics|}

В предположении, что вы работаете в системе с доступным для вывода
\PSi{}-принтером, и с установленным пакетом
\pai{graphicx}, для включения картинки в ваш документ можете
использовать следующую пошаговую инструкцию:\sloppypar

\begin{enumerate}
\item Экспортируйте картинку из вашей графической программы в формате
  EPS.\footnote{Если ваша программа не имеет экспорта в EPS, можно
    попробовать установить драйвер \PSi{}-принтера (скажем,
    какого-нибудь Apple LaserWriter) и печатать в файл через этот
    драйвер. Если вам повезет, в этом файле будет EPS. Заметьте, что
    EPS обязан содержать не больше одной страницы. Некоторые
    принтерные драйверы нужно в явном виде настраивать для генерации EPS.}
\item В преамбуле документа загрузите пакет \pai{graphicx} при помощи
\begin{lscommand}
\verb|\usepackage[|\emph{драйвер}\verb|]{graphicx}|
\end{lscommand}
\noindent где \emph{драйвер}~--- это название вашего конвертера DVI в
\PSi{}. Самый широко используемый называется
\texttt{dvips}. Название драйвера требуется потому, что не существует
стандарта включения графики в \TeX{}. Зная название \emph{драйвера},
\pai{graphicx} может выбрать правильный способ вставить информацию о
графике в \eei{.dvi}~файл так, чтобы драйвер ее понял и смог
корректно вставить \eei{.eps}~файл.
\item Для включения \emph{файла} в ваш документ пользуйтесь командой
 \begin{lscommand}
\ci{includegraphics}\verb|[|\emph{опция}=\emph{значение}, \ldots\verb|]{|\emph{файл}\verb|}|
\end{lscommand}
Необязательный параметр принимает вид списка разделенных запятыми пар
\emph{опций} и соответствующих \emph{значений}. \emph{Опции} можно
использовать для изменения ширины, высоты, поворота включаемой
графики. Таблица~\ref{keyvals} перечисляет самые важные опции.
\end{enumerate}

\begin{table}[htb]
\caption{Названия опций пакета \textsf{graphicx}}
\label{keyvals}
\begin{lined}{9cm}
\begin{tabular}{@{}ll}
\texttt{width}& масштабирует графику до указанной ширины\\
\texttt{height}& масштабирует графику до указанной высоты\\
\texttt{angle}& поворачивает графику против часовой стрелки\\
\texttt{scale}& масштабирует графику\\
\end{tabular}

\bigskip
\end{lined}
\end{table}

Возможно, пример сделает это понятнее:
\begin{code}
\begin{verbatim}
\begin{figure}
\begin{center}
\includegraphics[angle=90, width=0.5\textwidth]{test}
\end{center}
\end{figure}
\end{verbatim}
\end{code}
Здесь включается графика, записанная в файл \texttt{test.eps}. Она
\emph{сначала} поворачивается на 90 градусов и \emph{затем}
масштабируется до конечной ширины в 0.5 ширины стандартного
абзаца. Пропорции сохраняются, поскольку не указано конкретной высоты.
Параметры высоты и ширины могут также быть указаны в абсолютных
размерах. Обратитесь к таблице~\ref{units} на
странице~\pageref{units}. Если вы хотите знать об этом больше,
прочтите \cite{graphics} и~\cite{eps}.


\section{Библиография}

Окружение \ei{thebibliography} генерирует
\index{библиография}библиографию. Каждый элемент начинается с
\begin{lscommand}
\ci{bibitem}\verb|[|\emph{метка}\verb|]{|\emph{маркер}\verb|}|
\end{lscommand}
Затем \emph{маркер} используется для дальнейших ссылок на книгу,
статью или труд.
\begin{lscommand}
\ci{cite}\verb|{|\emph{маркер}\verb|}|
\end{lscommand}

Если вы не используете опцию \emph{метка}, элементы библиографии
нумеруются автоматически. Параметр после команды
\verb|\begin{thebibliography}| устанавливает максимальную ширину этих
  номеров. В следующем примере \verb|{99}| указывает \LaTeX{}, что ни
  один из номеров элементов не будет шире, чем число `99'.

\fvset{xrightmargin=0.6\textwidth}

\begin{example}
Partl~\cite{pa} предложил,
чтобы \ldots

\begin{thebibliography}{99}
\bibitem{pa} H.~Partl:
\emph{German \TeX},
TUGboat Volume~9, Issue~1 ('88)
\end{thebibliography}
\end{example}

\fvset{xrightmargin=0.5\textwidth}

\chaptermark{Специальные возможности} % we need to fix the damage done by the
                                %bibliography example.

\thispagestyle{fancyplain}

Для использования в б\'оль\-ших проектах обратите внимание на программу
Bib\TeX{}. Она входит в большинство поставок \TeX{}. Bib\TeX{}
позволяет вам поддерживать библиографическую базу данных и извлекать
из нее ссылки, имеющие отношение к тому, что вы цитировали в вашем
труде. Визуальное представление библиографий, генерируемых Bib\TeX{},
основано на концепции стилей, что позволяет вам создавать
библиографии, следуя любому из существующих стилей библиографии.


\section{Указатели}
\label{sec:indexing}

Полезной особенностью многих книг является их предметный
указатель\index{предметный указатель}. Указатели могут создаваться
автоматически при помощи \LaTeX{} и сопровождающей программы
\texttt{makeindex}.\footnote{На системах, не поддерживающих длинные
  имена файлов, программа может называться \texttt{makeidx}.} В этом
введении будут изложены только базовые команды генерации указателя.
Более глубокое изложение смотрите в~\companion. \index{программа
  makeindex}\index{пакет makeidx}

Для включения возможностей \LaTeX{} в преамбуле должен загружаться
пакет \pai{makeidx}:
\begin{lscommand}
\verb|\usepackage{makeidx}|
\end{lscommand}
\noindent а специальные команды должны быть разрешены помещением в
преамбулу команды
\begin{lscommand}
  \ci{makeindex}
\end{lscommand}

Содержимое указателя создается командами
\begin{lscommand}
  \ci{index}\verb|{|\emph{ключ}\verb|}|
\end{lscommand}
\noindent где \emph{ключ} является элементом указателя. Вы вводите
команды указателя в том месте текста, куда этот элемент должен
указывать. Таблица~\ref{index} объясняет синтаксис аргумента
\emph{ключ} несколькими примерами.

\begin{table}[!tp]
\caption{Примеры синтаксиса ключей указателя}
\label{index}
\begin{center}
\begin{tabular}{@{}lll@{}}
  \textbf{Пример} &\textbf{Вид указателя} &\textbf{Комментарий}\\\hline
  \rule{0pt}{1.05em}\verb|\index{hello}| &hello, 1 &Обычный элемент\\
\verb|\index{hello!Peter}|   &\hspace*{2ex}Peter, 3 &Подчиненный `hello' элемент\\
\verb|\index{Sam@\textsl{Sam}}|     &\textsl{Sam}, 2& Форматированный ключ\\
\verb|\index{Lin@\textbf{Lin}}|     &\textbf{Lin}, 7& То же\\
\verb.\index{Jenny|textbf}.     &Jenny, \textbf{3}& Форматированная страница\\
\verb.\index{Joe|textit}.     &Joe, \textit{5}& То же\\
\verb.\index{eolienne@\'eolienne}.     &\'eolienne, 4& Акцентиpованные буквы
\end{tabular}
\end{center}
\end{table}

По мере обработки входного файла \LaTeX{}, каждая команда
\verb|\index| записывает соответствующий элемент указателя вместе с
номером текущей страницы в специальный файл. Файл имеет то же имя, что
и входной файл \LaTeX{}, но другое расширение имени (\verb|.idx|).
Этот \eei{.ind}-файл затем обрабатывается программой
\texttt{makeindex}. 

\begin{lscommand}
   \texttt{makeindex} \emph{filename}
\end{lscommand}

Программа \texttt{makeindex} генерирует отсортированный указатель с
тем же именем, но, на этот раз, с расширением \eei{.ind}.

Если теперь повторно обработать входной файл, этот отсортированный
указатель включается в документ в то место, где \LaTeX{} находит
команду
\begin{lscommand}
  \ci{printindex}
\end{lscommand}

Пакет \pai{showidx}, входящий в \LaTeXe{}, печатает все элементы
указателя на левом поле текста. Это весьма полезно при проверке текста
и сверке указателя.

Заметим, что команда \ci{index}, будучи использована неосторожно,
может повлиять на вид верстки.

\begin{example}
Мое Слово \index{Слово}. В отличие
от Слово\index{Слово}. Отметьте 
положение точки.
\end{example}

\section{Настраиваемые колонтитулы}
\label{sec:fancy}

Пакет \pai{fancyhdr},\footnote{Доступный из
  \CTANref|/tex-archive/macros/latex/contrib/supported/fancyhdr|.}
написанный Piet van~Oostrum, предоставляет несколько простых команд,
позволяющих вам настраивать верхние и нижние колонтитулы документа.
Если вы сейчас взглянете на верх этой страницы, то увидите одно их
возможных применений этого пакета.

\begin{figure}[!htbp]
\begin{lined}{\textwidth}
\begin{verbatim}
\documentclass{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
% этим мы убеждаемся, что заголовки глав и
% разделов используют нижний регистр.
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}  % убираем текущие установки для колонтитулов
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{0.5pt} % оставляем место для линейки
\fancypagestyle{plain}{%
   \fancyhead{} % на обычных страницах убираем колонтитулы
   \renewcommand{\headrulewidth}{0pt} % и линейку
}
\end{verbatim}
\end{lined}
\caption{Пример настройки \pai{fancyhdr}} \label{fancyhdr}
\end{figure}

Сложность в настройке колонтитулов в том, чтобы включить туда вещи
вроде заголовков раздела или главы. \LaTeX{} достигает этого в два
этапа. В определениях колонтитулов можно использовать команды
\ci{rightmark} и \ci{leftmark}, представляющих заголовки текущей
главы и раздела, соответственно. Значения этих двух команд меняются
при обработке команд \ci{chapter} или \ci{section}.

Для большей гибкости команды \ci{chapter} и ей подобные не
переопределяют \ci{rightmark} и \ci{leftmark} сами, а вызывают еще
одну команду, называющуюся \ci{chaptermark}, \ci{sectionmark} или
\ci{subsectionmark}, ответственную за переопределение \ci{rightmark}
и \ci{leftmark}.\sloppypar

Так что, если вы хотите изменить вид названия главы в верхнем
колонтитуле, вы просто переопределяете команду \ci{chaptermark}.
\cih{sectionmark}\cih{subsectionmark}

Рисунок~\ref{fancyhdr} показывает, как можно настроить пакет
\pai{fancyhdr} так, чтобы колонтитулы выглядели почти так, как они
выглядят у этого буклета. В любом случае вам рекомендуется
ознакомиться с документацией к пакету по адресу, упомянутому в сноске.


\section{Пакет verbatim}

Ранее в этом введении вы познакомились с \emph{окружением}
\ei{verbatim}. В этом разделе вы узнаете про \emph{пакет}
\pai{verbatim}. Пакет \pai{verbatim} представляет из себя повторную
реализацию окружения \ei{verbatim} с исправлением некоторых его
ограничений. Само по себе это не замечательно,\trfootnote{Это для
  американцев не замечательно. Для нас интересно то, что пакет
  \pai{verbatim} включает команду \cih{verbatim"@font}\texttt{\bs verbatim@font}, позволяющую
  использовать произвольный шрифт, например, русский, что невозможно в
  окружении \ei{verbatim} без модификации стандартного поведения
  \LaTeX{}.} но, кроме того, в него
была добавлена некоторая функциональность, и вот почему пакет здесь
упоминается. Пакет \pai{verbatim} предоставляет команду

\begin{lscommand}
\ci{verbatiminput}\verb|{|\emph{файл}\verb|}|
\end{lscommand}

\noindent которая позволяет вам включать текстовый файл в ваш
документ, как если бы его содержимое находилось внутри окружения
\ei{verbatim}.

Так как пакет \pai{verbatim} входит в комплект `tools', вы найдете его
установленным на большинстве систем. Если вы хотите узнать о нем
больше, обязательно прочитайте \cite{verbatim}.

\section{Загрузка и установка пакетов \LaTeX{}}\label{sec:Packages}

Большинство дистрибутивов \LaTeX{} включают большой набор
предустановленных стилевых пакетов, но в Сети доступно намного
больше. Основное место для поиска стилевых пакетов в Интернете~---
CTAN (\verb|http://www.ctan.org/|).

Пакеты, такие, как \pai{geometry}, \pai{hyphenat} и многие другие,
обычно состоят из двух файлов: файла с расширением \texttt{.ins} и
второго, с расширением \texttt{.dtx}. Часто к ним прилагается файл
\texttt{readme.txt} с кратким описанием пакета. Конечно, сначала нужно
прочесть этот файл.

В любом случае, после того, как вы скопировали файлы пакета на вашу
машину, вам нужно обработать их так, чтобы, во-первых, ваш \TeX{}
узнал о наличии нового пакета и, во-вторых, вы получили необходимую
документацию. Вот как выполняется первая часть:

\begin{enumerate}
\item Обработайте \LaTeX{} файл \texttt{.ins}. На выходе вы получите файл
  \eei{.sty}.
\item Поместите файл \eei{.sty} туда, где ваш дистрибутив ищет эти
  файлы. Обычно это подкаталоги каталога
  \texttt{\ldots/\emph{localtexmf}/tex/latex}. 
\item Обновите базу имен файлов вашего дистрибутива. Команда зависит
  от конкретного дистрибутива: для teTeX и fpTeX~--- \texttt{texhash},
  для web2c~--- \texttt{maktexlsr}, для MikTeX~--- \texttt{initexmf
    -update-fndb}, или используя графические интерфейсы.
\end{enumerate}

\noindent Теперь вы можете из файла \texttt{.dtx} получить
документацию: 

\begin{enumerate}
\item Обработайте \LaTeX{} файл \texttt{.dtx}. На выходе вы получите
  файл \texttt{.dvi}. Заметьте, что вам может быть нужно запустить
  \LaTeX{} несколько раз, чтобы получить правильные перекрестные
  ссылки.
\item Проверьте, не сгенеровал ли \LaTeX{}, кроме всего прочего, файл
  \texttt{.idx}. Если нет, то переходите к пункту~\ref{step:final}.
\item Для генерации предметного указателя, выполните команду:\\
  \fbox{\texttt{makeindex -s gind.ist \textit{имя}}}\\
  (где \textit{имя}~--- имя основного файла без расширения).
\item Снова обработайте \LaTeX{} файл \texttt{.dtx} \label{step:next}
\item В конце концов, для удобства чтения сгенерируйте файл
  \texttt{.ps} или \texttt{.pdf}.\label{step:final}
\end{enumerate}

Иногда вы обнаружите, что генерируется также файл \texttt{.glo}
(глоссарий). В этом случае между шагами~\ref{step:next} и
\ref{step:final} выполните команду:

\noindent\texttt{makeindex -s gglo.ist -o \textit{имя}.gls \textit{имя}.glo}

\noindent и еще раз запустить \LaTeX{} с файлом \texttt{.dtx}.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Chapter on pdfLaTeX
% French original by Daniel Flipo 14/07/2001
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Работа с pdf\LaTeX{}}\label{sec:pdftex}\index{PDF}
\secby{Daniel Flipo}{Daniel.Flipo@univ-lille1.fr}%

PDF~--- формат гипертекстовых\index{гипертекст} документов. Так же,
как на веб-страницах, некоторые слова в документе отмечаются как
гиперссылки. Они ведут к другим точкам документа или к другим
документам. Если вы ткнете мышкой в такую гиперссылку, то попадете в
точку назначения ссылки. В контексте \LaTeX{} это означает, что все
появления в тексте команд \ci{ref} и \ci{pageref} становятся
гиперссылками. Кроме того, оглавление, предметный указатель и другие
аналогичные структуры становятся наборами гиперссылок.

Б\'ольшая часть веб-страниц сегодня пишется на языке HTML
\emph{(HyperText Markup Language, язык гипертекстовой разметки)}. Для
научных документов этот формат имеет два серьезных недостатка:
\begin{enumerate}
\item Включение в HTML математических формул, вообще говоря, не
  поддерживается. Несмотря на наличие такого стандарта, большинство
  используемых сегодня Интернет-навигаторов его не поддерживают или не
  имеют необходимых шрифтов.
\item Печать HTML-документов возможна, но результаты сильно зависят от
  используемой платформы и навигатора. Результат и близко не подходит
  к тому качеству, которое мы привыкли ожидать в мире \LaTeX{}.
\end{enumerate}

Было множество попыток создать трансляторы из \LaTeX{} в
HTML. Некоторые из них были даже довольно успешны в том смысле, что
они могут генерировать корректные веб-страницы из обычных файлов
\LaTeX{}. Но все из них для получения результата предпринимают
множество упрощений. Когда вы начинаете использовать сложные
возможности \LaTeX{} и внешние пакеты, такие трансляторы обычно
начинают давать сбои. Авторы, желающие сохранить уникально
типографское качество своих документов даже публикуясь на WWW,
обращаются к PDF \emph{(Portable Document Format, формат мобильных
  документов)}, который сохраняет верстку документа и позволяет
использовать гипертекстовую навигацию. Большинство современных
веб-навигаторов имеют встроенные средства для просмотра документов в
формате PDF.

Даже несмотря на наличие средств просмотра форматов DVI и \PSi{} почти
на любой платформе, вы увидите, что гораздо более  распространены
\wi{Acrobat Reader} и \wi{xpdf}, служащие для просмотра
PDF-документов. Поэтому, предоставляя PDF-версии ваших документов, вы
делаете их более доступными для потенциальных читателей.

\subsection{PDF-документы для WWW}

Создание PDF-файла из исходного текста в \TeX{} очень просто
благодаря программе pdf\TeX{}, разработанной
H\`an~Th\'{\^e}~Th\`anh. pdf\TeX{} генерирует PDF аналогично тому, как
\TeX{} генерирует DVI. Существует также pdf\LaTeX{}, генерирующий PDF
из исходного теста
\LaTeX{}.\index{pdftex@pdf\TeX}\index{pdftex@pdf\LaTeX}

И pdf\TeX{}, и pdf\LaTeX{} автоматически устанавливаются большинством
современных дистрибутивов \TeX{}, таких, как te\TeX{}, fp\TeX{},
Mik\TeX{}, \TeX{}Live и CMac\TeX{}.

Для генерации PDF вместо DVI достаточно вместо команды \texttt{latex
  file.tex} использовать команду \texttt{pdflatex file.tex}. Там, где
\LaTeX{} не запускается из командной строки, вы можете найти
специальную кнопку в \TeX{}ControlCenter.

В \LaTeX{} размер бумаги определяется при помощи необязательных
параметров команды \ci{documentclass}, например, \texttt{a4paper} или
\texttt{letterpaper}. Этот механизм работает и в pdf\LaTeX{}, но,
помимо этого, pdf\TeX{} должен знать также и физический размер бумаги,
а не только размер области, используемой для верстки.\index{размер
  бумаги} Если вы используете пакет \pai{hyperref}
(см. стр.~\pageref{ssec:pdfhyperref}), размер бумаги будет установлен
автоматически. В ином случае вам нужно сделать это вручную, поместив в
преамбулу документа следующие строчки:
\begin{code}
\begin{verbatim}
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
\end{verbatim}
\end{code}

Следующий раздел более детально поясняет разницу между <<нормальным>>
\LaTeX{} и pdf\LaTeX{}. Основные отличия сосредоточены в трех
областях: в используемых шрифтах, в форматах включаемых изображений и
в методах ручного формирования гиперссылок.

\subsection{Шрифты}

\wi{pdf\LaTeX} может работать с любыми видами шрифтов (растровые
шрифты PK, TrueType, \PSi{} type~1\dots), но основной для \LaTeX{}
формат, растровые шрифты PK, делают документ, просматриваемый на
экране при помощи Acrobat Reader, очень коряво выглядящим. Для
генерации нормально отображаемых документов лучше всего
использовать шрифты \PSi{} Type~1.

\PSi{} Type~1 версии шрифтов Computer Modern и AMSFonts были
произведены компаниями Blue Sky Research и Y\&Y, Inc., которые потом
передали авторские права на них Американскому Математическому Обществу
(AMS). В начале 1997 года эти шрифты были сделаны публично доступными,
и в настоящее время включены в большинство дистрибутивов \TeX{}.

Однако, если вы используете \LaTeX{} для создания документов на
языках, отличных от английского, вам может быть нужно использовать
шрифты EC, LH или CB (см. обсуждение шрифтов \texttt{OT1} на
стр.~\pageref{OT1}). Владимир Волович создал шрифтовой пакет cm-super,
который охватывает полные наборы шрифтов EC/TC, EC Concrete, EC Bright
и LH. Он доступен по адресу \CTANref|fonts/ps-type1/cm-super|, а также
включен в дистрибутивы \TeX{}Live7 и Mik\TeX{}. Аналогично, греческие
шрифты CB в формате Type~1, созданные Apostolos
Syropoulos, доступны по адресу \CTANref|fonts/greek/cb|. К сожалению,
оба эти набора не отличаются типографским качеством Type~1 CM шрифтов
от Blue Sky/Y\&Y. Хинты (hints) в них сгенерированы автоматически, и
потому документы могут на экране выглядеть не так красиво, как при
использовании Type~1 CM шрифтов Blue Sky/Y\&Y. На устройствах с
высоким разрешением они дают результаты, идентичные оригинальным
растровым шрифтам EC/LH/CB.

Если вы создаете документы на латинице, у вас есть несколько других
возможностей:
\begin{itemize}
\item Использовать пакет \pai{aeguill}, известный также как
  \emph{Almost European Computer Modern with Guillemets}. Просто
  поместите в преамбулу строчку
  \verb+\usepackage{aeguill}+\paih{aeguill} для использования
  виртуальных шрифтов AE вместо шрифтов EC.
\item Использовать пакет \pai{mltex}, который, однако, работает,
  только если ваш pdf\TeX{} скомпилирован с опцией \wi{mltex}.
\end{itemize}

Виртуальный набор шрифтов AE, аналогично системе {Ml\TeX}, заставляет
\TeX{} верить, что он имеет полные 256-символьные шрифты, создавая
большинство недостающих знаков из шрифта CM и переупорядочивая их в
кодировку EC, позволяя таким образом использовать высококачественные
CM шрифты в формате Type~1, доступные на большинстве систем. Поскольку
шрифт теперь имеет кодировку T1, для европейских языков, основанных на
латинице, нормально работает механизм переносов. Единственный
недостаток этого подхода~--- в том, что искусственные символы AE не
работают в функции поиска Acrobat Reader, так что вы не сможете искать
слова с акцентированными символами.

Для русского языка аналогичным решением будет использование
виртуальных шрифтов C1, доступных по адресу
\texttt{ftp://ftp.vsu.ru/pub/tex/font-packs/c1fonts}. Эти шрифты
комбинируют стандартные шрифты CM Type~1 из набора Bluesky со шрифтами
CMCYR Type~1 из наборов Paradissa и BaKoMa, доступных на
CTAN. Поскольку шрифты Paradissa содержат только русские буквы, шрифты
C1 не имеют других кириллических символов.

Иным решением может быть переключение на другие \PSi{} Type~1
шрифты. Некоторые из них даже поставляются с каждой копией Acrobat
Reader. Из-за того, что эти шрифты имеют другие метрики символов, ваша
верстка изменится. Обычно текст начинает занимать больше места, так
как CM шрифты очень компактны. Кроме того, общая визуальная
согласованность документа будет хуже, так как шрифты Times, Helvetica
и Courier (основные кандидаты на такую замену) не были спроектированы
работать вместе в одном документе, как это было сделано в шрифтах
Computer Modern.

Для этой цели существуют два готовых набора шрифтов: пакет \pai{pxfonts},
базирующийся в качестве основного на шрифте \emph{Palatino}, и пакет
\pai{txfonts}, базирующийся на шрифте \emph{Times}. Чтобы использовать
эти пакеты, поместите в преамбулу следующие строчки:
\begin{code}
\begin{verbatim}
\usepackage[T1]{fontenc}
\usepackage{pxfonts}
\end{verbatim}
\end{code}

Замечание: после компиляции исходного текста вы можете увидеть в
\texttt{.log}-файле строчки наподобие следующей:
\begin{verbatim}
Warning: pdftex (file eurmo10): Font eurmo10 at ... not found
\end{verbatim}
Они означают, что не был найден определенный шрифт, использованный в
документе. Вам придется устранить эту проблему, так как результирующий
PDF-документ может \emph{вообще не показывать страницы с
  отсутствующими символами}.

Вся эта непростая проблема со шрифтами, особенно отсутствие хорошего
набора шрифтов EC, равного по качеству шрифтам CM в формате Type~1,
занимает умы множества людей, так что постоянно появляются новые
решения.

\subsection{Использование графики}
\label{ssec:pdfgraph}

Включение графики в документ лучше всего работает при помощи пакета
\pai{graphicx} (см. стр.~\pageref{eps}). С указанием значения
\texttt{pdftex} в опции \emph{driver} этот пакет успешно работает с
pdf\LaTeX{}: 
\begin{code}
\begin{verbatim}
\usepackage[pdftex]{color,graphicx}
\end{verbatim}
\end{code}
В приведенном примере включен также пакет \pai{color}, поскольку
использование цвета в веб-документах вполне естественно.

Это все были хорошие новости, а теперь~--- плохие: графика в формате
\EPSi{} не работает с pdf\LaTeX{}. Если вы не зададите расширение
файла в команде \ci{includegraphics}, пакет \pai{graphicx} выберет
подходящий файл, основываясь на значении опции \emph{driver}. Для
значения \texttt{pdftex} это будут форматы \texttt{.png},
\texttt{.pdf}, \texttt{.jpg}, \texttt{.mps} (\MP\index{metapost@\MP})
и \texttt{.tif}~--- но \emph{не} \texttt{.eps}.

Простой способ обхода этой проблемы~--- сконвертировать ваши файлы EPS
в формат PDF утилитой \texttt{epstopdf}, присутствующей во многих
системах. Для векторной графики это замечательное решение. Для растров
(фотографий, сканированных документов) это не идеально, потому что
формат PDF сам по себе поддерживает включение растровых изображений
формата PNG и JPEG. Формат PNG хорош для снимков экрана и других
изображений с небольшим количеством цветов. Формат JPEG хорош для
фотографий из-за своей компактности.

Иногда может быть желательно вообще не рисовать геометрические фигуры,
а описать их на языке специальных команд, таком, как
\MP\index{metapost@\MP}, включенном в большинство дистрибутивов
\TeX{}. В комплекте вы найдете полное руководство по его
использованию.

\subsection{Гиперссылки}
\label{ssec:pdfhyperref}

Пакет \pai{hyperref} превратит все внутренние ссылки документа в
гиперссылки. Для этого необходимо некоторое шаманство, в частности,
команда \verb+\usepackage[pdftex]{hyperref}+ должна быть
\emph{последней} командой в преамбуле вашего документа.

Для настройки поведения пакета \pai{hyperref} мы можете использовать:
\begin{itemize}
\item разделенный запятыми список опций \pai{hyperref}, после опции
  \texttt{pdftex}\\
  \verb+\usepackage[pdftex]{hyperref}+
\item отдельные команды
  \verb+\hypersetup{+\emph{опции}\verb+}+.
\end{itemize}

Единственная обязательная опция~--- \texttt{pdftex}, остальные лишь
позволяют изменять поведение \pai{hyperref} по
умолчанию.\footnote{Стоит заметить, что пакет \pai{hyperref} не
  ограничен работой с pdf\TeX{}. Его можно настроить для внедрения в
  нормальную выдачу DVI специфичной для PDF информации. Она потом
  попадает в PS-файл, генерируемый программой \texttt{dvips}, и,
  наконец, используется Adobe Distiller, который можно использовать
  для преобразования PS-файлов в формат PDF.} В следующем списке
значения по умолчанию приведены прямым шрифтом:

\begin{description}
  \item [\texttt{bookmarks (=true,\textit{false})}] показывает или
    прячет полосу закладок при просмотре документа
  \item [\texttt{unicode (=false,\textit{true})}] позволяет
    использовать в закладках нелатинские символы
  \item [\texttt{pdftoolbar (=true,\textit{false})}] показывает или
    прячет линейку инструментов Acrobat
  \item [\texttt{pdfmenubar (=true,\textit{false})}] показывает или
    прячет меню Acrobat
  \item [\texttt{pdffitwindow (=true,\textit{false})}] меняет
    начальное увеличение документа (страница размером в окно Acrobat)
  \item [\texttt{pdftitle (=\{text\})}] устанавливает заголовок,
    отображаемый Acrobat в окне \texttt{Document Info}
  \item [\texttt{pdfauthor (=\{text\})}] задает автора PDF-документа 
  \item [\texttt{pdfnewwindow (=true,\textit{false})}] определяет,
    должно ли открываться новое окно, если гиперссылка ведет в другой
    документ 
  \item [\texttt{colorlinks (=false,\textit{true})}] окружает ссылки
    цветными рамками (\texttt{false}) или меняет цвет текста ссылок 
    (\texttt{true}). Цвет можно настроить следующими опциями (показаны
    значения по умолчанию):
    \begin{description}
    \item [\texttt{linkcolor (=red)}] цвет внутренних ссылок (разделы,
      страницы и т.п.),
    \item [\texttt{citecolor (=green)}] цвет ссылок на литературу,
    \item [\texttt{filecolor (=magenta)}] цвет ссылок на файлы,
    \item [\texttt{urlcolor (=cyan)}] цвет ссылок на URL (почта, WWW).
    \end{description}
\end{description}

\vspace{\baselineskip}

Если вас устраивают значения по умолчанию:
\begin{code}
\begin{verbatim}
\usepackage[pdftex]{hyperref}
\end{verbatim}
\end{code}

Чтобы открыть окно закладок и раскрасить ссылки (значения
\texttt{=true} можно опускать):
\begin{code}
\begin{verbatim}
\usepackage[pdftex,bookmarks,colorlinks]{hyperref}
\end{verbatim}
\end{code}

Когда PDF-документы предназначаются для печати, цветные ссылки лучше
не использовать, потому что они окажутся на бумаге серыми, затрудняя
чтение. Лучше использовать цветные рамки, которые не печатаются:
\begin{code}
\begin{verbatim}
\usepackage{hyperref}
\hypersetup{colorlinks=false}
\end{verbatim}
\end{code}
\noindent или делать ссылки черными:
\begin{code}
\begin{verbatim}
\usepackage{hyperref}
\hypersetup{colorlinks,%
            citecolor=black,%
            filecolor=black,%
            linkcolor=black,%
            urlcolor=black,%
            pdftex}
\end{verbatim}
\end{code}

Если вам нужно задать информацию для секции \texttt{Document Info}:
\begin{code}
\begin{verbatim}
\usepackage[pdfauthor={Pierre Desproges}%
            pdftitle={Des femmes qui tombent},%
            pdftex]{hyperref}
\end{verbatim}
\end{code}

\vspace{\baselineskip}

В дополнение к автоматически генерируемым гиперссылкам, возможно
вставлять ссылки в явной форме с помощью команды
\begin{lscommand}
\ci{href}\verb|{|\emph{url}\verb|}{|\emph{text}\verb|}|
\end{lscommand}

Код
\begin{code}
\begin{verbatim}
Веб-сайт \href{http://www.ctan.org}{CTAN}.
\end{verbatim}
\end{code}
\noindent генерирует на выходе ``\href{http://www.ctan.org}{CTAN}'';
при нажатии мышью на слово ``\textcolor{magenta}{CTAN}'' вы попадете
на веб-сайт CTAN.

Если ссылка ведет не на URL, а на локальный файл, вы тоже можете
пользоваться командой \ci{href}:
\begin{verbatim}
  Полный текст документа находится \href{manual.pdf}{здесь}.
\end{verbatim}
\noindent что сгенерирует текст ``Полный текст документа находится
\textcolor{cyan}{здесь}.'' Нажатие на слово
``\textcolor{cyan}{здесь}'' откроет файл \texttt{manual.pdf}. (Имя
файла рассматривается относительно положения текущего документа.)

Автор статьи может облегчить читателю отсылку откликов, используя
команду \ci{href} внутри команды \ci{author} на титульной странице
документа: 
\begin{code}
\begin{verbatim}
\author{Mary Oetiker $<$\href{mailto:mary@oetiker.ch}%
       {mary@oetiker.ch}$>$
\end{verbatim}
\end{code}
Заметим, что ссылка с почтовым адресом дополняет адрес, приведенный
собственно на странице. Это сделано потому, что ссылка\\
\verb+\href{mailto:mary@oetiker.ch}{Mary Oetiker}+\\
будет удобна из-под Acrobat Reader, но будет невидима после печати
документа на бумаге.

\subsection{Проблемы со ссылками}

Когда сбрасываются счетчики, например, когда команда \ci{mainmatter}
из класса документов \texttt{book} сбрасывает счетчик номера страницы
в~1, генерируются сообщения наподобие такого:
\begin{verbatim}
! pdfTeX warning (ext4): destination with the same identifier
  (name{page.1}) has been already used, duplicate ignored
\end{verbatim}
Происходит это потому, что во вводной части книги уже была страница
номер~1, и все ссылки на ``страницу 1'' будут уже не уникальными,
отсюда и сообщение ``\verb+duplicate+ has been \verb+ignored+.'' 

Избавиться от этого можно, задав \texttt{hyperref} опцию
\texttt{plainpages=false}. К сожалению, поможет она только в отношении
счетчика страниц. Еще более радикальной мерой может быть использование
опции \texttt{hypertexnames=false}, но после этого перестанут работать
ссылки на страницы из предметного указателя.

\subsection{Проблемы с закладками}

Текст закладок не всегда выглядит так, как вам бы этого хотелось. В
закладках допустим гораздо меньший набор символов, чем в нормальном
\LaTeX{}, поскольку они являются ``просто текстом''. Обычно hyperref
замечает связанные с этим проблемы и выводит предупреждение:
\begin{code}
\begin{verbatim}
Package hyperref Warning: 
Token not allowed in a PDFDocEncoded string:
\end{verbatim}
\end{code}

Вы можете обойти эту проблему, предоставив текстовую строчку для
закладки взамен проблемного текста:
\begin{lscommand}
\ci{texorpdfstring}\verb|{|\emph{текст \TeX{}а}\verb|}{|\emph{текст закладки}\verb|}|
\end{lscommand}

Математические выражения являются первыми кандидатами на такую замену:
\begin{code}
\begin{verbatim}
\section{\texorpdfstring{$E=mc^2$}%
        {E\ =\ mc\texttwosuperior}}
\end{verbatim}
\end{code}
\noindent что превращает \verb+\section{$E=mc^2$}+ в ``E=mc2'' для
цели создания закладки.

Цвета тоже плохо себя ведут в закладках:
\begin{code}
\verb+\section{\textcolor{red}{Red !}}+
\end{code}
\noindent выдает строку ``redRed!''. Команда \verb+\textcolor+
игнорируется, но ее аргумент (red) печатается.

Гораздо лучший результат получается так:
\begin{code}
\verb+\section{\texorpdfstring{\textcolor{red}{Red !}}{Red\ !}}+
\end{code}


\section{Совместимость исходных текстов \LaTeX{} и pdf\LaTeX{}}
\label{sec:pdfcompat}

В идеале ваш документ должен одинаково хорошо компилироваться как
\LaTeX{}, так и pdf\LaTeX{}. Основная проблема тут~--- включение
графики. Простым решением является \emph{повсеместное умолчание}
расширения файлов в команде \ci{includegraphics}. В этом случае
компилятор автоматически выбирает файл требуемого формата из текущего
каталога. Все, что нужно будет сделать,~--- это создать подходящие
версии графических файлов. \LaTeX{} будет выбирать \texttt{.eps}, а
pdf\LaTeX{} постарается включить файлы с расширениями \texttt{.png},
\texttt{.pdf}, \texttt{.jpg}, \texttt{.mps} или \texttt{.tif} (в
указанном порядке).

Для случаев, когда вам все же нужно будет использовать разный код для
обычной и PDF-версии документа, можно где-то в самом начале документа
сделать следующее:
\begin{code}
\begin{verbatim}
\newif\ifPDF
\ifx\pdfoutput\undefined\PDFfalse
\else\ifnum\pdfoutput > 0\PDFtrue
     \else\PDFfalse
     \fi
\fi
\end{verbatim}
\end{code}
Здесь определена специальная команда, позволяющая легко писать
условный код:
\begin{code}
\begin{verbatim}
\ifPDF
  \usepackage[T1]{fontenc}
  \usepackage{aeguill}
  \usepackage[pdftex]{graphicx,color}
  \usepackage[pdftex]{hyperref}
\else    
  \usepackage[T1]{fontenc}
  \usepackage[dvips]{graphicx}
  \usepackage[dvips]{hyperref}
\fi
\end{verbatim}
\end{code}
В этом примере пакет hyperref включен даже в не-PDF-версии. Сделано
это для того, чтобы команда \ci{href} работала в любом случае, и ее
использование не надо было оборачивать в условные операторы.

Заметим, что в современных дистрибутивах \TeX{} (например, в
\TeX{}Live), выбор \texttt{pdftex} или \texttt{dvips} при вызове
\pai{graphicx} и \pai{color} происходит автоматически в соответствии с
настройками конфигурационных файлов \texttt{graphics.cfg} и
\texttt{color.cfg}. 

\section{Создание презентаций при помощи \pai{pdfscreen}}
\label{sec:pdfscreen}
\secby{Daniel Flipo}{Daniel.Flipo@univ-lille1.fr}
Результаты вашей работы вы можете демонстрировать на доске,
проектором, или прямо с вашего ноутбука при помощи одной из
презентационных программ. 

\wi{pdf\LaTeX} с пакетом \pai{pdfscreen} позволяет вам создавать
презентации в PDF, столь же красивые и живые, как и в
\emph{PowerPoint}, но много более мобильные, поскольку Acrobat Reader
существует на более широком спектре систем.

Пакет \pai{pdfscreen} использует пакеты \pai{graphicx}, \pai{color} и
\pai{hyperref} с опциями, настроенными для экранной презентации.

\begin{figure}[htbp]
\begin{verbatim}
\documentclass[pdftex,12pt]{article}
%%% misc extensions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[latin1]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{aeguill}
%%% pdfscreen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[screen,panelleft,chocolate]{pdfscreen}
% Screen Format
\panelwidth=25mm
%%          height width
\screensize{150mm}{200mm} 
%%          left right top  bottom
\marginsize{42mm}{8mm}{10mm}{10mm}
% Color or image for background
\overlayempty
\definecolor{mybg}{rgb}{1,0.9,0.7}
\backgroundcolor{mybg}
% Logo
\emblema{MyLogo}
%%% For PPower4 (post-processor) %%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{pause}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\begin{slide}
\begin{itemize}
\item Good News\dots \pause
\item Bad News
\end{itemize}
\end{slide}
\end{document}
\end{verbatim}
%  \begin{center}
%    \includegraphics[width=.8\textwidth]{pdfscr}
    \caption{Пример входного файла pdfscreen}   
    \label{fig:pdfscr}   
%  \end{center}
\end{figure}

Для создания таких документов обычно используется класс
\texttt{article}. Рис.~\ref{fig:pdfscr} показывает пример входного
файла. Сначала загружается пакет \pai{pdfscreen} с соответствующими
опциями: 
\begin{description}
\item[\texttt{screen}]: экранная презентация. Для бумажной презентации
  пользуйтесь опцией \texttt{print}.
\item[\texttt{panelright}] размещает панель навигации в правой части
  экрана. Если панель нужна слева, пользуйтесь опцией
  \texttt{panelleft}. Если она не нужна вообще, используйте
  \texttt{nopanel}. 
\item[\texttt{french}] или любой другой поддерживаемый язык. Текст на
  навигационных кнопках выводится на соответствующем языке. Эта опция
  не зависит от опций пакета \pai{babel}. Если ваш язык не
  поддерживается \pai{pdfscreen}, вы все же можете локализовать кнопки
  панели при помощи файла \texttt{pdfscreen.cfg}, см., например,
  \texttt{pdfscreen.cfg.specimen}. 
\item[\texttt{chocolate}] цветовая схема навигационной панели. Другие
  варианты: \texttt{gray}, \texttt{orange}, \texttt{palegreen},
 \texttt{bluelace} и \texttt{blue}, используемый по умолчанию.
\end{description} 

Далее настраивается формат экрана. Поскольку презентация всегда
разворачивается на полный экран, это можно использовать для настройки
размера шрифта:
\begin{description}
\item[\ci{panelwidth}] определяет ширину навигационной панели
\item[\ci{screensize}\textmd{\texttt{\{}\emph{ширина}\texttt{\}\{}\emph{высота}\texttt{\}}}]
  определяет ширину и высоту экрана, включая навигационную панель
\item[\ci{marginsize}\textmd{\texttt{\{}\emph{левое}\texttt{\}\{}\emph{правое}\texttt{\}\{}\emph{верхнее}\texttt{\}\{}\emph{нижнее}\texttt{\}}}]
  определяет поля документа. В приведенном примере документ не
  центрируется, поскольку номера разделов остаются на левом поле.
\end{description}

Можно использовать фоновое изображение в любом из поддерживаемых
pdf\TeX{} форматов командой
\begin{lscommand}
\ci{overlay}\verb|{|\emph{изображение}\verb|}|
\end{lscommand}
\noindent или, если вы предпочитаете пустой фон, можно задать его цвет
командой
\begin{lscommand}
\ci{background}\verb|{|\emph{цвет}\verb|}|
\end{lscommand}
Наконец, если вы хотите поместить на навигационную панель эмблему
вашей организации, пользуйтесь командой
\begin{lscommand}
\ci{emblema}\verb|{|\emph{файл-с-эмблемой}\verb|}|
\end{lscommand}

Если вы верите в убедительность последовательной демонстрации пунктов
вашего рассказа, можете использовать пакет \pai{pause}. Он предлагает
команду \ci{pause}. Ее можно помещать в текст в те места, где вы
хотите задержать отображение вашего документа. Пакет \pai{pause}
является частью системы \texttt{PPower4} ($P^4$: \emph{PDF
  Presentation Post-Processor}), которая берет документ,
сгенерированный pdf\TeX{}, и заставляет его петь, плясать и собирать
деньги. Командная строчка выглядит так:
\begin{lscommand}
\verb+ppower4 xy.pdf xyz.pdf+
\end{lscommand}

Для управления тем, что отражается на каждом слайде, пользуйтесь
окружением \verb+\begin{slide}+ \ldots \verb+\end{slide}+. Содержимое
каждого слайда отображается вертикально центрированным на своей
странице. 

Компилируя приведенный пример, мы получим ошибку:
\begin{verbatim}
! pdfTeX warning (dest): name{contents} has been
  referenced but does not exist, replaced by a fixed one
\end{verbatim}
Причина тут в том, что на навигационной панели есть кнопка, ведущая к
оглавлению, а наш пример оглавления не имеет.

Если вам захочется отображать оглавление прямо на навигационной
панели, используйте \pai{pdfscreen} с опцией
\texttt{paneltoc}. Понятно, это будет удовлетворительно выглядеть
только если ваше оглавление содержит немного коротких
заголовков. Можно задавать дополнительные короткие заголовки для ваших
разделов квадратными скобками в командах секционирования.

Это короткое введение пробежало только по самым верхам возможностей
\pai{pdfscreen} и \texttt{PPower4}. Каждый из них включает собственное
подробное руководство.

 
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "lshort2e"
%%% End:
