使用 foreach 在 beamer 中创建列

使用 foreach 在 beamer 中创建列

我无法在 beamer 中使用 \foreach 创建列,代码如下:

\documentclass{beamer}
\usepackage{pgffor}
\begin{document}

\def\a {0.2, 0.2, 0.2}
\begin{frame}
    \begin{columns}
        \foreach \x in \a {
            \column{\x\linewidth}
        }
    \end{columns}
\end{frame}

\end{document}

引发错误:

代码错误

有解决办法吗?提前谢谢

答案1

问题在于 pgffor 将每个步骤包装到一个组中,因此您实际上是在编写{\column{.2\linewidth}},而 beamer 并不喜欢这样。

相反,您可以使用适当的column环境:

\documentclass{beamer}
\usepackage{pgffor}
\begin{document}

\def\a {0.2, 0.2, 0.2}
\begin{frame}
    \begin{columns}
        \foreach \x in \a {
            \begin{column}{\x\linewidth}
              test
            \end{column}
        }
    \end{columns}
\end{frame}

\end{document}

在此处输入图片描述

相关内容