null

LaTeX, Beamer, текст речи в презентации

Доброе утро!

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

Сделаем простую маленькую презентацию:

\documentclass[]{beamer}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}

\setbeamerfont{frametitle}{size = \large}

\usebackgroundtemplate{
   \begin{picture}(0,255)
   \minipage{0.9\textwidth}
   \includegraphics[width=0.3\textwidth]{tuneit-logo.png}
   \endminipage
   \hfill \hspace*{60px}
   \ifnum\value{framenumber}>1 \large \insertpagenumber \fi
   \end{picture}
}

\defbeamertemplate*{title page}{customized}[1][]
{
  {\center
  \usebeamerfont{institute}\insertinstitute\par
  \bigskip
  \usebeamerfont{title}\inserttitle\par
  \usebeamerfont{subtitle}\insertsubtitle\par
  \par}
  \bigskip
  \bigskip
  {\flushright
  \usebeamerfont{author}\insertauthor\par
  \par}
  {\center
  \vspace{\fill}
  \usebeamerfont{date}\insertdate\par
  \par}
}

\hypersetup{
  unicode=true,
}

\institute{ЧОУ ДПО <<Тюн-ит>>}
\title{\LaTeX, Beamer, текст речи в презентации}
\author{Киреев Валерий Юрьевич}
\date{Санкт-Петербург\\2019 г.}

\begin{document}

\begin{frame}
  \titlepage
\end{frame}

\begin{frame}{Слайд 1}
  Текст слайда
  \note{
    Текст речи
  }
\end{frame}

\begin{frame}{Слайд 2}
  \begin{itemize}
    \item Итем 1
    \item Итем 2
    \item Итем 3
    \item Итем 4
    \item Итем 5
  \end{itemize}
  \note{
    Текст речи про списки
  }
\end{frame}

\end{document}

Получим что-то подобное:

Комментариев нет. Их надо включить. Для этого воспользуемся пакетом pgfpages, который позволит Beamer'у склеить страницы как нужно, и выставим соответствующую опцию:

\usepackage{pgfpages}
\setbeameroption{show notes on second screen}

Результат:

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

 

В случае, когда хочется сделать побольше текста и распечатать его на A4, есть альтернативное решение. Я вынес заголовки преамбулы по разным файлам, в одном сделал \setbeameroption{hide notes}, чтобы печатались только слайды, а следующий выглядел примерно так:

\documentclass[article]{beamer}
\usepackage[orientation=portrait,size=A4]{beamerposter}
\usepackage{pgfpages}

\setbeameroption{show only notes}

\defbeamertemplate*{note page}{customized}
{
  {
    \scriptsize
    \usebeamerfont{note title}\usebeamercolor[fg]{note title}
    \vbox{
      \hfill\insertslideintonotes{0.25}\hskip0pt
      \vskip-0.25\paperheight
      \nointerlineskip
      \begin{pgfpicture}{0cm}{0cm}{0cm}{0cm}
        \begin{pgflowlevelscope}{\pgftransformrotate{90}}
        \end{pgflowlevelscope}
      \end{pgfpicture}}
    \nointerlineskip
    \vbox to .25\paperheight{\vskip4.5em
      {\Large
        \hbox{\insertshorttitle[width=0.75\textwidth]}%
        {\vskip0.5em\hskip3em\hbox{\insertshortframetitle[width=0.67\textwidth]}}
      }
      \vfil}
  }
  \vskip.25em
  \nointerlineskip
  \fontsize{10}{10}{\selectfont
    \insertnote
  }
}

Здесь я предложил Beamer'у печатать всё на A4 и немножко переделал стандартный шаблон комментариев. Стало некрасиво, зато, на мой взгляд, более функционально — меньше цвета и отвлекающих конструкций, к тому же для печати полной речи такой шаблон подходит куда лучше, бумага большая, шрифт маленький.

На этом всё, надеюсь, кому-то пригодится.