我正在尝试使用multido
包通过列表创建包含多个代码片段的幻灯片序列。不幸的是,该fragile
选项导致以下错误:
! File ended while scanning use of \next.
有什么解决方法吗?以下是重现错误的最简单代码:
\documentclass[11pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{multido}
\usepackage{listings}
\begin{document}
\begin{frame}[fragile]
\frametitle{test}
\begin{lstlisting}
import numpy as np
\end{lstlisting}
\end{frame}
\multido{\i=1+1}{7}{%
\begin{frame}[fragile]
\frametitle{\i}
\begin{lstlisting}
import numpy as np
\end{lstlisting}
\end{frame}
}
\end{document}
Manuel 的澄清:
据我理解,原帖作者的问题如下。
- OP 想要在框架中包含
listings
(\usepackage{listings}
) 。beamer
- 为了使用
listings
,beamer
需要fragile
框架选项 - 此外,OP 希望以编程方式创建框架的代码,例如使用
\usepackage{multido}
或pgffor
包。 - 问题是它
multido
不能与fragile
选项一起工作。 - 问题:OP 如何以编程方式创建包含的框架的代码
listings
。
答案1
不确定我是否理解了您的问题,但如果您删除该fragile
选项,代码就可以起作用。
\documentclass[11pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{multido}
\begin{document}
\multido{\i=1+1}{7}{%
\begin{frame}%[fragile]
\frametitle{\i}
\end{frame}
}
\end{document}
顺便说一下,您还可以使用该pgffor
包循环创建框架,请参阅这里. 这种方法也不是fragile
根据评论使用该选项。
% Taken from https://tex.stackexchange.com/questions/544528
\documentclass{beamer}
\usepackage{pgffor}
\begin{document}
\foreach \nn in{a,b,c,duck}{
\begin{frame}
\frametitle{Image \nn}
\centering
\includegraphics[width=0.8\textwidth]{example-image-\nn}
\end{frame}
}
\end{document}