这是我的问题。我尝试创建一个宏,用于为 Beamer 演示文稿中的“任何”类型的元素显示彩色背景。
这是我所做的:
\documentclass{beamer}
\usepackage{xcolor}
\usepackage{philex}
\usetheme{Berkeley}
\definecolor{boxalertcolor}{RGB}{165,165,221}
\def \boxalert#1#2{\alt<#1>{\colorbox{boxalertcolor}{\begin{minipage}{.97\textwidth}#2\end{minipage}}}{\hbox{\begin{minipage}{.97\textwidth}#2\end{minipage}}}}
\begin{document}
\begin{frame}{Test}
\begin{exampleblock}{What is the rule behind these sentences ?}
\boxalert{2,4}{
\lb{chien}{
\lba{chienJuste}{The dog runs.}
\lbz{chienFaux}{* The run dog.}}}
\boxalert{3-4}{\lb{oiseau}{
\lba{oiseauJuste}{I saw a bird.}
\lbz{oiseauFaux}{* I a saw bird.}}}
\end{exampleblock}
\pause
\begin{block}{Possible rules}
\boxalert{2}{
\begin{description}[$R_1$]
\item[$R_1$]The word \textit{the} must appear just before \textit{dog} to constitute a nominal phrase.
\end{description}}
\pause
\boxalert{3}{
\begin{description}[$R_1$]
\item[$R_2$]The word \textit{a} must appear just before \textit{bird} to constitute a nominal phrase.
\end{description}}
\pause
\boxalert{4}{
\begin{description}[$R_1$]
\item[$R_i$]The deteminant must appear just before the name to constitute a nominal phrase.
\end{description}}
\end{block}
\end{frame}
\end{document}
现在我的问题是内容的彩色版本和非彩色版本之间的空格不一样。我知道这是由于\fboxsep
与 一起出现的\colorbox
。我不想为彩色版本删除它。
所以问题是:我怎样才能正确地添加缺失的空格非彩色版本,以便两个版本的文本完美重叠?
所以我请求改进我已有的宏。但如果有人知道用完全不同的代码实现相同功能的更好/更简单/更美观的方法,我会非常乐意替换我的宏。
非常感谢!BH
编辑:如果我\boxalert
用以下代码替换我的宏,我就快完成了:
\def \boxalert#1#2{\alt<#1>{\colorbox{boxalertcolor}{\begin{minipage}{.97\textwidth}#2\end{minipage}}}{\vspace{\fboxsep}\hspace{\fboxsep}\begin{minipage}{.97\textwidth}#2\end{minipage}}}
但是在第 2 张和第 3 张幻灯片之间的过渡期间,有一个移动框的空间,我不知道它是从哪里来的......
答案1
添加\fbox
删除规则的位置:
\definecolor{boxalertcolor}{RGB}{165,165,221}
\newcommand\boxalert[2]{%
\alt<#1>%
{\colorbox{boxalertcolor}{\begin{minipage}{.97\textwidth}#2\end{minipage}}}%
{\begingroup\fboxrule=0pt\fbox{\begin{minipage}{.97\textwidth}#2\end{minipage}}\endgroup}%
}
\colorbox
这将添加与透明背景相同的填充。