我有一张表格,里面有几个值,我需要在演示过程中突出显示它们。我过去常常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
;以及 - 如何稳定这些
\colorbox
es?
第一个问题很简单,因为 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$}}
}
请注意间距不一致。我猜想在同一个文档中有colorbox
、beamercolorbox
和时这是不可避免的。tcolorbox