将颜色添加到表格列作为投影仪覆盖

将颜色添加到表格列作为投影仪覆盖

我正在尝试使用一个覆盖层为投影仪中表格的某一列添加背景颜色。

我可以使用 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}

相关内容