我如何保存和恢复 beamer 模板?

我如何保存和恢复 beamer 模板?

是否可以保存和恢复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}

相关内容