воскресенье, 18 июня 2017 г.

Верстка презентации в LaTeX с помощью Beamer

С LaTeX я познакомился на 3 курсе университета в 2014 году увидев курс на Coursera. До этого я слышал что LaTeX это очень сложная штука и используется в основном в научных кругах для верстки статей для журналов.
Оказалось что LaTeX не настолько сложен и потратив несколько дней на его изучение, можно легко верстать как обычные документы, так и презентации.
Тренировался я на разных отчетах, курсачах, методичках, визитках переползая с LibreOffice на LaTeX.
Впоследствии бакалаврский и магистерский дипломы, а также множество презентаций я верстал именно в LaTeX.

За это время накопились некоторые шаблоны:

На последнем я остановлюсь подробнее.
Для LaTeX существует пакет Beamer, с помощью которого можно верстать презентации.
С одной стороны презентации не настолько емкая штука как какой-нибудь диплом или диссертация, и вроде верстать в WYSIWYG (Power Point, Impress, ...) удобнее, однако удобство верстки формул все же имеет высокий перевес в сторону Beamer.
С помощью TIKZ можно даже рисовать свои рисунки.
Для beamer существует большое количество разнообразных шаблонов среди которых можно выделить:


На основе этих шаблонов или с нуля можно сверстать свой шаблон презентации.
Вот пример того, как выглядит файл стиля для моего шаблона презентации: https://github.com/Amet13/presentation-latex/blob/master/beamerthemeSevGU.sty
И как выглядит титульная страница и один из слайдов:




В виде кода второй слайд выглядит вот так:
\section{Пункт 2}
\begin{frame}
\frametitle{\insertsection}
\framesubtitle{Подпункт 2}
\begin{enumerate}
   \item Элемент 1
   \uncover<2->{\item Элемент 2}
   \uncover<3->{\item Элемент 3*}
\end{enumerate}
\begin{figure}[h]
   \begin{center}
      \begin{multicols}{2}
      \includegraphics[width=0.3\linewidth]{one} \pause \\
      \uncover<2->{\includegraphics[width=0.3\linewidth]{two}} \pause \\
      \end{multicols}
      \uncover<3->{\includegraphics[width=0.15\linewidth]{three}}
   \end{center}
\end{figure}
\vfill
\footnotesize{* Какая-то сноска}
\end{frame}

То есть ничего сложного тут нет и на основе примеров вполне можно подогнать под себя.
Вот так выглядит джентельменский набор пакетов, необходимый мне для работы в LaTeX:
$ sudo apt install -y texlive-base texlive-latex-extra texlive-xetex texlive-lang-cyrillic latexmk texlive-fonts-extra texlive-math-extra latex-beamer
Для написания кода можно использовать IDE, например LaTeXila или TexStudio, или же писать в любом редакторе, а для компиляции использовать Makefile: https://github.com/Amet13/presentation-latex/blob/master/Makefile
Весит это дело немало и если хочется поиграться разово с LaTeX, то можно например запихнуть это все дело в Docker-контейнер, например вот так: https://github.com/Amet13/master-thesis/blob/master/Dockerfile

В общем пару раз попробуешь и втянешься в это дело.

Комментариев нет: