![在带有 \multicolumn 和 booktabs 包的表格环境中使用 \visible 时出现问题](https://linux22.com/image/340504/%E5%9C%A8%E5%B8%A6%E6%9C%89%20%5Cmulticolumn%20%E5%92%8C%20booktabs%20%E5%8C%85%E7%9A%84%E8%A1%A8%E6%A0%BC%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8%20%5Cvisible%20%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
以下 mwe 可以编译,但是,如果有人公开注释的文本,则会收到错误:
! Misplaced \noalign
在非 mwe 版本的表格中,我还收到类似于以下内容的错误消息:
! Misplaced \omit. \onslide \multicolumn
快速搜索给出了几个例子(75639,149819) 可能相关。大多数这些问题/问题都通过相对简单的修复得到解决。我很可能错过了一些基本的东西。
以下是代码:
\documentclass[]{beamer}
\usepackage{booktabs}
\begin{document}
\begin{frame}
\begin{center}
\begin{tabular}[h]{lccc}
\toprule
\visible<1->{%
1 & \multicolumn{3}{l}{text$^{a}$} \\[1mm]%
}%
\visible<2->{%
1 & \multicolumn{3}{l}{text} \\[1mm]%
}%
\visible<3->{%
1 & \multicolumn{3}{l}{text} \\[1mm]%
}%
\visible<4->{%
& $\ell_{x, y}$ & $\ell_{z}$ & $\tau$ \\
\cmidrule{2-4}
A & B & C & D \\[1mm]%
}%
\visible<5->{%
A & B & C & D \\[1mm]
}%
\visible<6->{%
A & B & C & D \\[1mm]
}%
%\midrule
%\visible<1->{%
%\multicolumn{4}{l}{\tiny\textcolor{gray}{$^{a}$a detailed note which spans columns.}} \\%
%}%
%\bottomrule
\end{tabular}
\end{center}
\end{frame}
\end{document}
编辑:根据一个答案的建议,我将\visible
s 替换为\pause
s,这样就成功了。但是,在添加更多\multicolumn
s(本质上是旨在在不同时间显示的脚注)后,我仍然收到错误! Misplaced \omit
。
\documentclass[]{beamer}
\usepackage{booktabs}
\begin{document}
\begin{frame}
\begin{center}
\begin{tabular}[h]{lccc}
\toprule
1 & \multicolumn{3}{l}{text$^{a}$} \\[1mm]%
\pause
1 & \multicolumn{3}{l}{text} \\[1mm]%
\pause
1 & \multicolumn{3}{l}{text$^{b}$} \\[1mm]%
\pause
& $\ell_{x, y}$ & $\ell_{z}$ & $\tau$ \\
\cmidrule{2-4}
A & B & C & D \\[1mm]%
\pause
A & B & C & D \\[1mm]
\pause
A & B & C & D
\pause[1]
\\
\midrule
\multicolumn{4}{l}{\tiny\textcolor{gray}{$^{a}$a detailed note which spans columns.}}
\pause[3]
\\%
\multicolumn{4}{l}{\tiny\textcolor{gray}{$^{b}$another note which spans columns.}}
\bottomrule
\end{tabular}
\end{center}
\end{frame}
\end{document}
答案1
我没有直接的解决方法,但可以使用\pause
(once withoptionalargument) 而不是来使其工作\visible
。请注意,出于某种原因,\midrule
更喜欢直接跟在后面\\[1mm]
,并且在放在中间时会出现错误\pause
。
\documentclass[]{beamer}
\usepackage{booktabs}
\begin{document}
\begin{frame}
\begin{center}
\begin{tabular}[h]{lccc}
\toprule
1 & \multicolumn{3}{l}{text$^{a}$} \\[1mm]%
\pause
1 & \multicolumn{3}{l}{text} \\[1mm]%
\pause
1 & \multicolumn{3}{l}{text} \\[1mm]%
\pause
& $\ell_{x, y}$ & $\ell_{z}$ & $\tau$ \\
\cmidrule{2-4}
A & B & C & D \\[1mm]%
\pause
A & B & C & D \\[1mm]
\pause
A & B & C & D
\pause[1]
\\[1mm]
\midrule
\multicolumn{4}{l}{\tiny\textcolor{gray}{$^{a}$a detailed note which spans columns.}} \\%
\bottomrule
\end{tabular}
\end{center}
\end{frame}
\end{document}