我如何枚举图像列表,其中每个图像仅显示在 Beamer 页面上完全相同的坐标内?
我通过复制幻灯片有效地完成了此操作;第一张幻灯片包含第一张图片,第二张幻灯片包含第二张图像。相同幻灯片效果很好,但是页码不准确,最糟糕的是,由于所有其他内容必须保留在所有重复的幻灯片中,因此有大量难以管理的框架。
答案1
这种方法有效吗?您可以使用只\only<j>{duck}
出现在框架的duck
一部分上。j
\documentclass{beamer}
\begin{document}
\begin{frame}
\only<1>{\includegraphics[height=.5\textwidth]{example-image-a}}
\only<2>{\includegraphics[height=.5\textwidth]{example-image-b}}
\only<3>{\includegraphics[height=.5\textwidth]{example-image-c}}
\end{frame}
\end{document}
使用expl3
和xparse
,很容易将其提取为 beamer 友好的命令:
\documentclass{beamer}
\usepackage{xparse}
\ExplSyntaxOn
\int_new:N \g_ecoe_image_int
\clist_new:N \l_ecoe_image_clist
\NewDocumentCommand \UseImages { D<>{1} O{} m }
{
\int_gset:Nn \g_ecoe_image_int {#1}
\int_gdecr:N \g_ecoe_image_int
\clist_set:Nn \l_ecoe_image_clist {#3}
\clist_map_inline:Nn \l_ecoe_image_clist
{
\int_gincr:N \g_ecoe_image_int
\only<\g_ecoe_image_int> { \includegraphics[#2]{##1} }
}
}
\ExplSyntaxOff
\begin{document}
\begin{frame}
The images will start on the second slide:
\UseImages<2>[height=.3\textheight]{
example-image-a,
example-image-b,
example-image-c
}
\end{frame}
\end{document}
这也将适用于其他命令的参数,例如\parbox
:
\parbox{2in}{%
\UseImages[height=.3\textheight]{
example-image-16x10,
example-image-16x9}}
test text