使用时,使用-frame 选项\mode*
似乎会使 beamer 与主题混淆,使得使用后所有后续帧都停留在此模式,尽管不处于活动状态。metropolis
standout
standout
standout
这是一个简单的例子:
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usetheme{metropolis}
\begin{document}
\mode*
\begin{frame}{test}
\end{frame}
\begin{frame}[standout]{test standout}
123
\end{frame}
\begin{frame}{test no standout}
\end{frame}
\end{document}
我本以为standout
-frame 后面的框架不是以standout
-mode 排版的,但不幸的是,它确实如此。我知道删除\mode*
可以解决这个问题。但我使用的结构非常方便,而且可以简化我的文档,因为我不必在每个框架文本之间使用选项\mode<article>{}
。所以,我想知道这种行为是故意的还是有解决方法?
答案1
2024 年更新:
您可以使用moloch
主题来避免这个问题,该主题是 Metropolis 主题的一个更现代的分支:
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usetheme{moloch}% modern fork of the metropolis theme
\begin{document}
\mode*
\begin{frame}{test}
\end{frame}
\begin{frame}[standout]{test standout}
123
\end{frame}
\begin{frame}{test no standout}
\end{frame}
\end{document}
原始答案:
这个问题已经在 github 上的开发版本中修复了,请参阅https://github.com/matze/mtheme/issues/335
在 ctan 发布新版本之前,您可以手动安装开发版本或使用以下解决方法:
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usetheme{metropolis}
\makeatletter
\pretocmd{\beamer@reseteecodes}{%
\ifbool{metropolis@standout}{
\endgroup
\boolfalse{metropolis@standout}
}{}
}{}{}
\makeatother
\begin{document}
\mode*
\begin{frame}{test}
\end{frame}
\begin{frame}[standout]{test standout}
123
\end{frame}
\begin{frame}{test no standout}
\end{frame}
\end{document}