Pandoc для презентаций -- краткое введение

11 Feb 2014


...

В этой статье я покажу, как сделать pdf-слайды для презентации с помощью pandoc и LaTeX-шаблона beamer.

Что такое pandoc

Pandoc – программа для конвертации текстов между разными форматами. Написана на Haskell, для генерации pdf использует pdflatex.

Входные форматы:

  • markdown,
  • reStructuredText,
  • HTML,
  • LaTeX.

Выходные форматы:

  • Форматы на основе HTML: XHTML, HTML5, HTML-слайды презентаций (S5, Slidy, Slideous, DZSlides).
  • Форматы текстовых процессоров: Microsoft Word docx, OpenOffice/LibreOffice ODT, OpenDocument XML
  • Электронные книги: EPUB версии 2 или 3, FictionBook2
  • Форматы технической документации: DocBook, GNU TexInfo, Groff
  • Форматы системы TeX: LaTeX, ConTeXt, слайды LaTeX Beamer
  • PDF (с помощью LaTeX)
  • Легковесные текстовые форматы: Markdown, reStructuredText, AsciiDoc, MediaWiki, Emacs Org-Mode, Textile

Устанавливаем

Для Ubuntu есть в пакетах:

> sudo apt-get install pandoc

А также – LaTeX (список пакетов проверен на свежей установке Ubuntu 14.04):

> sudo apt-get install texlive texlive-latex-base texlive-lang-cyrillic latex-beamer texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra cm-super

Простая (английская) презентация

slides-1.md:

% Title
% My name
% May 2, 2000

# Section header

## slide 1

- item 1
- item 2

## slide 2

- item 3
- item 4

# Section header 2

## slide 3

- item 5
- item 6

Компилируем pdf:

pandoc -t beamer -s slides-1.md -o slides-1.pdf

Готово, смотрим слайды в slides-1.pdf.

Русский текст

Добавляем русский текст.

slides-2.md:

% Заголовок
% Имя Фамилия
% May 2, 2000

# Заголовок раздела 

## слайд 1

- пункт 1
- пункт 2

Компилируем pdf с указанием языка:

pandoc -t beamer -V lang=russian -s slides-2.md -o slides-2.pdf

Фрагменты кода с подсветкой

slides-3.md

% Заголовок
% Имя Фамилия
% May 2, 2000

# Заголовок раздела

## слайд 1

- пункт 1
- пункт 2

## слайд 2 -- perl-код

~~~perl
sub my_func { 
    my ($q, $w) = @_;
    return 1;
}
~~~

Картинки с регулируемой шириной

Чтобы регулировать ширину картинок, можно пользоваться LeTeX-овской инструкцией:

slides-4.md

% Заголовок
% Имя Фамилия
% May 2, 2000

# Заголовок раздела

## слайд 1

- пункт 1
- пункт 2

## слайд 2 -- картинки

\includegraphics[width=4in]{images/1.png}

\includegraphics[width=2in]{images/2.png}

Сильно меняем шаблон

Если хочется радикально поменять оформление, например, использовать другой базовый класс – можно поменять LaTeX-шаблон, который применяется к презентации.

Дампим встроенный шаблон pandoc’а:

> pandoc -D beamer > beamer.my

Редактируем beamer.my по своему усмотрению и используем:

> pandoc -t beamer --template beamer.my -s slides.md -o slides.pdf

Дополнительно читаем