是否可以保存和恢复beamer
模板的规范?
- 在这种特定情况下,我想保存并恢复模板
background canvas
。
或者(事实上甚至更好),是否可以限制模板规范的范围?
- 这里的想法是,可以通过字体切换和颜色更改(使用花括号
\sffamily
或\color{red}
限制范围)来实现这一点。模板更改是否有等效方法beamer
?
梅威瑟:
\documentclass{beamer}
\setbeamertemplate{background canvas}[vertical shading][top=blue!20,bottom=blue!20,middle=blue!5,midpoint=.5]
\newcommand*{\canvasdu}{\setbeamertemplate{background canvas}[vertical shading][top=black!90,bottom=black!90,middle=black!70,midpoint=.5]}
\title[Short title]{Title}
\author{Mari Jones}
\date{\today}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
{\canvasdu
\begin{frame}
\color{red}A special frame
\end{frame}}
\begin{frame}
A bog-standard frame
\end{frame}
\end{document}
也就是说,我想恢复background canvas
第三帧的原始配置不知道它使用了蓝色垂直阴影。
我想知道的另一种可能性是克隆命令中的模板\canvasdu
。然而,我觉得这种方法有点不太优雅。
答案1
如果您选择组中的模板,则此选择的效果将仅限于此组。但在这里,您选择的是同一个模板,但更改了其定义(使用的颜色)。
background canvas
以下是定义新名称的解决方案my vertical shading
:
\documentclass{beamer}
\setbeamertemplate{background canvas}[vertical shading]%
[top=blue!20,bottom=blue!20,middle=blue!5,midpoint=.5]
\makeatletter
\defbeamertemplate{background canvas}{my vertical shading}%
[1][top=black!90,bottom=black!90,middle=black!70,midpoint=.5]
{\pgfuseshading{my@beamer@backgroundshading}}
[action]
{
\beamer@calcvertshading{my@beamer@backgroundshading}{\the\paperwidth}{#1}
\colorlet{my@beamer@@average}{beamer@average}
\setbeamercolor{normal text}{bg=my@beamer@@average}
}
\makeatother
\newcommand*{\canvasdu}{
\setbeamertemplate{background canvas}[my vertical shading]
}
\title[Short title]{Title}
\author{Mari Jones}
\date{\today}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
{\canvasdu
\begin{frame}
\color{red}A special frame
\end{frame}}
\begin{frame}
A bog-standard frame
\end{frame}
\end{document}
答案2
快速而肮脏,也许不够优雅,但是......
\documentclass{beamer}
\newcommand{\normalcanvas}{\setbeamertemplate{background canvas}[vertical shading][top=blue!20,bottom=blue!20,middle=blue!5,midpoint=.5]}
\newcommand{\specialcanvas}{\setbeamertemplate{background canvas}[vertical shading][top=black!90,bottom=black!90,middle=black!70,midpoint=.5]}
\newenvironment{canvasdu}{\specialcanvas}{\normalcanvas}
\normalcanvas
\title[Short title]{Title}
\author{Mari Jones}
\date{\today}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\begin{canvasdu}
\begin{frame}
\color{red}A special frame
\end{frame}
\end{canvasdu}
\begin{frame}
A bog-standard frame
\end{frame}
\end{document}