среда, 22 апреля 2009 г.

Презентация для защиты диплома в latex-beamer (стиль Statmod)

Диплом в LaTeX

Записки Дебианщика и Советы.Блогспот.Ком сообщают о том, как надо писать диплом и диссертацию в LaTeX. Я же постараюсь немного коснуться темы презентаций.

Какой должна быть презентация?

Не мне судить какой должна быть презентация, но мое недавнее посещение студенческой конференции в качестве жюри показало, что многие готовят презентации специально так, чтобы те, кому они предназначаются ничего не смогли понять. Размеры шрифтов и гамма цветов поражают. Жаль, что докладчики не понимают, что то, что видно хорошо на экране, далеко не всегда так же видно при использовании проектора или большого плазменного телевизора, но в большой же аудитории. Естественно, на каждом слайде налеплено много всего, разумеется, наимельчайшим шрифтом, и хорошо если не . Всему этому способствует MS Powerpoint. Проблема в том, что, во-первых, в университетах ни чему другому не учат, а во-вторых многие просто не знают, что бывает что-то ещё, кроме ворда и поверпоинта. Ну даже если бы ничего другого не было, неужели нельзя научиться делать приличные презентации, пусть даже и в ущербном офисе? Видимо, нельзя, как показывает практика раз за разом. В противоположность этому, ЛаТеХ не позволит налепить кучу всего, больше, чем надо, мелким шрифтом, криво-косо. Надо очень сильно постараться, чтобы сделать такую же ужасную презентацию в ЛаТеХе, как выглядит средняя презентация в офисе.

Справедливости ради, стоит отметить, что из 16 докладов, одна презентация была оформлена в LaTeX с использованием пакета beamer. Это уже прорыв, на мой взгляд, потому что до этого я ещё ни разу на конференциях не видел презентации, сделанной не в офисе! Однако презентация та была выполнена в не самом подходящем, как мне кажется, стиле. Доклад длился 10 минут, много за это время на расскажешь, но был использован стиль, в котором каждый слайд содержит информацию о структуре презентации в боковой части слайда. Стиль сходу не скажу, но факт в том, что места на само содержание слайда отводится всё меньше. В таком докладе и так ясно, что сначала введение, потом постановка задачи, а затем результаты и обсуждение. Так зачем зарубать драгоценное место?

Стиль Statmod

Надо сказать, что лично мне из всех стилей, имеющихся по умолчанию в beamer понравились только Warsaw и Frankfurt. Другие не приглянулись в основном цветами (на мой взгляд, белые буквы на синем фоне в заголовке и чёрные на белом в тексте наиболее благоприятны и подходят как для плазмы, так и для проектора) и навигационными полосами (у них они более экономны). Но из этих стилей Warsaw всё же создан для больших презентаций. Хоть свой стиль пиши от безысходности. Но, к счастью, на кафедре Статистического Моделирования Математико-Механического факультета СПбГУ уже был разработан стиль Statmod, специально для защит диплома.

Особенность стиля в том, что он имеет опции, позволяющие:

  • урезать шапку
  • ввести нумерацию слайдов
  • изменить фон с белого на песочный
  • отключить вовсе навигационную полосу

То есть, для защиты диплома, действительно, подходит, пожалуй, наилучшим образом.

Установка Statmod

Для начала скачайте архив со всеми необходимыми файлами, желательно в специально отведённую для этого директорию - зипы загаживают текущую директорию, не создавая поддиректорию при распаковке.

Распаковываем:

$ unzip beamerstatmod.zip
$ ls -F
color/  inner/  outer/  theme/

Файлы, лежащие в этих директориях должны быть скопированы туда, где лежат стили beamer в вашей системе. В Debian это /usr/share/texmf/tex/latex/beamer/themes.

cp -r color/* /usr/share/texmf/tex/latex/beamer/themes/color
cp -r inner/* /usr/share/texmf/tex/latex/beamer/themes/inner
cp -r outer/* /usr/share/texmf/tex/latex/beamer/themes/outer
cp -r theme/* /usr/share/texmf/tex/latex/beamer/themes/theme

После этого обновляем кэш (лучше от настоящего рута, а не sudo, так как последнее вмешивается в личные файлы теха в локальной директории и меняет права доступа):

texhash

Теперь можно использовать этот замечательный класс в документах. Для этого в преамбуле должна быть указана тема и опции:

\usetheme[numbers, totalnumbers, minimal, nologo]{Statmod}

В данном случае "numbers" говорит, что надо нумеровать слайды, а "totalnumbers" ещё и выводит полное число слайдов. "minimal" означает, что мы хотим использовать сжатую шапку слайда, то есть убираем полосу сверху, которая показывает оглавление, а "nologo" говорит, что не надо использовать логотип кафедры Статистического Моделирования.

Также можно использовать следующие опции:

  • nonav - убрать навигационную полосу, ту, что внизу
  • sand - изменить цвет фона с белого на песочный
  • compress - сжимает шапку, но оставляет полосу сверху, которая показывает название только текущего раздела, а не всё оглавление

Преамбула для презентации

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

\documentclass[10pt,pdf,hyperref={unicode}]{beamer}
\usepackage[T2A]{fontenc}       %поддержка кириллицы
\usepackage[koi8-r]{inputenc}   %пока бибтех не дружит до конца с юникодом
\usepackage[russian]{babel}     %определение языков в документе
\usepackage{amssymb,amsmath}    %математика

\graphicspath{{./pictures/}{../../pictures/}} %относительный путь к
                                %каталогу с рисунками (обязателен слеш
                                %в конце!)

% Тема презентации
\usetheme[numbers, totalnumbers, minimal, nologo]{Statmod}

%%%%%%%%%%%%%%%%%%%
%% Выбор шрифтов %%
\usefonttheme[onlylarge]{structurebold}

% Привычный шрифт для математических формул
\usefonttheme[onlymath]{serif}

% Более крупный шрифт для подзаголовков титульного листа
\setbeamerfont{institute}{size=\normalsize}
%%%%%%%%%%%%%%%%%%%

% Если используется последовательное появление пунктов списков на
% слайде (не злоупотребляйте в слайдах для защиты дипломной работы),
% чтобы еще непоявившиеся пункты были все-таки немножко видны.
\setbeamercovered{transparent}

%%%%%%%%%%%%%%%%%%
%%% Сокращения %%%
% Синий цвет выделения
\setbeamercolor{color1}{bg=blue!60!black,fg=white}
\newcommand{\celcius}{\,^{\circ}\mathrm{C}}  %градус Цельсия
\newcommand{\grad}{\,^{\circ}}               %знак градуса
%%%%%%%%%%%%%%%%%%

\title{Презентация в \LaTeX{}}
\author{На этом месте должны быть вы}
\institute{Ваш институт/место работы \\
    \vspace{0.7cm}
    Научный руководитель:  ФИО шефа с регалиями \\
    \vspace{0.7cm}
}
\date{
    Новосибирск или где там у вас конференция\\
    2009г.
}

\begin{document}
\begin{frame}
  % создаём титульный лист
  \maketitle
\end{frame}

\section{Введение}

\begin{frame}
  \frametitle{Название слайда}
  \begin{columns}
    % Колонки по половине ширины слайда
    \column{0.3\textwidth}
    \only<2->{
       \includegraphics[width=\columnwidth]{tux1} \\
    }
    \includegraphics[width=\columnwidth]{tuxes}

    \column{0.6\textwidth}
    \only<1,4>{
    \begin{block}{Блок в рамке с подзаголовком}
      Содержание блока для яркого обозначения чего-либо, либо
      структурирования.
    \end{block}
 }
    \textbf{Нумерованный список с оверлеями}:
    \begin{itemize}
        \item<1-> Этот пункт будет показан всегда
        \item<2-> Этот - начиная со второго кадра
        \item<1,3> Этот - на первом и третьем кадрах
    \end{itemize}

  \end{columns}
\end{frame}

\begin{frame} \frametitle{Ещё один слайд}
%  \frame[containsverbatim]
  \only<1-3>{
     \begin{beamercolorbox}[shadow=true, rounded=true]{color1}
       Какая-нибудь важная информация в выделении, на первом, втором и
       третьем кадрах.
     \end{beamercolorbox}
  }
  \only<2->{
     \begin{block}{}
       Блок без заголовка, пара пустых фигурных скобок обязательна.
       Начиная со второго кадра, отбивает под себя место.
     \end{block}
  }

  \begin{columns}
    \column{0.5\textwidth}
    \onslide<3>{
       \begin{alertblock}{Особо важно}
         Не перегружать оверлеями!  Времени не хватит переключать слайды.
       \end{alertblock}
    }
    \column{0.5\textwidth}
    \onslide<3>{
       \begin{exampleblock}{Пример}
         В данном случае место отбито ещё до появления элемента, и
         будет всё ещё зарезервированно после его скрытия.
       \end{exampleblock}
    }
  \end{columns}
  \vspace{0.5cm}

  \only<4>{
     \alert{Следует обратить \emph{внимание} на преобразование волновой
        функции фотона}

     Разложение по <<Клебшам>> написать проще простого!
     \begin{equation}
       \label{eq:1}
       |JlM \rangle = \sum_{\mu=-J}^{J} C_{lM - \mu, 1\mu}^{JM}
       Y_{l,M-\mu}(\theta, \varphi) |1,\mu \rangle
     \end{equation}
  }
\end{frame}

\end{document}

И вот так выглядит этот пример у меня (кадры одного слайда сгруппировал):

К прочтению:

Только что узнал, что появилась реальная альтернатива чистому a0poster для создания постера для конференций в виде beamerposter (о том как сделать постеры в LaTeX я уже нацарапал). Пока неизвестно как это будет дружить с русским (в случае a0poster ломались начертания шрифтов заголовков при подключении T2A, без которого никак). В любом случае, интересно!

Копируете статью - поставьте ссылку на оригинал!

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

  1. Хех. Вот уж не ожидал, что кто-то еще воспользуется этим шаблоном :)

    На всякий случай:
    1. Там есть некоторое кол-во недокументированных опций. В частности, вместо nologo можно использовать mylogo и скормить ему свой собственный логотип
    2. "Реальные" примеры использования данного шаблона можно найти на http://www.statmod.ru/3-5/diploma/2007/index.htm

    ОтветитьУдалить
  2. Спасибо за комментарий!

    А чего бы и не воспользоваться шаблоном, если здесь всё просто, красиво и без излишеств? :)

    ОтветитьУдалить
  3. Огромное спасибо за статью! Очень пригодилась!

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