![Beamer:模式*和自己的框架定义](https://linux22.com/image/318155/Beamer%EF%BC%9A%E6%A8%A1%E5%BC%8F*%E5%92%8C%E8%87%AA%E5%B7%B1%E7%9A%84%E6%A1%86%E6%9E%B6%E5%AE%9A%E4%B9%89.png)
假设我使用我自己对问题框架的定义,类似于
\documentclass{beamer}
\usetheme{Malmoe}
\newcommand{\questionframe}[2]{
\frame[c,plain]{
\centering\huge
\textbf{\structure{#1}}
\par\bigskip
#2
}
}
\begin{document}
\questionframe{Here is the question?}{And corresponding explanation}
\end{document}
但是,在\mode*
对我的环境非常有用的 中,这些框架将被忽略。摘自文档:
文本被逐个吞噬209个标记,直到找到以下标记之一:,,,,,,,,,,
\mode
和(最后 两个是真正的标记,但它们无论如何都会被识别\frame
\againframe
\part
\section
\subsection
\appendix
\note
\begin{frame}
\end{document}
调和两者的最简单的方法是什么 - 即强迫投影仪在相遇时停止吞噬\questionframe
?
答案1
你可以尝试一下
\documentclass{beamer}
\usetheme{Malmoe}
\newcommand{\questionframe}[2]{
\frame[c,plain]{
\centering\huge
\textbf{\structure{#1}}
\par\bigskip
#2
}
}
%
\usepackage{etoolbox}
\makeatletter
\preto\beamer@treat{\ifx\beamer@nexttoken\questionframe\let\next=\beamer@stopoutsidemode\fi}{}{}
\makeatother
\begin{document}
\mode*
\questionframe{Here is the question?}{And corresponding explanation}
\begin{frame}
abc
\end{frame}
\end{document}