在两张幻灯片之间划一条线

在两张幻灯片之间划一条线

抱歉,如果这个主题存在于某个地方,我没有找到它。

我正在制作一些幻灯片,beamer并且正在努力在两张幻灯片之间打破表格。

这是我能得到的最好的结果:

\documentclass[xcolor=table]{beamer}
\renewcommand<>\cellcolor[1]{\only#2{\beameroriginal\cellcolor{#1}}}

\begin{document}

\begin{frame}
\begin{center}
\begin{tabular}{|c|c|c|}
    \cline{2-3}
    \multicolumn{1}{c|}{} & header 1 & header 2 \\
    \hline
    topic 1 & \onslide<2->{A & B} \\ 
    \hline
    topic 2 &\onslide<2->{C & D} \\
   \hline
\end{tabular}
\end{center}
\end{frame}

\end{document}

看起来像这样

但我想要这样的东西:

在此处输入图片描述

而我却无法到达那里,因为

\cline{1-1} \onslide<2->{\cline{2-3}}

不起作用..

感谢您的帮助 ! :)

答案1

您可以使用该tabularray包:

\documentclass[xcolor=table]{beamer}
\usepackage{tabularray}

% from https://github.com/lvjr/tabularray/issues/429#issuecomment-1672666912
\NewTableCommand{\beamerTemporal}[4]{\temporal<#1>{#2}{#3}{#4}}

\begin{document}

\begin{frame}
\begin{center}
\begin{tblr}{
  colspec={ccc},
  hline{1} = {2-3}{solid},
  hline{2} = {1-3}{solid},
  vline{1} = {2-3}{solid},
  vline{2} = {1-3}{solid},
}
    & header 1 & 
    \beamerTemporal{2-}{\SetVline{1}{}}{\SetVline{1-3}{}}{} 
    header 2 & \beamerTemporal{2-}{\SetVline{1}{}}{\SetVline{1-3}{}}{} \\
    topic 1 & \visible<2->{A} & \visible<2->{B} \\ 
    \beamerTemporal{2-}{\cline{1}}{\cline{1-3}}{}
    topic 2 & \visible<2->{C} & \visible<2->{D} \\
    \beamerTemporal{2-}{\cline{1}}{\cline{1-3}}{}
\end{tblr}%
\end{center}%
\end{frame}

\end{document}

在此处输入图片描述

答案2

您可以将 a与包提供的NiceTabular选项hvlines和一起使用(此解决方案仅适用于,因为我们不希望解析未打印的内容):cornersnicematrix\only

\documentclass[xcolor=table]{beamer}
\usepackage{nicematrix}

\begin{document}

\begin{frame}
\begin{center}
\begin{NiceTabular}[hvlines, corners]{ccc}
     & header 1 & header 2 \\
    topic 1 & \only<2->{A} & \only<2->{B} \\
    topic 2 & \only<2->{C} & \only<2->{D} \\
\end{NiceTabular}
\end{center}
\end{frame}

\end{document}

在此处输入图片描述

通常情况下,\only(以及其他类似命令)最好不要跨越多个单元格。不过,在这种情况下,\only<2->{A & B}也可以。

相关内容