我想更改演示文稿投影仪中每一帧内的文本分布,我尝试使用\newenvironment
但每次都出现错误:
扫描使用 \beamer@collect@@body 时文件结束
我的 MWE:
\documentclass{beamer}
\usepackage{lipsum}
\newenvironment{myframe}{\begin{frame}{test}
\begin{minipage}{\textwidth}}{\end{minipage}
\end{frame}}
\begin{document}
\begin{frame}{test}
\begin{minipage}{0.7\textwidth}
\lipsum[1]
\end{minipage}
\end{frame}
\begin{myframe}
\lipsum[1]
\end{myframe}
\end{document}
这个问题有解决办法吗?
答案1
在这种情况下,这个包environ
很方便。它看起来如下:
\documentclass{beamer}
\usepackage{lipsum}
\usepackage{environ}
\NewEnviron{myframe}[1][]{%
\begin{frame}{#1}
\begin{minipage}{\textwidth}
\BODY
\end{minipage}
\end{frame}
}
\begin{document}
\begin{frame}{test}
\begin{minipage}{\textwidth}
\lipsum[1]
\end{minipage}
\end{frame}
\begin{myframe}[Test]
\lipsum[2]
\end{myframe}
\begin{myframe}
\lipsum[2]
\end{myframe}
\end{document}
我已将框架标题在新环境中设为可选项。