表格的第一行有一个单元格,但第二行有两个单元格。
\documentclass{beamer}
\RequirePackage{array}
\begin{document}
\begin{frame}
\begin{tabular}{|c|c|}
\cline{1-1}%
a \\ \cline{1-2}%
\noalign{\pause}%
b & c
\\\hline
\end{tabular}
\end{frame}
\end{document}
如何使单元格 c 的顶部边框仅出现在第二张幻灯片上?使用\cline
参数时会出现错误,使用组合时\alt
也会出现错误。
答案1
尝试此代码
要在第二张幻灯片的右侧单元格中添加顶线 --使用\cline{2-2}
-- ,您需要一个\\
,然后使用 减去基线跳过\\[<length>]
。
\documentclass{beamer}
\RequirePackage{array}
\newlength{\vshift}
\setlength{\vshift}{-\baselineskip}
\begin{document}
\begin{frame}
\begin{tabular}{|c|c|}
\cline{1-1}%
a \\ \cline{1-1}% this finish the "a" cell
\noalign{\pause}%
\\[\the\vshift]\cline{2-2}% added <<<<<<<<<<<<<
b & c
\\\hline
\end{tabular}
\end{frame}
\end{document}
选择使用tikz
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\tikzset{
boxed/.style={draw,%
line width=0.25pt,
inner sep=1.0mm,% %expand the square
outer sep=0,%
minimum width=height("b")+2*1.0mm,% twice the inner separation
minimum height=height("b")+2*1.0mm,% equal to width
align=center}
}
\begin{frame}
\begin{tikzpicture}[every node/.style= boxed]
\node (a) {a};
\pause
\node [below = 0mm of a.south] (b) {b};
\node [right = 0mm of b.east] (c) {c};
\end{tikzpicture}
\end{frame}
\end{document}
答案2
这是一种有点混乱的做法,但你可以简单地一个接一个地使用表格。
梅威瑟:
\documentclass{beamer}
\setbeamercovered{invisible}
\RequirePackage{array}
\begin{document}
\begin{frame}
\begin{tabular}{|m{0.01\textwidth}|}
\hline
a \\ \hline
\end{tabular}
\pause
\\[-0.25ex]
\begin{tabular}{|m{0.01\textwidth}|m{0.01\textwidth}|}
\hline
b & c
\\\hline
\end{tabular}
\end{frame}
\end{document}
注意使用等宽列,否则“a”和“b”列的宽度会不同