beamer:当单元格数量不固定时,按行揭示表格

beamer:当单元格数量不固定时,按行揭示表格

表格的第一行有一个单元格,但第二行有两个单元格。

\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

尝试此代码

A

要在第二张幻灯片的右侧单元格中添加顶线 --使用\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”列的宽度会不同

相关内容