我需要准备一个 beamer 演示文稿,其中我将有多种框架(讨论框架、形式化框架、问题框架等)。它们都是简单的框架,本质上是一个白色框架,框架右上角的矩形中写有“讨论”、“形式化”等字样,但每种框架中的矩形都应为一种颜色(讨论为蓝色,问题为绿色等)。
我尝试去适应这但我无法改变颜色或在矩形中书写:(
答案1
在下面的代码中,我为 添加了可选参数\begin{frame}
。如果没有给出参数,则生成的幻灯片仅为白色;如果给出了参数之一Discussing
或,Problems
则Formalizing
相应的单词将添加到彩色矩形中:
\documentclass{beamer}
\usepackage{etoolbox}
\setbeamercolor{mydiscussingcolor}{fg=white,bg=blue}
\setbeamercolor{myproblemscolor}{fg=black,bg=green}
\setbeamercolor{myformalizingcolor}{fg=white,bg=red}
\BeforeBeginEnvironment{frame}{%
\setbeamertemplate{headline}{}}
\makeatletter
\define@key{beamerframe}{Discussing}[true]{%
\setbeamertemplate{headline}{\hfill%
\begin{beamercolorbox}[wd=.25\paperwidth,ht=20pt,dp=3ex,center]{mydiscussingcolor}%
\Large Discussing %
\end{beamercolorbox}%
}}
\define@key{beamerframe}{Problems}[true]{%
\setbeamertemplate{headline}{\hfill%
\begin{beamercolorbox}[wd=.25\paperwidth,ht=20pt,dp=3ex,center]{myproblemscolor}%
\Large Problems %
\end{beamercolorbox}%
}}
\define@key{beamerframe}{Formalizing}[true]{%
\setbeamertemplate{headline}{\hfill%
\begin{beamercolorbox}[wd=.25\paperwidth,ht=20pt,dp=3ex,center]{myformalizingcolor}%
\Large Formalizing %
\end{beamercolorbox}%
}}
\makeatother
\begin{document}
\begin{frame}[Discussing]
\frametitle{title}
\end{frame}
\begin{frame}[Problems]
\end{frame}
\begin{frame}
\frametitle{another title}
\end{frame}
\begin{frame}[Formalizing]
\end{frame}
\end{document}