Ich bin ein völliger Neuling im Bereich Präsentationen in LaTeX (ich verwende seit Jahren PowerPoint, bin aber nun endlich umgestiegen).
Ich frage mich, wie ich ein GIF in einen Abschnitt bekomme. Bei Bedarf kann ich ein GIF in viele Bilder umwandeln und diese überlagern, um den Eindruck von Bewegung zu erwecken.
Antwort1
1. Animiertes GIF in PNG-Sequenz konvertieren und aufteilen
convert -coalesce something.gif something.png
oder
magick convert -coalesce something.gif something.png
convert
/ magick convert
ist ein Befehlszeilentool aus dem Softwarepaket ImageMagick.org. Der Befehlsname hängt von der Softwareversion ab.
Dadurch wird eine Reihe nummerierter PNG-Dateien erzeugt something-0.png, ..., something-16.png
(hier das Original-GIFhttps://i.stack.imgur.com/VHJmL.gif, umbenannt in something.gif
besteht aus 17 Frames.) Option -coalesce
ist erforderlich, um eine mögliche Optimierung der ursprünglichen GIF-Datei rückgängig zu machen.
2. Holen Sie sich die ursprüngliche Animationsgeschwindigkeit
magick identify -verbose something.gif | grep 'Delay'
Benutzer von Windows möchten möglicherweise
magick identify -verbose something.gif | sls -Pattern 'Delay'
in der PowerShell.
Dies gibt Zeilen (eine für jeden Frame) wie die folgenden aus:
Delay: 10x100
Delay: 10x100
Delay: 10x100
...
Die Bildrate (Bilder pro Sekunde), die als Argument an den \animategraphics
folgenden Befehl übergeben werden soll, ergibt sich aus der Division der Zahl danach x
durch die Zahl davor:
Bildrate= 100 (Ticks/s) / 10 (Ticks/Bild) = 10 Bilder/s
3. PNG-Sequenz als eingebettete Loop-Animation in das endgültige PDF einbetten
(Diese Art der Animation erfordert eineJavaScript-Unterstützung von PDF-Viewern, wieAcrobat ReaderoderKDE Okular.)
\documentclass{beamer}
\usepackage{animate}
\begin{document}
\begin{frame}{Embedded Animation}
\animategraphics[loop,controls,width=\linewidth]{10}{something-}{0}{16}
\end{frame}
\end{document}
Das Argument {10}
legt die gewünschte Bildrate (Bilder pro Sekunde) fest {0}
und {16}
legt die erste und letzte Dateinummer der PNG-Reihe fest, die in die Animation einbezogen werden soll. Beachten Sie, dass Bildraten über 30 FPS, falls sie vom PDF-Viewer überhaupt erreicht werden, wenig Sinn ergeben. 30 FPS ist ein typischer Wert bei der Videokodierung. Verwenden Sie die Befehlsoptionmeasure
und den +Button um zu sehen, welche Bildraten möglich sind. Diese können von der Bildgröße und natürlich auch von der Hardware abhängen, auf der der PDF-Viewer läuft.
Für einen GIF-ähnlicheren Eindruck autoplay
kann die Option anstelle oder zusätzlich zur Option verwendet werden controls
.
Antwort2
Ok, beginnen wir mit dem .gif
Kommentar von @SeanAllred.
Erster Schritt: Konvertieren
Es gibt wahrscheinlich viele Methoden, dies zu tun. Um unabhängig vom Betriebssystem zu sein, gibt es Online-Konverter. Fragen Sie Ihre bevorzugte Suchmaschine nach Vorschlägen.
Oder wenn Sie die Befehlszeile bevorzugen, verwenden Sie convert
ImageMagick:
convert -coalesce VHJmL.gif something.png
Stellen Sie sicher, dass die resultierenden Bilder benannt sind something-0
usw.
Zweiter Schritt: Multiinclude
\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}
Antwort3
Schauen Sie sich anpdfpcSie haben eineBeispielSo betten Sie Videos ein. pdfpc ist ein Tool zum Anzeigen Ihrer beamer
Präsentationen.
Es funktioniert nicht mit gif
s, aber Sie können immer noch convert something.gif something.avi
. Um ein Vorschaubild zu erhalten, führen Sieconvert something.gif poster.png
Aktualisiertes Beispiel zur Verwendung des multimedia
Pakets, jetzt empfohlen von pdfpc
:
\documentclass{beamer}
\usepackage{multimedia}
\begin{document}
\frame{
\movie{\includegraphics{poster.png}}{movie.avi}
}
\end{document}
Zeigen Sie Ihre Präsentation mitpdfpc my-presentation.pdf
In früheren Versionen schien es nicht zu funktionieren, wenn sich Ihr Video in einem anderen durch festgelegten Verzeichnis befand \graphicspath
.