Automatisches Einfügen einer Bildsequenz

Automatisches Einfügen einer Bildsequenz

Ich möchte eine Bildsequenz in Beamer einfügen (obwohl dies auch in einem anderen Dokumenttyp erfolgen kann). Etwas Ähnliches wie die OptionFotoalbumin LibreOffice und MS PowerPoint.

Ich habe eine Vorlage erstellt (die ich ändern kann):

%s
\begin{frame}
    \frametitle{%s}
    \framesubtitle{%s}
    \centering
    \includegraphics[width=0.9\textwidth]{%s} 
\end{frame}

Und dann generiere ich mit einem Python-Skript den Code für jeden Frame, und zwar wie folgt:

tex_file = open(filename + '.tex', 'a+')
for name in list_files:
    print >> tex_file, s1 %(comment, title, subtitle, name)

tex_file.close()

Danach füge ich einfach \includedie Bildsequenz in meiner Hauptdatei hinzu.

Meine Frage:Gibt es ein Paket für diese Aufgabe? oder eine bessere Möglichkeit, sie zu erledigen?

Antwort1

Hier ist eine Option mitmultido:

Bildbeschreibung hier eingeben

\documentclass{beamer}
\usepackage{multido}
\begin{document}
\multido{\i=1+1}{9}{%
  \begin{frame}
    \frametitle{Title: \i}
    \framesubtitle{Subtitle: \i}
    \centering
    \includegraphics[width=.9\linewidth]{example-image-\i}
  \end{frame}
}
\end{document}

Die Syntax lautet , \multido{<var>=<start>+<inc>}{<times}{<stuff>}was definiert , <var>dass es sich um handelt , insgesamt um Mal <start>erhöht (da der erste Wert als Iteration zählt) und bei jeder Iteration ausgeführt wird . Die spezielle -Notation bedeutet, dass es sich um eine Ganzzahl handelt.<inc><times>-1<stuff>\i<var>i

Das obige Beispiel geht von minimalen Änderungen von einem Element zum nächsten aus. Wenn Sie beispielsweise unterschiedliche Inhalte für den Bildtitel, den Untertitel und alle zusätzlichen Kommentare pro Foto haben, ist ein listenartiger Ansatz weitaus besser. Dafür sind alle inWie iteriert man über eine durch Kommas getrennte Liste?Wäre hilfreich.

Antwort2

Ich habe eine Tex-Datei geschrieben, die eine Fotoanzeige erzeugt, die so etwas macht. Für mich besteht das Ziel darin, eine wechselnde Sammlung von Fotos auf einem Raster anzuordnen, das die Seite bedeckt. Ich verwende sie tikzsowohl zum Durchlaufen der Fotos, die als durch Kommas getrennte Liste von Bilddateinamen gespeichert sind, als auch zum Platzieren der Fotos.

Da Sie über das Generieren der Liste der Dateinamen über Python sprechen, könnten Sie problemlos eine Variablenliste wie die unten verwendete füllen.

Hier ist eine gekürzte Version:

\documentclass{article}
\usepackage{mwe}
\usepackage{graphicx}
\usepackage{tikz}

\def\MyImages{example-image-a,example-image-b,example-image-c}% list of images
\begin{document}
  \newdimen\X
  \begin{tikzpicture}[overlay,
          picture/.style={draw,rectangle,anchor=#1,inner sep=0pt,outer sep=0pt}
     ]
     \X=0mm
     \foreach \Image in \MyImages {
       \node[picture=north west] at (\X,-101.5mm)
             {\includegraphics[width=49.5mm,height=35mm]{\Image}};
       \global\advance\X by 49.5mm
     }
  \end{tikzpicture}
\end{document}

Das Ergebnis:

Bildbeschreibung hier eingeben

Antwort3

Bildbeschreibung hier eingeben

\multiincludeDies ist mit dem Befehl aus dem Beamer- Paket möglich xmpmulti.

Vorausgesetzt, die Bilder heißen usw. fig-0.png, fig-1.pngkann das Makro folgendermaßen verwendet werden:

\documentclass{beamer} 
\usepackage{xmpmulti} 

\begin{document}
\begin{frame}
\multiinclude[<+->][format=png, graphics={width=\textwidth}]{fig}
\end{frame} 
\end{document}

verwandte Informationen