Перейти к содержимому

Как вставить mp4 в презентацию beamer

  • автор:

Научный форум dxdy

Анимация из MatLab в презентацию LaTeX (Beamer)

Анимация из MatLab в презентацию LaTeX (Beamer)
03.04.2012, 00:25

Написал диплом, готовлю теперь презентацию к его защите. Делаю расчеты в MatLab, получается подобие анимации (пять различных трехмерных и двумерных графиков отдельно друг от друга меняются в зависимости от линейно растущих параметров). С самого начала встал вопрос как сохранять результаты, наткнулся на статью об использовании MatLab-функции movie2avi и решил сохранять все в avi формате (в проигрывателе все выглядело вполне себе хорошо, хоть это и была по сути растровая графика).
Далее поместил всю нужную для защиты информацию в Power Point и ужаснулся увиденному: помимо «корявости» отображения математических формул, шрифтов и их размеров, выравнивания содержимого в слайдах и вообще внешнего вида, еще и мои видео-анимации выглядели прямо скажу не презентабельно. А они представляют собой половину успеха на защите. Может никого это не удивит и все скажут «ну а что ты хотел от Power Point?», но я был очень сильно удивлен насколько он «кривой» по отношению к техническим презентациям.
Зная о пакете Beamer в TeX и имея какой-никакой опыт по верстке в LaTeX (сделал в нем текст диплома), быстро переклепал все в нужный мне формат. Проблемы с внешним видом исчезли, ура! Появилась небольшая проблема с отображением в PDF-документе встроенных avi-файлов. Для того, чтобы встроить их, использовал пакет movie15 и выражение \includemovie[autoplay] в презентации Beamer. Но при открытии PDF-ки анимация не отображалась. По одному из советов в интернете конвертировал видео-анимации из avi в mp4 и все заработало (видимо кодеки не подошли, точно не знаю).
Тут появилась другая и пожалуй главная проблема: mp4-файлы можно встраивать прямо в PDF-файлы (как описано выше) и они прекрасно воспроизводятся в Adobe Reader, но почему-то больше одного видео не встраивается. То есть первое по счету видео в слайдах воспроизводится нормально, а вместо последующих пустая рамка. Если вставлять каждое видео в отдельности, то все работает, то есть вариант моей ошибки минимален. По размеру получающегося PDF-файла видно, что остальные видео просто не прикрепляются к PDF-документу, размер которого примерно равен размеру видео, которое корректно вставлено.

Вот такая долгая и нудная история. В итоге на данный момент у меня «кривая», но работающая презентация в Power Point и красивая, но не полная в TeXe. Вопрос заключается в следующем: можно ли в каком-то другом формате сохранять анимацию из MatLab так, чтобы потом в презентации LaTeX она, во-первых, могла быть встроена в PDF-файл, во-вторых, по возможности, была представлена в векторном формате? Из тех вариантов, что мне известны, есть возможность сделать все в GIF-формате, стоит ли пробовать? Времени на самом деле не так много, чтобы экспериментировать долго с форматами и перепробовать все. Поэтому прошу совета и помощи у экспертов работающих с этим, либо у тех, кто уже сталкивался с подобным.

P.S. Модераторам. Не знал в какой раздел поместить тему, т.к. по идее мой вопрос на стыке «TeXнических обсуждений» и «Околонаучного софта», но решил что лучше сюда.

Re: Анимация из MatLab в презентацию LaTeX (Beamer)
03.04.2012, 01:36

Заслуженный участник

safety1990 в сообщении #555081 писал(а):
Но при открытии PDF-ки анимация не отображалась.

Попробуйте установить какой-нибудь из наборов кодеков (например, K-Lite Codec Pack, выбирайте «Mega Version»), обычно после этого анимация начинает воспроизводиться. Разумеется, данный совет совершенно не годится, если на защите нельзя пользоваться собственным компьютером.

Кроме того, возможно, стоит попробовать команду \movie из пакета multimedia (см. beameruserguide , гл. 14.1.1 Including External Animation Files ). Но она не добавляет видео-данные в презентацию, а лишь позволяет отобразить видео-файл, лежащий где-то рядом (для отображения, опять-таки, может потребоваться установка кодеков).

По поводу GIF: его стоит использовать, если в отображаемом видео не слишком важное значение имеют оттенки цветов (поскольку этот формат поддерживает лишь 256 цветов). К примеру, в видео нет тонких наклонных линий (которые при таком огрублении превратятся в «лесенки») или широких участков с плавными переливами цветов (которые разобьются на несколько областей с резко выраженными границами). Правда, на не слишком качественном проекторе это может быть и незаметно.

Beamer Как правильно показать презентацию? 🙂

Друзья. Надо бы показать презентацию на внутренней конференции, где с вероятностью 0.999(9) все кроме моей презентации будут в формате PowerPoint. Ну а у меня она естественно в pdf. В ПоверПойнт не умею, но как-нибудь конечно научусь 🙂 Вопрос такой: как правильно показать такую презентацию? Т.е. что надо мне отдать человеку, который управляет процессом показа (там такой специально обученный человек, который твою презенташку берет с флешки и заряжает в свою ацкую машинку, а ты берешь в руки пульт и кнопками «» переключаешь страницы слайдов во время показа)? Т.е. кроме pdf файла мне может быть еще какую-то программу надо отдать ему, сказать, что ее надо запустить и в ней открыть мой pdf-файл с презентацией? Будет ли тогда повиноваться такая презентация переключению с пульта, у кого есть опыт? Или тут неизвестно, как и чего и лучше спросить у управлятора этой машиной? Короче, у кого есть опыт, поделитесь 🙂 Или же мне надо осваивать таки ПоверПойнт и не парить никому мозг? 🙂

KOPEHb ★★★
16.10.13 22:02:57 MSK

Beamer — верстаем презентации

LaTeX годится не только для составления всевозможной документации, но и для верстки качественных презентаций. При помощи пакета beamer можно создавать презентации, ничуть не уступающие презентациям PowerPoint или Impress.

Темы презентации

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

\documentclass[10pt,pdf,hyperref=]

Далее — указываем все обычные для латеховского документа опции (кодировка, переносы, дополнительные пакеты и т.п.).

Стандартные пропорции слайда бимера — 4:3, поэтому, если вам захочется сделать презентацию для проектора с другими пропорциями (например, 16:9), следует в необязательном аргументе команды \documentclass указать aspectratio=169.

Далее нам следует выбрать какую-нибудь тему документа. Этих тем достаточно много (посмотреть имеющийся у вас список можно в директории themes/theme бимера, у меня это директория /usr/share/texmf-dist/tex/latex/beamer/themes/theme/). Делается это командой \usetheme. В качестве примера я рассмотрел несколько тем:
Antibes

Berlin

Boadilla

Darmstadt

Dresden

Frankfurt

Goettingen

Hannover

Montpellier

Pittsburgh

Singapore

Изображения я генерировал из файла-заготовки при помощи простенькой функции:

function runit() < sed -e "s/%theme%/$1/" a.tex >b.tex && pdflatex b.tex && pdftoppm -r 100 b.pdf > b.ppm && convert b.ppm $1.png; > 

Предложенных тем достаточно много (но в случае чего можно и создать свою — об этом позже). Если вам не нравится цветовая схема конкретной темы, но нравится сама тема, можно поменять цветовую схему при помощи команды \usecolortheme. Цветовые схемы, имеющиеся в вашей установке бимера, можно посмотреть в директории themes/color. Например, если вам хочется распечатать слайды на принтере, можно воспользоваться цветовой схемой dove:

Кроме цветовых тем, бимер дает возможность выбрать «внутренние» и «внешние» темы. Команда \useinnertheme дает возможность изменить внешний вид некоторых внутренних элементов (например, маркеров списка), а команда \useoutertheme — оформление внешних элементов презентации (колонтитулов).

Если в нашей презентации используется последовательное высвечивание элементов, стоит сказать: \setbeamercovered, чтобы неактивные элементы были хотя бы немного видны.

Еще более глубокую цветовую настройку бимера можно реализовать, принудительно указывая цвета отдельных элементов командой \setbeamercolor. Здесь «элемент» — название элемента, чей цвет мы хотим изменить (например, «normal text» — обычный текст), «bg» — цвет фона, «fg» — цвет текста.

После того, как мы настроили цветовые схемы, можно еще немного «поколдовать» над колонтитулами. На примере содержимого директории beamer/themes/outer можно понять, что необходимо сделать, чтобы придать желаемый вид верхнему или нижнему колонтитулу. Если нам хочется поместить в колонтитул первым полем полное имя автора и короткое название организации в кавычках, вторым полем — полное название презентации (если оно у нас не слишком длинное), а третьим — дату и номер слайда/количество слайдов, нам необходимо добавить в преамбулу документа следующее:

\makeatletter \defbeamertemplate*< \leavevmode% \hbox[wd=.3\paperwidth,ht=2.25ex,dp=1ex,center]% \usebeamerfont% \insertauthor~~\beamer@ifempty<\insertshortinstitute><> <(\insertshortinstitute)>\end% \begin[wd=.5\paperwidth,ht=2.25ex,dp=1ex,center]% \usebeamerfont\inserttitle \end% \begin[wd=.2\paperwidth,ht=2.25ex,dp=1ex,right]% \usebeamerfont\insertshortdate<>\hspace* \insertframenumber<> / \inserttotalframenumber\hspace* \end>% > \makeatother 

Аналогичным образом мы можем изменить колонтитул и поле с названием слайда. Например, чтобы поместить в левый верхний угол поля с названием наш логотип, а далее — название слайда, переопределим шаблон frametitle:

\defbeamertemplate*>>% \begin[wd=\paperwidth,ht=2ex,dp=3pt,left]% \ \insertframetitle \end> > 

В результате получим:

При необходимости можно выделить блок, имеющий заданный нами цвет:

\begin блок с цветом "цвет" \end

Параметр «цвет» может быть как уже определенным (по аналогии с цветовыми боксами выше), так и заданным пользователем (в т.ч. и как смешение нескольких цветов). Для того, чтобы взять какой-то цвет с прозрачностью N (N — в процентах), запишем: «N! цвет». Запись вида «цвет1!N! цвет2» смешивает (100-N) частей цвета «цвет1» с N частями цвета «цвет2». Команда \averagebackgroundcolor возвращает текущий фоновый цвет.

Помимо цвета, можно еще и изменить шрифт. В директории themes/font/ находятся «шрифтовые темы», которые можно использовать в презентации. Изменить «тему шрифта» можно при помощи команды \usefonttheme. Например, если мы хотим использовать шрифт по умолчанию (без засечек), но в формулах — с засечками, дадим команду:

\usefonttheme[onlymath]

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

\usebackgroundtemplate<\includegraphics[width=\paperwidth,height=\paperheight]> 

Основные поля

Теперь переходим к заполнению общих полей презентации. Это тоже можно сделать в преамбуле документа. Большинство команд для задания значений полей имеют необязательные аргументы — короткое обозначение этого же поля (это короткое обозначение обычно помещается в колонтитулы, поэтому есть смысл заполнять и его). Часть полей — стандартные латеховские: \title (название презентации), \author — автор, \date — дата; а часть — специфичные: \institute — организация, \subtitle — подзаголовок, \logo — логотип организации (некоторые стили презентаций размещают логотип самостоятельно, но в некоторых его нет — это надо иметь в виду).

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

\AtBeginSection < \begin\frametitle \tableofcontents[currentsection] \end > 

Аналогично код, исполняющийся в начале каждой подсекции, определяется командой \AtBeginSubsection. Обе команды имеют необязательный аргумент — его содержимое будет помещаться перед секцией/подсекцией, определенной командой со звездочкой (т.е. не попадающей в оглавление и не нумерующейся).

Слайды

Далее, в теле документа, мы начинаем оформлять кадры презентации. Каждый кадр заключен в окружение frame. Если мы хотим поместить в начало презентации название и содержание, можно оформить отдельными кадрами стандартные команды \maketitle и \tableofcontents.

Для выделения логических блоков внутри каждого кадра можно использовать окружение block с обязательным параметром — названием блока (т.к. окружения theorem, lemma и example имеют по умолчанию английские названия, можно вместо них использовать окружение block, или же переопределить названия этих блоков). Отдельным цветом выделяется окружение exampleblock, также имеющее обязательным параметром название блока. Если вы желаете обратить особое внимание читателя на какой-то текст, его можно поместить внутрь команды \alert или \color.

Если в вашем кадре содержится окружение verbatim или команда \verb, необходимо добавить необязательный параметр containsverbatim к окружению frame

  • label=метка — метка слайда (для команды \ref и гиперссылок);
  • b, c, t — вертикальное выравнивание (по верхнему краю, по центру — умолчание, по нижнему краю;
  • plain — слайд без оформления;
  • shrink=число — если содержимое кадра «не влезает» на экран, бимер попробует масштабировать его как минимум на «число» процентов;
  • squeeze — другой способ «втиснуть» много объектов на слайд: вертикальные промежутки будут сведены к минимуму,
  • fragile — говорит бимеру, что внутри кадра размещается «хрупкий» текст (например, то же окружение verbatim.
\begin\frametitle \begin \column Содержимое левого столбца \column Содержимое правого столбца \end \end

Оверлеи

Зачастую информацию на кадре хочется подавать постепенно — строка за строкой, по мере повествования. То есть содержимое одного кадра разбивается на несколько идущих друг за другом слайдов. Для этого используются оверлеи — различные виды переходов к новой порции информации внутри одного и того же кадра. Сразу отмечу: в реальности каждый слайд требует верстки новой страницы pdf-файла, однако, при использовании «грамотного» pdf-просмотрщика, обращающего внимание на мета-информацию, эти переходы незаметны (и даже можно вставлять в презентацию анимированные оверлеи).

  • \onslide— текст виден на слайде номер N, на остальных он помечен цветом неактивного текста;
  • \only— текст виден лишь на слайде N, не занимая места на других;
  • \visible— текст присутствует лишь на слайде N, а на других не виден, но занимает место;
  • \invisible— на слайде N текст не виден, но занимает место, на остальных он присутствует;
  • \alt— на слайде N появится «текст 1», на остальных — «текст 2»;
  • \temporal— на слайде N появится «текст», на предыдущих слайдах — «до», на последующих — «после»;
  • \uncover— обратная команде \onslide;

Помимо этих блоков, мы можем разделять на несколько слайдов пункты окружений itemize и enumerate: для этого сразу же после команды \item необходимо вставить спецификацию, указывающую номера слайдов, на которых должна появиться данная информация. На прочих слайдах она не будет видна, но будет занимать место, однако, если нам хочется, чтобы эти скрытые пункты отображались цветом неактивного текста, необходимо в преамбуле указать:

\setbeamercovered

Сами спецификации номеров слайдов заключены в угловые скобки и имеют вид : через дефис перечисляются диапазоны номеров слайдов, через запятую — разрозненные номера. Эти спецификации можно указывать и с командами выделения, вроде \alert.

Еще один вариант выводить блоки поочередно — указывать после каждого блока команду \pause. Эта команда работает и в конце строк таблиц и даже внутри простого текста. Одним словом, эта команда дает указание разбить кадр на слайды: оставить на предыдущем слайде все, что находится до нее, а все, что после — перенести на следующие.

Анимация и звук

Если вы будете показывать свою презентацию при помощи Adobe Reader или другой программы, умеющей воспроизводить файлы, на которые в документе содержатся гиперссылки, вы можете включить в свою презентацию видеоролик или звуковой файл.

Для включения видео необходимо воспользоваться командой

\includemovie[poster,mouse=true]

Включить звук можно так:

\sound[options]

Опции «options»: loop, repeat, palindrome, borderwidth, showcontrols, externalviewer, inlinesound (их суть понятна из названия).

Параметр «poster» определяет, что будет отображаться на слайде для запуска звукового или видеофайла. Если его оставить пустым, файл будет проигрываться автоматически.

Обратите внимание, что для внедрения в презентацию медиафайлов может возникнуть необходимость в ручном подключении пакета multimedia (если бимер не подключит его «сам»).

Еще можно подключить пакет media9 и внедрять медиафайлы с его помощью.

Сам бимер позволяет анимировать оверлеи средствами pdf: для этого фрейм разбивается на N слайдов с изменением значения заданной пользователем переменной (это может быть счетчик или длина). Команда \animate применяет такую анимацию к range слайдам. Изменение переменной производится при помощи команды \animatevalue. Т.е. заданная пользователем переменная на диапазоне номеров слайдов «range» равномерно изменяется от значения «начальное значение» до «конечное значение».

  • blindshorizontal — слайд «разрезается» вертикальными полосами;
  • blindsvertical — слайд «разрезается» горизонтальными полосами;
  • boxin — старый слайд «стягивается» в точку по центру экрана;
  • boxout — новый слайд «растягивается» из точки по центру;
  • dissolve — слайд сменяется мозаикой;
  • glitter — смесь dissolve с wipe;
  • splitverticalin «стягивается» сверху и снизу;
  • splitverticalout «растягивается» сверху и снизу;
  • wipe — следующий слайд «выезжает» слева.

При использовании команды \animate необходимо задать длительность отображения каждого слайда, для этого надо использовать команду \transduration.

Вот пример использования анимации средствами бимера:

\newcount\ooo \newdimen\offset \begin \animate \animatevalue<\ooo> \animatevalue<\offset> \begin <\the\ooo!averagebackgroundcolor>\frametitle выцветаем \hskip\offset\alert \end \transduration \end

Здесь для создания анимации используется счетчик «ooo», задающий непрозрачность текста, и размер «offset», задающий смещение фразы «и улетаем!» относительно слова «выцветаем». В течение девяти из десяти слайдов значения этих переменных изменяются, в результате чего непрозрачность текста изменяется от 0 до 100 с шагом 10, а смещение «улетающей» фразы — от 0 до 5 сантиметров с шагом в 5мм.

Прочее

Т.к. бимер автоматом подключает пакет hyperref, можно вставлять в документ гиперссылки. Например, в конец презентации мы можем вставить необязательные слайды, а внутри — сделать гиперссылки на них («вдруг» спросят — а вы сразу — раз, и туза из рукава). Кроме того, можно сделать гиперссылку на объект (формулу и т.п.) внутри слайда. Общий принцип таков: объект, на который мы хотим сослаться, помечается меткой (необязательный аргумент label=метка в окружении frame или команда \label внутри кадра), а гиперссылка выполняется командой \hyperlink. Помимо текста, можно вставить «кнопочку»: \beamerbutton. Если наш кадр содержит несколько слайдов, можно сослаться на конкретный слайд кадра: для этого нужно указать в треугольных скобках между командой \label и ее аргументом номер[a] нужного слайда. Аналогично, если нам нужно сослаться на элемент с определенного слайда данного кадра, можно в первом параметре («метка») сразу после метки указать спецификацию номера слайда. Обозначить гиперссылку можно еще и специфичными командами: \beamergotobutton (перед текстом будет значок-стрелочка), \beamerskipbutton (двойная стрелочка), \beamerreturnbutton (стрелка влево).

В конце приличной презентации вы можете захотеть разместить библиографию. Это тоже возможно: просто разместите ее на слайде в привычном окружении thebibliography, или же используйте bibtex.

При работе с проектором и экраном, можно воспользоваться экраном для отображения на нем подсказок. Для этого запишем

\setbeameroption

Здесь необязательный параметр «расположение» говорит бимеру, где расположен экран по отношению к проектору (top, bottom, left, right; по умолчанию — right). Опция «typeset second» окружения frame скажет бимеру, что внутри кадра будут слайды, содержимое которых должно отображаться на втором экране. То, что нужно отобразить там, объявляется спецификацией «only: номер слайда». Например,

\setbeameroption \begin[typeset second] Этот текст отобразится на обоих экранах. \only \only \end

Пояснения и переводы можно тоже отображать на двух экранах: с одной стороны один текст, а с другой — другой. Определим команду \twoscreen, аргумент которой разделяется вертикальной чертой: все, что слева — отображается на левом мониторе, что справа — на правом.

\setbeameroption \makeatletter \def\twoscreen#1 \long\def\tw@scr#1|#2\relax> \makeatother . \begin \begin[typeset second] \frametitle> \begin \item \twoscreen. \item \twoscreen. \item \twoscreen. \end \end

Все остальное, о чем я не рассказал здесь, можно найти в руководстве пользователя. А скачать самую свежую версию — отсюда.

P.S. Небольшой пример для поднятия духа: все-таки, бимер не так уж и сложен. А вот — результат + видео.

Embedding .mp4 in Beamer

I have a file movie.gif that I converted into movie.mp4 . I’d like to add it to my Beamer presentation. I tried:

\documentclass[10pt, aspectratio=169] \usefonttheme \usepackage \usepackage \begin \includemedia[ label=vid, addresource=movie.mp4, activate=pageopen, width=5cm, height=4cm, flashvars= < source=movie.mp4 &loop=true >]<> \mediabutton[ mediacommand=vid:playPause, ]> \end

Do you know why this would not work`? Help would be really appreciatedd! EDIT: I tried several approaches:

\documentclass \usepackage \begin \begin \transduration \multiinclude[][format=png, graphics=] 

enter image description here

This produces many slides. Another approach:

\documentclass \usepackage \begin \begin \animategraphics[loop,controls,width=\linewidth] \end \end

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *