Beamer 中具有复杂内容的 Colorbox

Beamer 中具有复杂内容的 Colorbox

这是我的问题。我尝试创建一个宏,用于为 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这将添加与透明背景相同的填充。

相关内容