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

LXF91:LaTeX

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

Содержание

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

ЧАСТЬ 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 всегда можно переопределить.


Оверлеи

В процессе представления бывают очень полезны оверлеи – составные слайды, которые как бы накладываются друг на друга. Для создания простейшего оверлея используется команда \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. Эти окружения структурируют текст и помогают выделять основные мысли;
  • Для разных аудиторий правила могут отличаться.
Персональные инструменты
купить
подписаться
Яндекс.Метрика