Мелкие тонкости презентаций в Beamer

Есть ряд мелких, но противных тонкостей при работе с Beamer, на которые мне пришлось нарваться при работе над очередной презентацией.


Как выровнять текст по ширине в Beamer?
Для этого используем возможности пакета ragged2e и в преамбуле документа презентации пишем:

\usepackage{ragged2e}
\justifying
Но это выровняет текст только в пределах одного слайда. Чтобы выровнять весь текст в презентации, в преамбулу вставляем:
\renewcommand{\raggedright}{\leftskip=0pt \rightskip=0pt plus 0cm}
И это выровняет текст по ширине в слайдах.


Куча слайдов в Beamer и как их структурировать
На самом деле, в Beamer никто не запрещает использование \section и \subsection - в тексте
презентации они никак не отражаются (за исключением, может быть, некоторых тем),
а структурировать презентацию это сильно помогает.


Отключить перенос в презентации

Чтобы выключить все переносы в презентации Beamer, в преамбулу следует вставить следующую команду:

\hyphenpenalty=100000 %%% to turn the hyphenation off

Теперь переносы в слайдах нас беспокоить не должны.

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

\begin{frame}[shrink=5]
...
\end{frame}
Это уменьшит содержимое слайда на 5% (можно поставить и больше, если надо).


Как включить\выключить нумерацию рисунков и убрать эти навигационные кнопки в Beamer?

Чтобы включить нумерацию рисунков, в преамбуле пишем:

\setbeamertemplate{caption}[numbered]

Выключение нумерации рисунков достигается так: \setbeamertemplate{caption}[]

Чтобы выключить навигационные символы на презентации в Beamer, используем строчку в преамбуле:

\setbeamertemplate{navigation symbols}{}

Для того, чтобы вообще убрать слово "РИС" в презентации и при этом не использовать пакет caption

(он с Beamer конфликтует), в преамбуле пишем:

\addto\captions<your language>{%
\renewcommand{\figurename}{foo}%
\renewcommand{\tablename}{bar}%
}

Или, если не используется babel, пишем:

\renewcommand{\figurename}{foo}%
\renewcommand{\tablename}{bar}%

Если нужно, чтобы слайды разбивались на несколько автоматически, употребляем тег:

\begin{frame}[allowframebreaks]{Литературные источники}

.........

\end{frame}

Теперь содержимое слайда будет автоматически разбиваться Beamer на несколько слайдов.



Заключение
Этот пост я буду периодически обновлять и добавлять сюда другие находки и мелкие косяки Beamer. Бесценные находки многоуважаемых комментаторов, как всегда, будут добавлены в текст поста с удовольствием.

Ссылки:
Несколько статей по Beamer на русском из журнала "Системный администратор".

16 комментариев: |высказаться!| RSS-лента дискуссии.|
Антон комментирует...

В журнале "Open Source", №61, 62 опубликованы две мои статьи по beamer
http://osa.samag.ru/info/OpenSource061.zip

http://osa.samag.ru/info/OpenSource062.zip
статьи расчитаны на новичков, там есть ещё несколько "хитростей", которые лично я долго-долго искал: чтобы кириллица отображалась в структуре документа в пдф-вьюверах, нужно добавить: \documentclass[ucs]{beamer}, описан способ русификации окружений "теорема" и т.д.
Долгое время мне приходилось вжимать "список литературы" в один слайд, пока я не нашёл параметр: \begin{frame}[allowframebreaks]{Литературные источники}... Теперь содержимое автоматически разбивается на несколько слайдов.

Анонимный комментирует...

А зачем выравнивать текст по ширине в слайдах? Там же крупный кегль (= узкая колонка), значит, будут страшные зияющие пробелы.

Презентация не предназначена для чтения массива текста с экрана, это же не статья. И не должна представлять всю работу на одном экране 1024x768, это же не стендовый плакат. Значит, кегль меньше 18 в презентации — зло. И если на слайде много текста, и надо впихнуть туда ещё немного — самое время подумать о том, чтобы слайд разделить на два-три, а не масштабировать буквы.

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

Руководство по тьюнингу стилей Beamer было бы полезно.

За allowframebreaks спасибо, может пригодиться.

Антон комментирует...

Ну, список литературы привёл как пример для наглядности. Как-то я привык приводить список литературных источников в презентациях. Если не во время доклада, так во время обсуждения/вопросов может пригодится. Хотя мне уже указывали, что сноски были бы информативней.

virens комментирует...

@Антон пишет...
Спасибо за ссылки! Поместил в пост.


\begin{frame}[allowframebreaks]{Литературные источники}... Теперь содержимое автоматически разбивается на несколько слайдов.
Класс! Я не знал. Вставил в пост.


@Анонимный пишет...
А зачем выравнивать текст по ширине в слайдах? Там же крупный кегль (= узкая колонка),
Не везде. Так смотрится лучше, на мой взгляд.

Презентация не предназначена для чтения массива текста с экрана, это же не статья.
Это да.


То же самое: развёрнутая библиография в презентации бесполезна
Я знаю, но в тех палестинах, где я больше не обитаю, это было требованием. Не виноватая я...

Руководство по тьюнингу стилей Beamer было бы полезно.
Возможно, будет. Но не скоро.

@Антон пишет...
Как-то я привык приводить список литературных источников в презентациях.
И это правильно. Потому как презентация потом может быть выложена в интернете, и мне не раз и не два приходилось выковыривать нормальные ссылки и понятные объяснения именно из презентаций, а не из учебников разных дуболомов.

Minoru комментирует...

Гм… А почему в первой половине статьи подсветка синтаксиса в коде есть, а во второй — нету? Определись, virens :)

Пора ковырять Латех по-настоящему — он меня здорово выручил, когда я писал сопроводительную записку к рассчётке по программированию. Где-то у тебя здесь вроде был пост, в котором ты давал советы касательно книг, которые стоит прочесть…

Антон комментирует...

Михаил, не за что, рад помочь. Меня ваш блог столько раз спасал в своё время...

virens комментирует...

@Minoru пишет...
Гм… А почему в первой половине статьи подсветка синтаксиса в коде есть, а во второй — нету?
На вторую половину запала не хватило :-)

Определись, virens :)
Покрасил код. Осторожно, окрашено!

Пора ковырять Латех по-настоящему
Мои последние посты, на самом деле, это такой очень тонкий троллинг Mr. Minoru :-)

Где-то у тебя здесь вроде был пост, в котором ты давал советы касательно книг, которые стоит прочесть
Не помню, загугли. [кстати] А, во, нашёл! Там в разделе установки ссылки есть даже (о класс, а я и не знал, что они там есть).

Вообще есть "Не очень краткое введение в LaTeX" (на русском распространяется как lshortru.pdf), и установка в Дебиане.

Но вообще у меня в загашниках такой пост лежит: "Освоение LaTeX - с чего начать" и ты, как редактор, можешь его посмотреть (он не дописан).


@Антон пишет...
Меня ваш блог столько раз спасал в своё время...
Отрадно. А меня самого он сколько раз спасал... :-)

iv_vl комментирует...

Одна из пакостей Beamer'a: ругается на адобовские шрифты в рисунках. С этим злом можно бороться, переводя шрифт в кривые, но то не кошерно и портит их внешний вид. С обычными классами таких проблем нет. Также надо быть очень аккуратным при выборе темы - они почему-то идут с разными опциями. На практике приходится пользоваться той, где их больше, и далее менять цвета под себя. Если надо изменить какую-нибудь мелочь в теме, приходится штудировать оф. руководство
http://www.ctan.org/tex-archive/macros/latex/contrib/beamer/doc/beameruserguide.pdf,
и не факт, что в итоге это получится. Но осваивать Beamer надо: по моему опыту междунар. конференций, практически все презентации - Beamer и что-то другое под Mac (не знаю, что они там курят).

virens комментирует...

@iv_vl комментирует...
Одна из пакостей Beamer'a: ругается на адобовские шрифты в рисунках.
Пакостей там много, и что хуже всего, авторы этого поделия исповедуют принцип "голову в песок" когда им сообщают о проблемах. Документации по бимеру немного.

Также надо быть очень аккуратным при выборе темы - они почему-то идут с разными опциями.
Ну так пионерия же: Вася Пупкин склепал тему и выложил. Больше всего меня убивают их названия: Берлин, Оксфорд... Как будто из них становится понятно, как оно выглядит.

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

Но осваивать Beamer надо: по моему опыту междунар. конференций, практически все презентации - Beamer
Это верно. У нас в универе народ только им и пользуется (даже пользователи Windows). Вернее, даже не осваивать, а привыкать к его косякам и коллекционировать их. Кстати, если есть своя коллекция таких пакостей - шлите почтой\пишите сюда, добавлю.

Анонимный комментирует...

Re русских заголовков в окружениях типа theorem, definition

Альтернативный вариант

\newtheorem{ru_def}{Определение}
\renewenvironment{definition}{\begin{ru_def}}{\end{ru_def}}

Мне кажется, преимущество в том, что такой путь позволяет сохранить цветовые гаммы схем (в частности \example)

Анонимный комментирует...

worldmind: чтобы нормлаьно вставлялись листинги нужно выставить свойство у фрейма
\begin{frame}[fragile]

Анонимный комментирует...

Бывает, что \footfullcite{key} наезжает на ...дно
Вот костылек
\footnote{\fullcite{key}\\}

qwert комментирует...

Огромное спасибо за нумерацию изображений! :)

Влад Юрченко комментирует...

Можно ли в Beamer разместить несколько картинок на одном слайде?

virens комментирует...

@qwert комментирует...
Огромное спасибо за нумерацию изображений! :)

Пожалуйста. Я сюда буду добавлять подобные вещи время от времени.

@Влад Юрченко комментирует...
Можно ли в Beamer разместить несколько картинок на одном слайде?
Конечно!

Начиная от банального :

\begin{figure}[ht!]
\includegraphics[width=0.48\linewidth]{plot_1}
\includegraphics[width=0.48\linewidth]{plot_2}
\caption{The Hessian.}
\label{fig:plot}
\end{figure}

до использования пакета subfigure:

\begin{figure}[ht!]
\subfigure[Coupling between the nearest neighbour actuators.]{
\includegraphics[width=0.3\linewidth]{plot_1}
}
\subfigure[Coupling between the nearest neighbour and diagonally adjacent actuators.]
{\includegraphics[width=0.3\linewidth]{plot_2}}
\end{figure}

Не забудьте вставить в преамбулу вызов пакета расширения \usepackage{subfigure}

Влад Юрченко комментирует...

@virens,

спасибо огромное!

Отправить комментарий

Подписаться на RSS-ленту комментариев к этому посту.