![通过覆盖将列添加到表格,但已保留其空间](https://linux22.com/image/365259/%E9%80%9A%E8%BF%87%E8%A6%86%E7%9B%96%E5%B0%86%E5%88%97%E6%B7%BB%E5%8A%A0%E5%88%B0%E8%A1%A8%E6%A0%BC%EF%BC%8C%E4%BD%86%E5%B7%B2%E4%BF%9D%E7%95%99%E5%85%B6%E7%A9%BA%E9%97%B4.png)
我想将列添加b
到我的表格中,它应该看起来像我的第一个表格。除了这一点之外,列a
应该不是完全居中。(显示第二张幻灯片时,列a
不应跳到左侧)
\documentclass{beamer}
\usepackage{lmodern}
\usepackage{siunitx}
\begin{document}
\begin{frame}
\begin{center}
\begin{tabular}{*{2}{|>{$}{c}<{$}}|}
\hline
a \only<2>{& b}\\
\hline
1 \only<2>{& 2}\\
\hline
\end{tabular}
\begin{tabular}{*{2}{|>{$}{c}<{$}}|}
\hline
a \visible<2>{& b}\\
\hline
1 \visible<2>{& 2}\\
\hline
\end{tabular}
\begin{tabular}{*{2}{|>{$}{c}<{$}}|}
\hline
a & \visible<2>{b}\\
\hline
1 & \visible<2>{2}\\
\hline
\end{tabular}
\end{center}
\end{frame}
\end{document}
答案1
基本思路是只在第一个覆盖层上添加\hspace
。您可以猜测所需的宽度,或者多做一些工作,测量包含第二列最宽条目的表格的宽度。
\documentclass{beamer}
\usepackage{lmodern}
\usepackage{siunitx}
\newlength{\mywidth}
\settowidth{\mywidth}{%
\begin{tabular}{|>{$}{c}<{$}|}%
2
\end{tabular}%
}
\begin{document}
\begin{frame}
\begin{center}
\begin{tabular}{*{2}{|>{$}{c}<{$}}|}
\hline
a \only<2>{& b}\\
\hline
1 \only<2>{& 2}\\
\hline
\end{tabular}\only<1>{\hspace*{\mywidth}}
\end{center}
\end{frame}
\end{document}