在表格环境中使用 Beamer 中的暂停

在表格环境中使用 Beamer 中的暂停

接下来,我想在第二个表中一次显示每行上的每个数字。为了测试它,我插入了一个\pause命令,但它不起作用。相反,它同时显示整行。

\documentclass{beamer}

\begin{document}


\begin{frame}
    
        \tiny
        
        \begin{tabular}[b]{c}
        75 \\
        95 64 \\
        17 47 82 \\
        18 35 87 10 \\
        20 04 82 47 65 \\
        19 01 23 75 03 34 \\
        88 02 77 73 07 63 67 \\
        99 65 04 28 06 16 70 92 \\
        41 41 26 56 83 40 80 70 33 \\
        41 48 72 33 47 32 37 16 94 29 \\
        53 71 44 65 25 43 91 52 97 51 14 \\
        70 11 33 28 77 73 17 78 39 68 17 57 \\
        91 71 52 38 17 14 91 43 58 50 27 29 48 \\
        63 66 04 68 89 53 67 30 73 16 69 87 40 31 \\
        04 62 98 27 23 09 70 98 73 93 38 53 60 04 23 \\
        \end{tabular}
        \hfill      
        \begin{tabular}[b]{c}
        \onslide<4->
        91 71 52 38 17 14 91 43 58 50 27 29 48 \\
        \onslide<3->
        63 66 04 68 89 53 67 30 73 16 69 87 40 31 \\
        \onslide<2->
        04 \pause 62 98 27 23 09 70 98 73 93 38 53 60 04 23 \\
        \end{tabular}
        

        
        
    
\end{frame}

\end{document}

答案1

我不确定这是否是最好的方法,但您可以让 TeX 插入许多\onslide宏(这里我只是将它插入到输入中的每个空格中)。

这可以通过一个简单的循环来实现,下面使用语言实现expl3。这需要一点手动工作来获取正确的起始数字(作为可选参数给出)。

\documentclass{beamer}

\ExplSyntaxOn
\int_new:N \g_junglemath_item_int
\NewDocumentCommand \uncovernumbers { o m }
  {
    \IfValueT {#1} { \int_gset:Nn \g_junglemath_item_int {#1} }
    \seq_set_split:Nnn \l_tmpa_seq {~} {#2}
    \seq_map_inline:Nn \l_tmpa_seq
      {
        \int_gincr:N \g_junglemath_item_int
        \exp_last_unbraced:NNV \onslide < \g_junglemath_item_int -> {##1~}
      }
  }
\ExplSyntaxOff

\begin{document}
\begin{frame}
  \tiny
  \begin{tabular}[b]{c}
  75 \\
  95 64 \\
  17 47 82 \\
  18 35 87 10 \\
  20 04 82 47 65 \\
  19 01 23 75 03 34 \\
  88 02 77 73 07 63 67 \\
  99 65 04 28 06 16 70 92 \\
  41 41 26 56 83 40 80 70 33 \\
  41 48 72 33 47 32 37 16 94 29 \\
  53 71 44 65 25 43 91 52 97 51 14 \\
  70 11 33 28 77 73 17 78 39 68 17 57 \\
  91 71 52 38 17 14 91 43 58 50 27 29 48 \\
  63 66 04 68 89 53 67 30 73 16 69 87 40 31 \\
  04 62 98 27 23 09 70 98 73 93 38 53 60 04 23 \\
  \end{tabular}
  \hfill      
  \begin{tabular}[b]{c}
    \uncovernumbers[29]{91 71 52 38 17 14 91 43 58 50 27 29 48}\\
    \uncovernumbers[15]{63 66 04 68 89 53 67 30 73 16 69 87 40 31}\\
    \uncovernumbers [1]{04 62 98 27 23 09 70 98 73 93 38 53 60 04 23}\\
  \end{tabular}
\end{frame}
\end{document}

答案2

以下是手动实现的Skillmon 的回答,只是为了展示它的样子(以及不同的揭示策略):

在此处输入图片描述

\documentclass{beamer}

\begin{document}

\begin{frame}
    
  \tiny

  \begin{tabular}[b]{c}
    75 \\
    95 64 \\
    17 47 82 \\
    18 35 87 10 \\
    20 04 82 47 65 \\
    19 01 23 75 03 34 \\
    88 02 77 73 07 63 67 \\
    99 65 04 28 06 16 70 92 \\
    41 41 26 56 83 40 80 70 33 \\
    41 48 72 33 47 32 37 16 94 29 \\
    53 71 44 65 25 43 91 52 97 51 14 \\
    70 11 33 28 77 73 17 78 39 68 17 57 \\
    91 71 52 38 17 14 91 43 58 50 27 29 48 \\
    63 66 04 68 89 53 67 30 73 16 69 87 40 31 \\
    04 62 98 27 23 09 70 98 73 93 38 53 60 04 23
  \end{tabular}
  \hfill      
  \begin{tabular}[b]{c}
    \onslide<30->{91} \onslide<31->{71} \onslide<32->{52} \onslide<33->{38} \onslide<34->{17} 
      \onslide<35->{14} \onslide<36->{91} \onslide<37->{43} \onslide<38->{58} \onslide<39->{50} 
      \onslide<40->{27} \onslide<41->{29} \onslide<42->{48} \\
    \onslide<16->{63} \onslide<17->{66} \onslide<18->{04} \onslide<19->{68} \onslide<20->{89} 
      \onslide<21->{53} \onslide<22->{67} \onslide<23->{30} \onslide<24->{73} \onslide<25->{16} 
      \onslide<26->{69} \onslide<27->{87} \onslide<28->{40} \onslide<29->{31} \\
    \onslide<1->{04} \onslide<2->{62} \onslide<3->{98} \onslide<4->{27} \onslide<5->{23} 
      \onslide<6->{09} \onslide<7->{70} \onslide<8->{98} \onslide<9->{73} \onslide<10->{93} 
      \onslide<11->{38} \onslide<12->{53} \onslide<13->{60} \onslide<14->{04} \onslide<15->{23}
  \end{tabular}

\end{frame}

\begin{frame}
    
  \tiny

  \begin{tabular}[b]{c}
    75 \\
    95 64 \\
    17 47 82 \\
    18 35 87 10 \\
    20 04 82 47 65 \\
    19 01 23 75 03 34 \\
    88 02 77 73 07 63 67 \\
    99 65 04 28 06 16 70 92 \\
    41 41 26 56 83 40 80 70 33 \\
    41 48 72 33 47 32 37 16 94 29 \\
    53 71 44 65 25 43 91 52 97 51 14 \\
    70 11 33 28 77 73 17 78 39 68 17 57 \\
    91 71 52 38 17 14 91 43 58 50 27 29 48 \\
    63 66 04 68 89 53 67 30 73 16 69 87 40 31 \\
    04 62 98 27 23 09 70 98 73 93 38 53 60 04 23
  \end{tabular}
  \hfill      
  \begin{tabular}[b]{c}
    \onslide<3->{91} \onslide<4->{71} \onslide<5->{52} \onslide<6->{38} \onslide<7->{17} 
      \onslide<8->{14} \onslide<9->{91} \onslide<10->{43} \onslide<11->{58} \onslide<12->{50} 
      \onslide<13->{27} \onslide<14->{29} \onslide<15->{48} \\
    \onslide<2->{63} \onslide<3->{66} \onslide<4->{04} \onslide<5->{68} \onslide<6->{89} 
      \onslide<7->{53} \onslide<8->{67} \onslide<9->{30} \onslide<10->{73} \onslide<11->{16} 
      \onslide<12->{69} \onslide<13->{87} \onslide<14->{40} \onslide<15->{31} \\
    \onslide<1->{04} \onslide<2->{62} \onslide<3->{98} \onslide<4->{27} \onslide<5->{23} 
      \onslide<6->{09} \onslide<7->{70} \onslide<8->{98} \onslide<9->{73} \onslide<10->{93} 
      \onslide<11->{38} \onslide<12->{53} \onslide<13->{60} \onslide<14->{04} \onslide<15->{23}
  \end{tabular}

\end{frame}

\end{document}

相关内容