我使用以下代码创建了一个带覆盖层的彩色表格。但是,它显示下一行的颜色与上一行的颜色相同。我该如何避免这种情况?
\documentclass[11pt, xcolor=table]{beamer}
\usetheme{default}
\usepackage{colortbl}
\begin{document}
\begin{frame}
\rowcolors[]{1}{blue!20}{red!10}
\begin{tabular}{lcccc}\hline
\onslide<1->Class & A & B & C & D\\\hline
\onslide<2->X & 1 & 2 & 3 & 4 \\
\onslide<3->Y & 3 & 4 & 5 & 6 \\
\onslide<4->Z & 5 & 6 & 7 & 8
\end{tabular}
\end{frame}
\end{document}
编辑:这对我来说似乎有效。但这有什么原因吗?
\documentclass[11pt, xcolor=table]{beamer}
\usetheme{default}
\usepackage{colortbl}
\begin{document}
\begin{frame}
\rowcolors[]{1}{blue!20}{red!10}
\begin{tabular}{lcccc}\hline
\onslide<1->Class & A & B & C & D\onslide<2-> \\\hline
\onslide<2->X & 1 & 2 & 3 & 4 \onslide<3->\\
\onslide<3->Y & 3 & 4 & 5 & 6 \onslide<4->\\
\onslide<4->Z & 5 & 6 & 7 & 8
\end{tabular}
\end{frame}
\end{document}
答案1
您必须\onslide
在 之前放置\\
。否则 LaTeX 将刷新该行并在其位置插入一个标记,\onslide
然后标记将显示为第一列。
\documentclass[11pt, xcolor=table]{beamer}
\usetheme{default}
\usepackage{colortbl}
\begin{document}
\begin{frame}
\rowcolors[]{1}{blue!20}{red!10}
\begin{tabular}{lcccc}
\hline
Class & A & B & C & D \onslide<2-> \\
\hline
X & 1 & 2 & 3 & 4 \onslide<3-> \\
Y & 3 & 4 & 5 & 6 \onslide<4-> \\
Z & 5 & 6 & 7 & 8
\end{tabular}
\end{frame}
\end{document}