![在两张幻灯片之间划一条线](https://linux22.com/image/475274/%E5%9C%A8%E4%B8%A4%E5%BC%A0%E5%B9%BB%E7%81%AF%E7%89%87%E4%B9%8B%E9%97%B4%E5%88%92%E4%B8%80%E6%9D%A1%E7%BA%BF.png)
抱歉,如果这个主题存在于某个地方,我没有找到它。
我正在制作一些幻灯片,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
和一起使用(此解决方案仅适用于,因为我们不希望解析未打印的内容):corners
nicematrix
\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}
也可以。