循环显示包含图形

循环显示包含图形

我尝试在 Beamer 中制作多张幻灯片,每张幻灯片包含 3 个图形和标题。我想循环遍历图形列表/数组并设置框架标题。图形文件的名称和框架的名称应该不同。

以下是尝试:

\def\fnames{red, green, blue}

\foreach \name in \fnames {%

\begin{frame}{\name}
  \begin{columns}    
    \column{0.33\textwidth}
    \includegraphics[width=4.cm]{./plots/tot\name _log.eps} 
    \column{0.33\textwidth}
    \includegraphics[width=4.cm]{./plots/tot\name _log.eps} 
    \column{0.33\textwidth}
    \includegraphics[width=4.cm]{./plots/tot\name _log.eps} 
 \end{columns} 
\end{frame}%

}

问题是:是否可以从单独的列表或数组中设置框架的标题。因此,除了 fnames,我还想从以下位置获取它: \def\tnames{white, gray, black}

答案1

您可以定义一个 PGF 数组并通过 访问它\pgfmathparse,数组索引从 0 开始。a,b,c为了方便起见,我使用了 。

编辑:添加了一般内容循环但在冗长程度上仍然不够经济。

\documentclass{beamer}
\usepackage{tikz,etoolbox}
\usepackage{mwe} %<- for dummy images

\begin{document}

\def\fnames{a,b,c}
\def\tnames{{"white","gray","black"}}


\foreach \x[count=\xcount from 0] in \fnames {%
\def\myframecontents{}
\foreach\y in{1,2,3}{
    \gappto\myframecontents{%
        \column{0.33\textwidth}%
        \includegraphics[width=4.cm]{example-image-\x}%
    }
}

\pgfmathparse{\tnames[\xcount]}
\begin{frame}{\pgfmathresult}
   \begin{columns}    
       \myframecontents
   \end{columns} 
\end{frame}%
}
 \end{document}

在此处输入图片描述

相关内容