以下代码在使用时会产生错误pdflatex
:
\documentclass[ignorenonframetext]{beamer}
\usepackage{environ}
\NewEnviron{myframe}[1][]{%
\begin{frame}{#1}
\BODY
\end{frame}
}
\begin{document}
This is star mode stuff.
\begin{frame}{First frame}
Some text.
\end{frame}
\mode<presentation>{
\begin{myframe}{title}
Some text.
\end{myframe}
}
\end{document}
输出pdflatex
:
! LaTeX Error: \begin{myframe} on input line 23 ended by \end{document}.
如果我删除该ignorenonframetext
选项或在演示模式之外使用myframe
,一切都正常。
有没有办法myframe
在演示模式下完成工作?
答案1
在自定义环境中隐藏框架环境仍然不是一个好主意,但是 beamer 用户指南显示了这个示例,您可以对其进行调整以包含您的环境:
示例:以下示例显示如何在主文件中包含其他文件。main.tex 的内容:
\documentclass[ignorenonframetext]{beamer} \begin{document} This is star mode stuff. Let’s include files: \mode<all> \include{a} \include{b} \mode*
\documentclass[ignorenonframetext]{beamer}
\usepackage{environ}
\NewEnviron{myframe}[1]{%
\begin{frame}[environment=myframe]{#1}
\BODY
\end{frame}
}
\begin{document}
This is star mode stuff.
\begin{frame}{First frame}
Some text.
\end{frame}
\mode<all>
\begin{myframe}{title}
Some text.
\end{myframe}
\mode*
\end{document}