7/04/2007

Презентации powerpoint? Лучше! Встречаем beamer

Задача: написана статья или отчёт в LaTeX, а нужно к тому же сделать презентацию прямо из LaTeX, в которой будут рисунки, таблицы и формулы. К тому же, нет времени и желания бороться с монстрами типа OpenOffice.org Impress или Microsoft Powerpoint.

Решение: для создания презентаций в LaTeX существует пакет beamer, установка и освоение которого не представляют особых сложностей.

Установка
Просто и естественно: ищем в своих репозиториях всё, что содержит слово beamer и находим:
# apt-cache search beamer
latex-beamer - LaTeX class to produce presentations

Это то, что нам нужно. Установка apt-get install latex-beamer, как говорится в руководстве по beamer, проходит в формате "Sit back and relax". Теперь всё готово, и можно запускать любимую оболочку для создания
LaTeX файлов - Kile, TeXmaker, Lyx, Emacs или к чему ещё ваша душа прикипела.


Создание презентаций в beamer
Здесь всё достаточно просто: если вы работали в LaTeX какое-то время, разобраться с презентациям - дело от силы получаса. Почти все ваши приёмы оформления текста в LaTeX будут работать и в презентациях, и теперь из статьи или отчёта презентацию будет сделать очень просто: никакой бесполезной борьбы с визуальщиной, подбора шрифтов и вечно прыгающих рисунков. В конце концов, вы получите PDF-файл, который в одинаковом виде открывается во всех сколько-нибудь полноценных операционных системах.

Итак, ближе к делу. После установки пакета latex-beamer вы должны будете новый документ с презентацией объявить классом beamer. Вот как выглядит шапка для латеховского файла:

\documentclass{beamer}
\usepackage[T2A]{fontenc}
\usepackage[koi8-r]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{amssymb,amsfonts,amsmath,mathtext}
\usepackage{cite,enumerate,float,indentfirst}
\usepackage[dvips]{graphicx}

\title
{Итоги работы проекта}
\author{Михаил Конник и сотоварищи}
\date{лето 2007}

Если у вас другая раскладка - поменяйте koi8-r на свою. Кроме того, вы должны указать название презентации (title), авторов(author) и дату (date). После этого в теле документа вы можете сгенерировать титульный слайд командой \maketitle и таким образом получить первый слайд своей презентации.
Каждый слайд находится в окружении
\begin{frame}
.......
\end{frame}


Каждый слайд неплохо дополнять комментариями, чтобы не запутаться потом и не забыть, что отображается на слайдах.
Заголовок слайда делается командой \frametitle{что вы хотите написать в заголовке} и отображается в соответствие с темой слайдов. Но об этом позже.

После всего сказанного выше, пробуем сделать презентацию - например, такую:

\begin{document}

%%титульная страница
\maketitle

%% основные моменты
\begin{frame}
\begin{center}
\frametitle{Основные достижения:}
\begin{itemize}
\item использование пространственно-некогерентного света ртутной лампы;
\item применение RAW-конверторов, использование полного динамического диапазона цифровой фотокамеры;
\item усовершенствование линейных алгоримтов деконволюции.
\end{itemize}
\end{center}
\end{frame}

\end{document}

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

[LaTeX] finished with exit status 1
./Present.tex:9:Option clash for package graphicx.
./Present.tex:15: Glyph not defined in PD1 encoding,(hyperref) removing `\CYRM' on input line 15. Glyph not defined in PD1 encoding,(hyperref) removing `\CYRM'

Не обращаем внимания на эти вопли и спокойно конвертируем в PDF. Результат будет скромный, но со вкусом и без лишних телодвижений:



Хорошо, быстро и без долгих страданий от съехавших шрифтов и картинок офисных пакетов. Если хотим сделать презентацию несколько богаче и профессиональнее по оформлению, нужно лишь указать одну из тем, наличествующих в комплекте. А в комплекте их немало:
beamerthemeAntibes.sty
beamerthemeBergen.sty
beamerthemeBerkeley.sty
beamerthemeBerlin.sty
beamerthemeBoadilla.sty
beamerthemeboxes.sty
beamerthemeCopenhagen.sty
beamerthemeDarmstadt.sty
beamerthemedefault.sty
beamerthemeDresden.sty
beamerthemeFrankfurt.sty
beamerthemeGoettingen.sty
beamerthemeHannover.sty
beamerthemeIlmenau.sty
beamerthemeJuanLesPins.sty
beamerthemeLuebeck.sty
beamerthemeMadrid.sty
beamerthemeMalmoe.sty
beamerthemeMarburg.sty
beamerthemeMontpellier.sty
beamerthemePaloAlto.sty
beamerthemePittsburgh.sty
beamerthemeRochester.sty
beamerthemeSingapore.sty
beamerthemeSzeged.sty
beamerthemeWarsaw.sty

Так же много и цветовых схем оформления, всё это добро (по крайней мере в Debian) лежит в /usr/share/texmf/tex/latex/beamer/themes

Чтобы применить тему и цветовую схему оформления к вашей презентации, достаточно до \begin{document} написать:
\usetheme{Antibes}
\usecolortheme{seahorse}
И вот что при этом произойдёт:



Программы типа power point отдыхают, особенно если в презентации много формул и рисунков. Посмотреть на то, как выглядят слайды с разными настройками, можно на сайте Beamer Matrix.

Заключение
В этой вводной статье, конечно, нельзя объять необъятное: beamer имеет огромное количество настроек и параметров, которые вы можете задать, если захотите. Можно менять темы оформления, цвета и размеры шрифтов, подключать другие гарнитуры, изменять стиль отображения заголовков... Всё это позволяет точно подстраивать результат под ваши нужды. Однако даже с минимальными усилиями вы будете получать презентации лучше, чем microsoft powerpoint, а уж насколько проще!


Ссылки
Литературы по beamer не так много, и в большинстве своём она на английском. Вот здесь очень хорошая статейка для разбега. Некоторое количество продвинутой информации есть тут, а здесь делятся своим опытом по использованию beamer. Так же прекрасную статью о beamer, написанную Евгением Балдиным, можно прочесть в LinuxFormat за апрель 2007 года (#91).

23 комментария:

  1. Да, Beamer это очень хорошая вещь, мы её уже много лет используем.

    ОтветитьУдалить
  2. Есть такая вещь как texpower. Оно позволяет делать пошаговые презентации. Ну когда текст «проявляется» по клику. Оно работает с формулами и со всеми техвоскими потрохами, при этом порядок появления кусков текста можно определить самому.

    ОтветитьУдалить
  3. Для создания слайдов есть интересный пакет svg2sty. http://jedidiah.stuff.gen.nz/lpd.html

    ОтветитьУдалить
  4. Есть такая вещь как texpower. Оно позволяет делать пошаговые презентации. Ну когда текст «проявляется» по клику. Оно работает с формулами и со всеми техвоскими потрохами, при этом порядок появления кусков текста можно определить самому.

    таки beamer тоже, добавь:

    \setbeamercovered{dynamic} % overlays not yet revealed will faintly appear

    а потом так:
    \section{Introduction}
    \begin{frame}{PGAA technique}
    \begin{enumerate}[<+->]
    \item The sample is continuously irradiated with a beam of neutrons.
    \item The constituent elements of the sample absorb some of these neutrons and emit prompt $\gamma$-rays (to return to base level) which are measured with a high-resolution $\gamma$-ray spectrometer.
    \item The energies of these $\gamma$-rays identify the neutron-capturing elements, while the intensities of the peaks at these energies reveal their concentrations.
    \item The amount of analyte element is given by the ratio of count rate of the characteristic peak in the sample to the rate in a known mass of the appropriate elemental standard irradiated under the same conditions.
    \end{enumerate}
    \end{frame}

    к титульному листу можно добавить:
    \subtitle{}
    \titlegraphic{\includegraphics{}}
    \institute[]{}

    и оборачивать ее в слайд:
    \frame[plain]{
    \titlepage
    \begin{flushright}
    \tiny{Typeset by LaTeXe} \end{flushright}}

    и лого на каждый слайд
    \logo{\includegraphics{}}

    ОтветитьУдалить
  5. Beamer очень удачный пакет. Тоже пользуюсь. Есть ещё prosper, но в нём у меня что-то с русскими буквами когда-то давно не заладилось (сейчас может уже и починили).

    Пример презентации, созданной в Beamer, можно посмотреть здесь:
    http://latex-beamer.sourceforge.net/beamerexample1.pdf

    Да, Beamer ещё хорош тем, что позволяет вставлять в полученный PDF видеофайлы.

    ОтветитьУдалить
  6. Офисные пакеты отдыхают, особенно если в презентации много формул и рисунков.

    Есть мнение, что презентации, сделанные в офисных пакетах тем не менее удачнее. Именно по этой причине: в них меньше формул и их легче и интереснее слушать :)

    ОтветитьУдалить
  7. Да, у меня при создании PDF с помощью pdflatex ошибки при обработке русских букв не возникают. Как я делаю, описал в Русский PDF в LaTeX. Поставил там заодно ссылку на Ваш пост.

    ОтветитьУдалить
  8. 2 Ramaloke пишет...

    Спасибо, что зашёл и поделился такими интересными сведениями! Пригодятся!

    2 jetxee пишет...
    Есть мнение, что презентации, сделанные в офисных пакетах тем не менее удачнее. Именно по этой причине: в них меньше формул и их легче и интереснее слушать :)
    Есть другое мнение: математики и физики от поверпоинтов явно не в восторге :-) И слушать презентацию физика-теоретика с формулами, которые из-за мелкософт превратились в месиво, не слишком интересно :-)

    2 jetxee пишет...
    Да, у меня при создании PDF с помощью pdflatex ошибки при обработке русских букв не возникают. Как я делаю, описал в Русский PDF в LaTeX.
    Ценно, спасибо. Попробую прикрутить у себя. И за ссылку спасибо.

    ОтветитьУдалить
  9. Если презентация на русском языке,
    полезно
    \documentclass[unicode]{beamer}
    и
    \usepackage{cmap}

    ОтветитьУдалить
  10. Хм. Спасибо за beamer. Недавно вернулся к подготовке презентаций в TeX. Немного полистал/почитал... В конце концов, нарисовал её с помощью powerdot, что оказалось довольно просто, да и результатом я остался доволен. Однако же знать альтернативное решение не помешает :)

    ОтветитьУдалить
  11. Спасибо за наводку. Попробую бимер обязательно.

    ОтветитьУдалить
  12. 2 Анонимный пишет...

    Немного полистал/почитал... В конце концов, нарисовал её с помощью powerdot, что оказалось довольно просто, да и результатом я остался доволен.
    Да, быстро и просто. Однако в наших палестинах мне сказали чётко: не будет версии в поверпоинте - похороним :-)

    2 tty01 пишет...
    Спасибо за наводку. Попробую бимер обязательно.
    Пожалуйста. Жаль, конвертации в PowerPoint нет...

    ОтветитьУдалить
  13. В Beamer по умолчанию используется шрифт в 10 pt. А выглядят они на экране крупными потому, что размер листа (поля) уменьшен в 4 раза. Шеф заставил впихнуть на страницу побольше формул и текста. Пришлось использовать «извращения» ( вставлять \tiny \small и т.д.). Есть ли способ уменьшить размер букв без «извращения»?

    ОтветитьУдалить
  14. По уммолчанию 11pt (из руководства). Можно указать \documentclass[8 или 9 или 10]{beamer} для уменьшения текста. Руководство (1,8 Мб английский 214 стр.) http://www.xion.ru/humour/files/beameruserguide.pdf
    Ссылки не работают
    http://www.pletscher.org/latex/slides/customizations.php
    http://www.pletscher.org/latex/slides/

    ОтветитьУдалить
  15. 2 Mike пишет...
    Пришлось использовать «извращения» ( вставлять \tiny \small и т.д.). Есть ли способ уменьшить размер букв без «извращения»?
    Майк, это никакие не извращения, это нормальный способ уменьшить шрифт. Можно подключить стилевые пакеты, которые дают возможность ТОЧНО указывать размер в пунктах.

    Но \tiny и \small это нормальные вещи, а не патологические.

    2 Анонимный пишет...
    Ссылки не работают
    Спасибо большое, поправил.

    ОтветитьУдалить
  16. Сегодня натрахался (другого слова не подобрать) с OO Impress. По статье попробывал Beamer - красота!

    ОтветитьУдалить
  17. Большое спасибо за статью! Попробовал - у меня заработало.
    Единственное замечание... У меня LaTeX ругается на строчку:
    \usepackage[dvips]{graphicx}
    Поэтому я ее закомментировал так:
    %\usepackage[dvips]{graphicx}
    Надеюсь, что ничего важного я там не испортил...

    ОтветитьУдалить
  18. Использую beamer для презентаций. Всё хорошо, да только не могу нормально вставить листинги (lstlisting) - может, какая-то хитрость есть? На листинги ругается.

    ОтветитьУдалить
  19. Отличный пост! Спасибо большое!

    Информации на русском про beamer немного, а ведь он и впрямь, гораздо удобнее PowerPoint'а. Ну а людям, работающим с формулами, вообще незаменим.

    ОтветитьУдалить
  20. > %\usepackage[dvips]{graphicx}

    Можно просто сделать \usepackage{graphicx}
    Это пакет для поддержки графики.

    ОтветитьУдалить
  21. http://tex.stackexchange.com/questions/5836/place-bibliography-items-at-bottom-of-frame

    ОтветитьУдалить
  22. Еще вот про стиль и цвет хорошие вещи - можно всё покрасить как душе угодно:
    Командой \setbeamercolor{имя_блока}{fg=цвет1,bg=цвет2} ( например \setbeamercolor{frametitle}{fg=secinhead,bg=titlebg} )
    Список всех блоков вот: http://pastebin.com/nK3BWG5v
    И неплохой пример вот: http://tex.stackexchange.com/questions/38208/beamer-create-own-headline-theme (на английском, правда).

    ОтветитьУдалить
  23. Можно ли в Beamer делать подписи к картинкам?

    ОтветитьУдалить