最近 问题激发了我的好奇心etoolbox
(看起来很棒但我实际上从未使用过)。
经过快速检查,我没有发现etoolbox
和之间存在任何明显的不兼容性beamer
。
当我尝试这个时我哪里错了?一定很傻...
%\documentclass{memoir}
%\documentclass{article}
\documentclass{beamer}
\usepackage{etoolbox}
\usepackage{tikz}
% This works fine
%\BeforeBeginEnvironment{tikzpicture}{\begin{center}}
%\AfterEndEnvironment{tikzpicture}{\end{center}}
% It generates an error
%\BeforeBeginEnvironment{tikzpicture}{\begin{frame}}
\BeforeBeginEnvironment{tikzpicture}{ \begin{frame} \frametitle{My TikZ} }
\AfterEndEnvironment{tikzpicture}{ \end{frame} }
\begin{document}
\begin{tikzpicture}
\node[circle,draw=red] {Test};
\end{tikzpicture}
\end{document}
答案1
由于 beamer 帧是作为一个整体被抓取的,因此代码需要\end{frame}
在文档中明确查看,否则它将会解析帧的末尾以寻找\end{frame}
。