Журнал LinuxFormat - перейти на главную

LXF91:LaTeX

Материал из Linuxformat
Перейти к: навигация, поиск
LaTeX

Листинги и текст на сайте автора

Содержание

Готовим презентации

ЧАСТЬ 8 Эффектная презентация может привести к чему угодно – от докторской степени по орнитологии до головной боли в зале. Евгений Балдин расскажет, как добиться желаемого эффекта средствами LaTeX.

Существует три разновидности людей: те, кто видит; те, кто видит, когда им показывают; и те, кто не видит. Леонардо да Винчи

Хочется показать свою крутизну? Подкупи слушателей. Хочется донести свою идею? Сделай нормальную презентацию.

При этом вовсе не нужен аляповатый фон, мультипликация при смене слайдов, но необходим разборчивый текст и картинки к месту. Вполне можно ограничься «прозрачками» и стандартным «оверхэдом». Если слайд требует от аудитории размышления, то на него следует не пожалеть как минимум пяти минут. В противном случае все ваши усилия будут напрасными Имея это в виду, давайте попробуем разобраться, что может LaTeX в сфере создания презентаций.

slides

Динозавр среди классов LaTeX, специализирующихся на презентациях. Идея очень проста: в качестве класса документа выбирается slides, в результате базовый размер шрифта автоматически увеличивается. Это позволяет прочитать стандартный текст на экране и избавиться от одного из смертных грехов докладчика – желания уместить слишком много информации на одной страничке. Опция класса landscape устанавливает альбомную ориентацию для страницы по умолчанию. Сами слайды создаются с помощью окружения slide. Вот, собственно, и всё.

\documentclass[a4paper,landscape]{slides}\begin{document}
\begin{slide}
\begin{center}
\Large Идея обработки
\end{center}\end{slide}
\end{document}

Класс seminar похож на slides и лишь чуть-чуть более современен (1993 г.), но не в пример лучше документирован (файл sem-user.pdf) и кроме стандартного окружения slide имеет простейший набор команд для создания рамок.

В общем, если вам нужно по-быстрому сготовить презентацию из уже имеющегося текста, и все что вы хотите – это просто продемонстрировать идею, классы slide и seminar окажутся весьма кстати.

beamer

Время шло, компьютеры матерели, появились проекторы и захотелось чего-то разноцветного. Так появилось новое поколение презентационных классов.

С помощью пакета beamer в принципе можно создавать «прозрачки», как это делается посредством slides, но основное его предназначение – электронная презентация. Пакету чуть более трёх лет, но он очень активно развивается и на сегодня это, пожалуй, лучший выбор для создания презентаций в LaTeX. Его автор, Тиль Тантау [Till Tantau], оказался очень восприимчивым к предложениям со стороны сообщества. У beamer есть масса стандартных стилей, исчерпывающее описание на более чем двухстах страницах (beameruserguide.pdf) и официальный сайт: http://sourceforge.net/projects/latex-beamer.

beamer можно использовать как с pdflatex, так и со связкой latex + dvips + ps2pdf. При желании можно даже использовать beamer в связке с LyX. TeX Live включает в себя beamer по умолчанию. Для установки на системах Debian следует выполнить команду:

> sudo apt-get install latex-beamer

После этого в начале преамбулы можно выбрать класс beamer, примерно так:

\documentclass[hyperref={unicode=true}]{beamer}
\usepackage[koi8-r]{inputenc}

По умолчанию, класс beamer загружает пакет hyperref. Если в документе планируется использовать этот пакет с установками, отличными от стандартных, то их следует передать в качестве необязательного параметра команды выбора класса. Если текст представлен в кодировке UTF-8, это также необходимо указать при загрузке beamer:

\documentclass[utf8]{beamer}
\usepackage[utf8]{inputenc}

Теперь можно выбрать тему для презентации и определить заголовок для титульного листа. Единицей представления для beamer является окружение frame:

% выбор темы
\usetheme{Madrid}
\useoutertheme{shadow}
\title{«Заголовок»}
\date{«Дата или место проведения»}
\author{«Автор»}
\begin{document}
% титульная страница
\begin{frame}
\titlepage
\end{frame}

Окружению frame можно передать необязательный параметр t, который «прижимает» текст к верхней части слайда.

Теперь можно приступать к самой презентации. Как и в обычных статьях, в beamer можно применять команды структурной разметки типа section. Эти команды должны использоваться за пределами окружения frame. Структурная разметка, в частности, полезна для организации быстрого доступа, например, через оглавление. Оглавление создаётся с помощью стандартной команды \tableofcontents. Ей можно передать необязательный параметр pausesections, чтобы оглавление разворачивалось не сразу, а по ходу дела.

%структурная разметка
\section{Теория}
\begin{frame}
%заголовок слайда
\frametitle{Теоретическая
зависимость (Азимов и др.)}\alert{GBee}\alert{Gee}\end{frame}

Для создания заголовка текущего слайда используется команда \frametitle. Команда \alert является аналогом \emph. По умолчанию выделенный сегмент просто отображается красным цветом, но при желании \alert всегда можно переопределить.

Немного о PDF

За прошедшие годы Microsoft PowerPoint (PPT) стал де-факто стандартом для представления презентаций. Сегодня его потихоньку начинают теснить OpenDocument Presentation (ODP) и другие форматы на основе XML. LaTeX напрямую не поддерживает ни те, ни другие, зато позволяет легко сохранить созданные вами слайды в формате PDF. PDF – Portable Document Format – открытый платформенно-независимый формат для описания документов, созданный компанией Adobe Systems, Inc. ещё в 1993 году. В январе 2007 года началась процедура ратификации PDF как стандарта ISO. В 2006 году была опубликована версия стандарта под номером 1.7. Файл в формате PDF может представлять из себя комбинацию векторной графики, текста и растровых изображений (фотографий, снимков экрана и тому подобного). В стандарте PDF предусмотрена возможность создания гиперссылок, заполняемых форм и интерактивных вставок на JavaScript. Начиная с версии 1.6, декларируется возможность описания трехмерных интерактивных документов. Что бы это ни означало, звучит заманчиво, но к сожалению, использовать эти возможности пока рано.

С точки зрения формата для представления презентации, PDF удовлетворяет всем необходимым условиям, таким как:

  • Простота создания. Это сила качественных открытых форматов – рано или поздно их начинают поддерживать все, кому не лень.
  • Переносимость. Программу для просмотра PDF можно найти буквально везде.
  • Элементы интерактивности. Документ может представляет из себя не только плоскую последовательность страниц.

Простота создания

Допустим, что PostScript-файл презентации уже был получен тем или иным способом. С помощью ghostscript, а точнее – скрипта ps2pdf (man ps2pdf) из него легко можно получить нормальный PDF:

> ps2pdf «файл.ps» «файл.pdf»

Получить PDF можно и напрямую из исходных текстов – с помощью программы pdflatex. Ее основное отличие от LaTeX как раз и состоит в том, что на выходе получается не DVI, а полноценный PDF. При использовании pdflatex следует учитывать, что графика должна быть представлена либо в виде PDF (вектор), либо PNG/JPEG (растр). pdflatex не умеет обрабатывать EPS-файлы, за исключением картинок, созданных при помощи MetaPost.

В PDF можно внедрять векторные шрифты Type1. Это позволяет отображать готовые документы, независимо от набора шрифтов, установленных в системе. Отображение на экране, особенно при низких разрешениях, зависит исключительно от качества внедрённых шрифтов. Парадокс качества: чем хуже разрешение, тем больший объём работы надо проделать с векторным шрифтом, чтобы он выглядел приемлемо. К счастью, в случае презентаций это не является проблемой, так для повышения читабельности на большом экране размер шрифта нужно значительно увеличить. Это эффективно увеличивает разрешение до сравнимого с разрешением лазерного принтера, для которого и оптимизированы наиболее популярные векторные шрифты Computer Modern (пакет cm-super). Для отображения на экране ни в коем случае не следует использовать растровые шрифты в формате Type3. Обязательно нужно установить шрифты cm-super, заведомо присутствующие в TeX Live.

Если вдруг по какой-то причине PDF потребуется преобразовать в PostScript, лучше всего воспользоваться утилитой pdftops из пакета xpdf:

> pdftops [-eps] «pdf-файл»

Если необходимо получить картинку в формате EPS, следует использовать ключ -eps.

Переносимость

Adobe Reader (ранее Acrobat Reader) и Ghostscript есть везде (если этой парочки где-то еще нет, то она легко может там появиться). Adobe Reader предоставляется всем желающим самой Adobe Systems. Как следствие, в смысле поддержки всех расширений формата PDF эта программа «впереди планеты всей». Поэтому презентацию, скорее всего, придётся показывать с помощью неё.

Одной из раздражающих особенностей Adobe Reader, мешающей использовать его при работе над документом, является отсутствие возможность перезагрузить изменённый файл. Эту проблему можно частично решить с помощью сторонних программ pdfopen и pdfclose, включенных в дистрибутив TeX Live:

> pdfclose --file «файл.pdf»
# обновляем «файл.pdf»
> pdfopen --file «файл.pdf»

Ghostscript и его программа просмотра не менее вездесущи. Ghostscript отображает PDF как обычный «плоский» документ, то есть об интерактивных эффектах можно забыть. Зато проблем с обновлением текста нет: нажал «.» (точку) и картинка обновилась.

Просмотрщик PDF-документов xpdf (http://www.foolabs.com/xpdf/) доступен только для систем с X Window. Начиная с xpdf 3.02, программа поддерживает структуру PDF вплоть до версии 1.7. xpdf используется как «движок» и для других программ просмотра, например, KPDF. Обновить документ можно с помощью клавиши R. Он очень удобен при просмотре в процессе подготовке документа.

Интерактивность

Зависит исключительно от стиля, который используется для подготовки PDF. Присутствует весь простейший джентльменский набор: гиперссылки, различные виды переходов со слайда на слайд и анимация. Есть и ограниченная возможность демонстрировать клипы и внедрять в презентацию звук.

Оверлеи

В процессе представления бывают очень полезны оверлеи – составные слайды, которые как бы накладываются друг на друга. Для создания простейшего оверлея используется команда \pause.

\begin{itemize}
\item\pause
\item\end{itemize}

В beamer предусмотрена масса способов работы с оверлеями. Рассмотрим некоторые из них:

%создание своей теоремы
\newtheorem{rustheorem}{Теорема}
\begin{frame}
\frametitle{Использование
класса \textbf{beamer}}
%подзаголовок
\framesubtitle{theorem, proof,
block и enumerate}
%теорема
\begin{rustheorem}[равенство]
\color<3-4>[rgb]{1,0,0}
{Доказать \(A=B\)}
\end{rustheorem}
%доказательство
\begin{proof}
\begin{enumerate}
\item<-2> \(A=C\)
\item<2> \(B=C\)
\item<3,4> \(A=B\)\qedhere
\end{enumerate}
\end{proof}
%последняя фраза
\uncover<4->{Вот и \beamerbutton{всё}}
%манипуляция с блоком
\begin{block}<1,3>{Структурный блок}
Появляемся и исчезаем
\end{block}
\end{frame}

Для работы с оверлеями в beamer добавлен ещё один способ передачи параметров командам: < > – «меньше/больше». Таким образом команде передаётся список оверлеев, на которые она должна действовать. То есть, команда \color<3-4> раскрашивает текст в указанный цвет с 3-го по 4-й оверлей. Список можно передавать через запятую или как интервал. Записи: -3,5-9,12,17- означают, что команда действует для оверлеев из интервалов: от начала до 3-го, от 5-го до 9-го, для 12-го, от 17 и до конца.

Списки оверлеев могут принимать некоторые переопределенные команды. В их числе:

  • \color{текст} – цвет текста.
  • \item – определена внутри перечислений, к которым относятся окружения itemize и enumerate.
  • Окружение theorem. Команда \newtheorem позволяет легко создавать свои теоремы.
  • Окружение prof. Если есть теорема, то должно быть и доказательство. В конце доказательства традиционно добавляется квадратик – знак QED (quod erat demonstrandum – что и требовалось доказать).
  • Команда \qedhere размещает QED в той же строке, где она указана, в противном случае для QED будет отведена своя собственная строка, что нежелательно.

Кроме этого, в классе beamer определены новые команды, воспринимающие список оверлеев, например:

  • \alert{текст} – выделение текста.
  • \only или \visible – добавление текста только для указанного списка оверлеев.
  • \invisible – антипод \only.
  • \uncover – тоже, что и \only, только под текст резервируется место даже на тех слайдах, где он отсутствует.
  • \alt<список>{текст}{альтернативный текст} – для указанного списка оверлеев выводится «текст», для остальных – «альтернативный текст».
  • Окружение block – именованный блок. Во многом аналогично окружению theorem.

Гиперссылки

Для создания гиперссылки необходимо установить в нужном месте метку или якорь. Это можно сделать с помощью команды \label. Собственно гиперссылка организуется с помощью команды

\hyperlink:
\label{metka}\hyperlink{metka}{«Гиперссылка»}

Вместо обычного текста можно использовать практически любую LaTeX-структуру, например, команду для создания «кнопки» \beamerbutton. Более общей командой для установки метки является \hypertarget:

\hypertarget<«номер оверлея»>{«метка»}{«текст»}

С её помощью можно указать не только структурную единицу, но и оверлей, на который следует сослаться.

Программный код

Для представления программного кода необходимо использовать окружения типа verbatim или lstlistings. Для того, чтобы код на слайде отобразился правильно, окружению frame необходимо передать опцию fragile. Оформление кода может выглядеть, например, так:

\begin{frame}[fragile]
%определяем более короткие команды
\newcommand{\un}{\uncover}
\newcommand{\al}{\alert}
\frametitle{An Algorithm For Finding Primes Numbers.}
\begin{semiverbatim}
\un<1->{\al<0>{int main (void)}}
\un<1->{\al<0>{\{}}
\un<1->{\al<1>{ \al<4>{std::}vector<bool> is_prime(100,true);}}
\un<1->{\al<1>{ for (int i = 2; i < 100; i++)}}
\un<2->{\al<2>{ if (is_prime[i])}}
\un<2->{\al<0>{ \{}}
\un<3->{\al<3>{ \al<4>{std::}cout << i << “ “;}}
\un<3->{\al<3>{ for (int j = i; j < 100;}}
\un<3->{\al<3>{ is_prime [j] = false, j+=i);}}
\un<2->{\al<0>{ \}}}
\un<1->{\al<0>{ return 0;}}
\un<1->{\al<0>{\}}}
\end{semiverbatim}
\visible<4->{Note the use of \alert{\texttt{std::}}.}
\end{frame}

Выбор и настройка темы

Темы в beamer разбиваются на пять классов:

  • Именные темы – концепция презентации. Для выбора темы используется команда \usetheme. Обычно создатель именной темы просто выбирает в ней соответствующие цветовую, шрифтовую и декоративные темы. По состоянию на начало 2007 года в beamer существовали следующие именные темы: AnnArbor, Antibes, Bergen, Berkeley, Berlin, Boadilla, CambridgeUS, Copenhagen, Darmstadt, Dresden, Frankfurt, Goettingen, Hannover, Ilmenau, JuanLesPins, Luebeck, Madrid, Malmoe, Marburg, Montpellier, PaloAlto, Pittsburgh, Rochester, Singapore, Szeged и Warsaw.
  • Цветовые темы – палитра презентации. Для выбора темы используется команда \usecolortheme. Можно выбирать из следующего набора палитр: albatross, beaver, beetle, crane, dolphin, dove, fly, lily, orchid, rose, seagull, seahorse, sidebartab, structure, whale и wolverine.
  • Шрифтовые темы – выбор подмножества шрифтов. Для выбора темы используется команда \usefonttheme. Существуют следующие шрифтовые темы: professionalfonts, serif, structurebold, structureitalicserif и structuresmallcapsserif.
  • Текстовые и структурные декорации – темы, определяющие как выглядят перечисления, теоремы и выделения. Для выбора темы используется команда \useinnertheme. Доступны следующие варианты декораций: circles, inmargin, rectangles, rounded.
  • Внешние декорации – темы, определяющие вид заголовков и обрамления слайда. Для выбора темы используется команда \useoutertheme. В вашем распоряжении – следующие типы обрамлений: infolines, miniframes, shadow, sidebar, smoothbars, smoothtree, split и tree.

Кроме этого, можно создать свою собственную тему и назвать её в честь родного города или страны. Подробности о том, как это сделать, следует искать в документации к пакету.

Ускорение компиляции

При подготовке презентации при выборе класса можно использовать опцию draft – это немного ускорит компиляцию. Можно также указать, какие именно слайды следует компилировать (это похоже на \includeonly):

\includeonlyframes{ex1,ex3}
\frame[label=ex1]
{Этот слайд будет включён при компиляции. }
\begin{frame}[label=ex2]
Аналогично ex2.
\end{frame}
\frame{А вот этого слайда не будет.}

Команда \againframe и метки позволяют повторно выводить уже имеющиеся слайды:

%ex1 будет выведен ещё раз
\againframe{ex1}

Печать слайдов

На самом деле, размер слайдов составляет всего 128x98 мм, то есть большие буквы получаются просто уменьшением размера листа бумаги. Для печати на листе формата A4 проще всего установить соответствующий параметр в Adobe Reader. Как вариант, чтобы всё гарантированно печаталось нормально, можно воспользоваться стилевым файлом pdfpages из пакета pgf:

\usepackage{pgfpages}
\pgfpagesuselayout{resize to}[a4paper,border shrink=5mm,landscape]

Здесь мы растягиваем слайд на страницу A4 в альбомной ориентации с 5-миллиметровым отступом от краёв. Если необходимо распечатать по два слайда на странице, можно поступить так:

\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]

Мультимедиа

Пакет beamer включает стилевой файл multimedia. Загрузив его, можно включить в презентацию клип или звуковое сопровождение, воспользовавшись командами \movie и \sound. К сожалению, пока эта возможность поддерживается только Adobe Reader в сборке для Windows и MacOS. Поддержка мультимедиа включена в стандарт PDF, поэтому её рано или поздно научится воспроизводить xpdf, даже если Adobe System «не почешется». Подробности об использовании этих команд можно посмотреть в пользовательской документации. Наконец, в пакете beamer предусмотрена возможность создания анимации на основе созданных слайдов. Команда

\animate<«список оверлеев»>

позволяет автоматически проигрывать последовательность кадров. Для того чтобы эта функция заработала, необходимо раскрыть окно Adobe Reader на весь экран.

Правила хорошей презентации

Создание презентации – это очень тяжёлое занятие, так что не следует жалеть о потраченных на наведение блеска минутах. Готовя презентацию, не следует также забывать об эмпирически выведенных правилах:

  • Один слайд требует не меньше одной минуты;
  • Один слайд «со смыслом» требует не менее пяти минут;
  • Времени всегда не хватает;
  • Не следует «пихать» в презентацию больше слайдов, чем позволяет время. Перебор по времени только раздражает слушателей;
  • Каждый слайд должен иметь свой заголовок (\frametitle);
  • В один слайд можно поместить около 20-40 слов, но заведомо не больше 80;
  • Полезно использовать block, theorem, proof и example. Эти окружения структурируют текст и помогают выделять основные мысли;
  • Для разных аудиторий правила могут отличаться.
Персональные инструменты
купить
подписаться
Яндекс.Метрика