我正在尝试定义一个具有可自定义颜色的块。我想将其放在一个通用定义文件中(例如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}}