# Loop for includegraphics

I try to make multiple slides in beamer with 3 figures on each slide and the title. I would like to loop through the list/array of figures and set the frame title. The name of the figure files and the name of the frame should be different.

Here is the attempt:

\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}%

}


The question: is it possible to set the title of the frame from a separate list or array. So instead of fnames, I would like to get it from: \def\tnames{white, gray, black}

-
related (?) "For loop" in newcommand – cmhughes Jan 3 at 18:16
Are you using pgffor? If so you may use the / for multiple lists (and variables). Otherwise you may consider to provide a MWE meta.tex.stackexchange.com/questions/228/… – bloodworks Jan 3 at 20:50

You can define a PGF array and access it via \pgfmathparse, the array index starts from 0 instead. I've used a,b,c for convenience.

\documentclass{beamer}
\usepackage{tikz}
\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 {%
\pgfmathparse{\tnames[\xcount]}
\begin{frame}{\pgfmathresult}
\begin{columns}
\column{0.33\textwidth}
\includegraphics[width=4.cm]{example-image-\x}
\column{0.33\textwidth}
\includegraphics[width=4.cm]{example-image-\x}
\column{0.33\textwidth}
\includegraphics[width=4.cm]{example-image-\x}
\end{columns}
\end{frame}%

}
\end{document}


-
 Thank you. That works! – Yuri Jan 4 at 19:32 @Yuri: If you are happy with the answer, please upvote and accept it. That's the (nicest) way to say 'thanks' on TeX.SX. – Count Zero Jan 4 at 19:40 Is it possible to make a loop inside the columns to repeat \column{0.33\textwidth} \includegraphics[width=4.cm]{example-image-\x} in a less verbose way? – Click Me Mar 18 at 19:32