我正在尝试使用一个覆盖层为投影仪中表格的某一列添加背景颜色。
我可以使用 colortbl 包创建一个带有彩色第二列的表格。
\begin{tabular}[]{r >{\columncolor{red!30}}} c}
...
\end{tabular}
如果我尝试简单地将颜色代码设为覆盖,这是行不通的(正如我所料)。
\begin{tabular}[]{r \onslide[2-]{>{\columncolor{red!30}}} c}
我可以创建我想要的效果吗(而不是简单地复制表格)?
答案1
尝试有条件地定义列类型并使用它:
\documentclass{beamer}
\usepackage{colortbl}
\begin{document}
\begin{frame}
\alt<2->{\newcolumntype{C}{>{\columncolor{red!30}}c}}{\newcolumntype{C}{c}}
\begin{tabular}[]{rC}
1 & 2 \\
3 & 4 \\
\end{tabular}
\end{frame}
\end{document}
答案2
您可以定义与自定义颜色关联的自定义列类型,然后更改颜色的定义:
\documentclass{beamer}
\usepackage{colortbl}
\colorlet{mycol}{white}
\newcolumntype{A}{>{\columncolor{mycol}}c}
\begin{document}
\begin{frame}
\only<2>{\colorlet{mycol}{lime}}
\begin{tabular}[]{cA}
1 & 2 \\
3 & 4 \\
\end{tabular}
\end{frame}
\end{document}
答案3
另外,看看这个链接(德语),对于 rowcolor 非常有用 https://groups.google.com/forum/?fromgroups#!topic/de.comp.text.tex/v7qQFV3pjkw
来自链接讨论的代码:
\documentclass{beamer}
\usepackage{colortbl}
\begin{document}
\begin{frame}{Test}
\begin{tabular}{l}
\only<2>{\\\rowcolor{blue!50}}Test!
\end{tabular}
\end{frame}
\end{document}