使用可自定义的颜色定义投影仪块

使用可自定义的颜色定义投影仪块

我正在尝试定义一个具有可自定义颜色的块。我想将其放在一个通用定义文件中(例如common_defs.tex),并将其包含在每个演示文稿中,并根据该演示文稿的主题设置其标题和文本背景和前景色。使用建议这里common_defs.tex我在文件中定义以下内容

\newenvironment{varblock}[3]{%
  \setbeamercolor{block title}{#2}
  \setbeamercolor{block body}{#3}
  \begin{block}{#1}}{\end{block}}

现在,在主投影仪演示中我有以下内容:

\documentclass{beamer}

\setbeamercolor{varblock text}{bg=red!20, fg=black}
\setbeamercolor{varblock title}{bg=red, fg=white}

\begin{document}

\begin{frame}
   \frametitle{Test}

\begin{varblock}{Block Title}
Some block text
\end{varblock}

\end{frame}
\end{document}

可以理解的是,这会导致错误,因为它需要 \begin{varblock} 三个参数。我该如何更改定义才能使其正常工作?

答案1

这能行吗?

主文本

\documentclass{beamer}
\input{common}    
\newcommand{\prevarblock}{%
  \setbeamercolor{block title}{bg=red!20, fg=black}%
  \setbeamercolor{block body}{bg=red, fg=white}%
}
\begin{document}
  \begin{frame}\frametitle{Test}
    \begin{varblock}{Block Title}
      Some block text
    \end{varblock}
  \end{frame}
\end{document}

通用文本文件

\newenvironment{varblock}[1]{%
  \prevarblock
  \begin{block}{#1}}{\end{block}}

相关内容