如何避免 tcolorbox 内的投影仪覆盖出现抖动?(表格内)

如何避免 tcolorbox 内的投影仪覆盖出现抖动?(表格内)

我有一张表格,里面有几个值,我需要在演示过程中突出显示它们。我过去常常tcolorbox将这些数据与其他数据区分开来,并colorbox突出显示它们。

问题是文本一直在晃动。当第一个文本突出显示时,它会向右移动,而第二行会向下移动。此外,环境中还有一条额外的线,tcolorbox它只会在最后消失。

平均能量损失

\documentclass{beamer}
\mode<presentation>
\usepackage{fixltx2e} 
\usepackage{soul}               % to striketrhourhg text
\usepackage{tcolorbox}          % fancy colored boxes


\begin{document}
\begin{frame}[c,fragile]

    \begin{tcolorbox}[colback=lightgray,
        colframe=white,
        rounded corners=all]
        \begin{tabular}{ l l }
            \only<1>{\(a=7\)  & \(cI=8\) \\}
            \only<2->{\(a=7\) & \colorbox{yellow}{\(cI=8\)} \\}       

            \only<-3>{\(b=2\) & \(dS=3\)\\}
            \only<4>{\(b=2\) & \colorbox{yellow}{\(dS=3\)} \\}
            \only<5->{\colorbox{yellow}{\(b=2\)} & \(dS=3\) \\}
        \end{tabular}
    \end{tcolorbox}

\end{frame}
\end{document}

文字抖动

答案1

首先,假设你问的是

  • 如何制作\alert类似 的作品\colorbox而不是\textcolor;以及
  • 如何稳定这些\colorboxes?

第一个问题很简单,因为 Beamer 提供了\newcommand<>。现在您可以定义一个\boxalert<2,4>{}类似于的工作原理\alert<2,4>{}

\newcommand<>\boxalert[1]{
    \alt#2{\colorbox{yellow}{$#1$}}{$#1$}

其次,确保您的内容\colorbox始终放在里面:

\newcommand<>\boxalert[1]{
    \alt#2{\colorbox{yellow}{$#1$}}{\colorbox{lightgray}{$#1$}}

以下代码给出稳定的结果:

\begin{frame}[fragile]
    \begin{tcolorbox}[colback=lightgray,colframe=white,rounded corners=all]
        \begin{tabular}{ll}
            \boxalert<2,4,6,8>{a=7} & \boxalert<3,4,7,8>{cI=8} \\
            \boxalert<5,6,7,8>{b=2} & \boxalert<      0>{dS=3} \\
        \end{tabular}
    \end{tcolorbox}
\end{frame}

如果不需要伪透明背景,tcolorbox(您似乎已经使用过)可以定义真正的透明背景:

\renewcommand<>\boxalert[1]{
    \alt#2{\tcbox[colback=yellow,frame empty]{$#1$}}{\tcbox[colback=red,opacityback=0,frame empty]{$#1$}}
}

请注意间距不一致。我猜想在同一个文档中有colorboxbeamercolorbox和时这是不可避免的。tcolorbox

相关内容