Я новичок в создании презентаций в LaTeX (я уже много лет пользуюсь PowerPoint, но наконец-то перешел на него).
Мне интересно, как вставить GIF в раздел. Если нужно, я могу преобразовать GIF во множество картинок и наложить их друг на друга, чтобы создать впечатление движения.
решение1
1. Конвертируйте и разделите анимированный GIF в последовательность PNG
convert -coalesce something.gif something.png
или
magick convert -coalesce something.gif something.png
convert
/ magick convert
— это инструмент командной строки из пакета программного обеспечения ImageMagick.org. Имя команды зависит от версии программного обеспечения.
Это создает набор пронумерованных PNG-файлов.something-0.png, ..., something-16.png
(здесь исходный GIF-файлhttps://i.stack.imgur.com/VHJmL.gif, переименован в something.gif
состоит из 17 кадров.) Опция -coalesce
необходима для отмены возможной оптимизации исходного GIF-файла.
2. Получите исходную скорость анимации
magick identify -verbose something.gif | grep 'Delay'
Пользователи Windows могут захотеть запустить
magick identify -verbose something.gif | sls -Pattern 'Delay'
в PowerShell.
Это выводит строки (по одной на каждый кадр) следующего вида:
Delay: 10x100
Delay: 10x100
Delay: 10x100
...
Частота кадров (кадров в секунду), которая будет передана в качестве аргумента команде \animategraphics
ниже, определяется путем деления числа после него x
на число перед ним:
частота кадров= 100 (тиков/с) / 10 (тиков/кадр) = 10 кадров/с
3. Вставьте последовательность PNG в качестве встроенной циклической анимации в конечный PDF-файл.
(Для этого вида анимации требуетсяJavaScript-поддержка просмотра PDF-файлов, напримерAcrobat ReaderилиKDE Окуляр.)
\documentclass{beamer}
\usepackage{animate}
\begin{document}
\begin{frame}{Embedded Animation}
\animategraphics[loop,controls,width=\linewidth]{10}{something-}{0}{16}
\end{frame}
\end{document}
Аргумент {10}
устанавливает желаемую частоту кадров (кадров в секунду) {0}
и {16}
устанавливает первый и последний номера файлов серии PNG, которые будут включены в анимацию. Обратите внимание, что частота кадров выше 30 FPS, если она вообще достигается средством просмотра PDF, не имеет особого смысла. 30 FPS — типичное значение при кодировании видео. Используйте параметр командыmeasure
и +кнопка, чтобы увидеть, какие частоты кадров возможны. Они могут зависеть от размера изображения и, конечно, от оборудования, на котором работает просмотрщик PDF.
Для создания более похожего на GIF-анимацию эффекта autoplay
вместо option или в дополнение к нему можно использовать option controls
.
решение2
Хорошо, начнем с .gif
комментария @SeanAllred.
Первый шаг: преобразование
Вероятно, есть много методов сделать это. Чтобы быть независимым от операционной системы, есть онлайн-конвертер, спросите у вашего любимого поисковика предложения.
Или, если вы предпочитаете использовать командную строку, используйте convert
ImageMagick:
convert -coalesce VHJmL.gif something.png
Убедитесь, что полученные изображения имеют названия something-0
и т. д.
Второй шаг: мультивключение
\documentclass{beamer}
\usepackage{xmpmulti}
\begin{document}
%asuming you images are called "something-0.png" up to "something-16.png"
\begin{frame}
\transduration<0-16>{0}
\multiinclude[<+->][format=png, graphics={width=\textwidth}]{something}
\end{frame}
\end{document}
решение3
Посмотри наpdfpcу них естьпримеркак вставлять видео. pdfpc — это инструмент для отображения ваших beamer
презентаций.
Это не работает с gif
s, но вы все еще можете convert something.gif something.avi
. Чтобы получить предварительный просмотр изображения, запуститеconvert something.gif poster.png
Обновленный пример использования multimedia
пакета теперь рекомендован pdfpc
:
\documentclass{beamer}
\usepackage{multimedia}
\begin{document}
\frame{
\movie{\includegraphics{poster.png}}{movie.avi}
}
\end{document}
Покажите свою презентацию с помощьюpdfpc my-presentation.pdf
В более ранних версиях это не работало, если ваше видео находилось в другом каталоге, заданном \graphicspath
.