
Beamerに画像のシーケンスを含めたいのですが(他の種類のドキュメントでもかまいません)。オプションに似たものフォトアルバムLibreOffice および MS PowerPoint で。
私がやったのは、(変更可能な)テンプレートを作成することです:
%s
\begin{frame}
\frametitle{%s}
\framesubtitle{%s}
\centering
\includegraphics[width=0.9\textwidth]{%s}
\end{frame}
次に、次のように Python スクリプトを使用して各フレームのコードを生成します。
tex_file = open(filename + '.tex', 'a+')
for name in list_files:
print >> tex_file, s1 %(comment, title, subtitle, name)
tex_file.close()
その後は、\include
メイン ファイルで を使用して画像のシーケンスを追加します。
私の質問:このタスク用のパッケージはありますか? または、それを実行するより良い方法はありますか?
答え1
ここでオプションを使用するmultido
:
\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}
構文は で、が と\multido{<var>=<start>+<inc>}{<times}{<stuff>}
定義さ<var>
れ<start>
、<inc>
合計<times>-1
回増分され (最初の値が反復としてカウントされるため)、各反復で が実行されます<stuff>
。特殊な- 表記は、 が整数になる\i
ことを意味します。<var>
i
上記の例では、要素間の変更は最小限であると想定しています。たとえば、フレームのタイトル、サブタイトル、および追加コメントのコンテンツが写真ごとに異なる場合は、リストのようなアプローチを使用する方がはるかに優れています。カンマ区切りのリストを反復処理するにはどうすればいいですか?役に立つでしょう。
答え2
私は、このような写真の表示を作成するために書いた tex ファイルを持っています。私の目標は、ページを覆うグリッド上に、変化する写真のコレクションを配置することです。私は、tikz
カンマで区切られた画像ファイル名のリストとして保存されている写真をループし、写真を配置するために使用しています。
Python 経由でファイル名のリストを生成する場合、以下に示すような変数リストを簡単に作成できます。
以下は短縮版です:
\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}
これにより、次のものが生成されます。