\begin{frame}{Title}
\begin{equation*}
\begin{tabular}{cccc}
& aaaaaaaaaa & aaaaaaaaa & aaaaaaaaaaaaa \\ \cline{2-4}
$A_A \prec_B C_C$ & \multicolumn{1}{|c}{}
& \multicolumn{1}{|c}{}
&
\multicolumn{1}{|c|}{}
\\ \cline{2-4}
$A_A {\tiny\cancel{\overset{\prec}{\underset{\succ}{\approx}}}_B} C_C$ & \multicolumn{1}{|c}{\cellcolor[HTML]{C0C0C0}}
& \multicolumn{1}{|c}{}
& \multicolumn{1}{|c|}{}
\\ \cline{2-4}
$A_A=C_C$ & \multicolumn{1}{|c}{\cellcolor[HTML]{C0C0C0}}
& \multicolumn{1}{|c}{\cellcolor[HTML]{C0C0C0}}
& \multicolumn{1}{|c|}{}
\\ \cline{2-4}
$A_A \succ_B C_C$ & \multicolumn{1}{|c}{\cellcolor[HTML]{C0C0C0}}
& \multicolumn{1}{|c}{\cellcolor[HTML]{C0C0C0}}
& \multicolumn{1}{|c|}{}
\\ \cline{2-4}
\end{tabular}
\end{equation*}
\end{frame}
(已删除)宽度的问题是因为每列的a个数不一样,高度的问题是因为自定义了大符号,我试过把开头的四个c换成p{4cm},但是一点反应都没有(这个是调整宽度用的,高度要不要用\renewcommand{\arraystretch}{1.5}之类的?)我找了几个帖子,但是他们的表格都是以{|c|c|}开头的,感觉我的情况不太合适?
还有一个问题:有些行被灰色块覆盖。我尝试将 \cline 移到 \ 之前而不是 \ 之后,但总是显示“错误”。以下是一些相关线程:Cellcolor 覆盖部分水平线(\cline) 但是他们的表格以{|c|c|}之类的内容开头,因此所有的边框线都存在,这与我的情况不一致。
非常感谢!
编辑(删除):
\begin{frame}{Frame Title}
\noindent\begin{minipage}[t][6in][t]{\textwidth}
\centering
\begin{tabular}{@{} c p{1in} p{1in} p{1in} @{}}
& aaaaaaaaaa & aaaaaaaaa & aaaaaaaaaaaaa \\ \cline{2-4}
$A_A \prec_B C_C$ & \multicolumn{1}{|c}{}
& \multicolumn{1}{|c}{}
&
\multicolumn{1}{|c|}{}
\\ \cline{2-4}
$A_A \cancel{\overset{\prec}{\underset{\succ}{\approx}}}_B C_C$ & \multicolumn{1}{|c}{\cellcolor[HTML]{C0C0C0}}
& \multicolumn{1}{|c}{}
& \multicolumn{1}{|c|}{}
\\ \cline{2-4}
$A_A=C_C$ & \multicolumn{1}{|c}{\cellcolor[HTML]{C0C0C0}}
& \multicolumn{1}{|c}{\cellcolor[HTML]{C0C0C0}}
& \multicolumn{1}{|c|}{}
\\ \cline{2-4}
$A_A \succ_B C_C$ & \multicolumn{1}{|c}{\cellcolor[HTML]{C0C0C0}}
& \multicolumn{1}{|c}{\cellcolor[HTML]{C0C0C0}}
& \multicolumn{1}{|c|}{}
\\ \cline{2-4}
\end{tabular}
\end{minipage}
\end{frame}
答案1
这是一个{NiceTabular}
使用 的解决方案nicematrix
。
该键
columns-width=auto
将所有列的宽度设置为最大宽度。我已设置
\arraystretch
为 1.4,对于您来说,这足以使所有行具有相同的高度。该命令
\Block[hvlines]{*-*}{}
创建一个没有内容的块(最后一个参数),但用于在该块中绘制所有规则(使用键hvlines
)。使用,规则由 PGF(Tikz 的一个子层)在构建数组后绘制,并确保在所有 PDF 查看器中都能获得彩色单元格的完美效果。但是,您
{NiceTabular}
需要nicematrix
一些汇编。
\documentclass{beamer}
\usepackage{cancel}
\usepackage{nicematrix}
\begin{document}
\begin{frame}{Title}
\renewcommand{\arraystretch}{1.4}
\begin{NiceTabular}{cccc}[colortbl-like,columns-width=auto]
& aaaaaaaaaa & aaaaaaaaa & aaaaaaaaaaaaa \\
$A_A \prec_B C_C$ & \Block[hvlines]{*-*}{} \\
$A_A {\tiny\cancel{\overset{\prec}{\underset{\succ}{\approx}}}_B} C_C$ & \cellcolor{gray!50} \\
$A_A=C_C$ & \cellcolor{gray!50} & \cellcolor{gray!50} \\
$A_A \succ_B C_C$ & \cellcolor{gray!50} & \cellcolor{gray!50} \\
\end{NiceTabular}
\end{frame}
\end{document}
答案2
我会消灭全部阴影区域内的线条——水平和垂直。
\documentclass[table]{beamer}
\usepackage{cancel,xcolor,tabularx,ragged2e}
\newcolumntype{C}{>{\Centering}X}
\newcommand\cc{\multicolumn{1}{c}{\cellcolor[HTML]{C0C0C0}}} % handy shortcut macro
\begin{document}
\begin{frame}{Title}
\begin{tabularx}{\textwidth}{l|*{3}{C|}}
\cline{2-4}
& aaaaaaaaaa & aaaaaaaaa & aaaaaaaaaaaaa \\
\cline{2-4}
$A_A \prec_B C_C$
& & & \\ \cline{2-4}
$A_A \mathrel{{\scriptscriptstyle\cancel{\overset{\prec}{\underset{\succ}{\approx}}}_B}} C_C$
& \cc & & \\ \cline{2-4}
$A_A=C_C$
& \cc & \cc & \\ \cline{2-4}
$A_A \succ_B C_C$
& \cc & \cc & \\ \cline{2-4}
\end{tabularx}
\end{frame}
\end{document}
答案3
使用scalebox
(在包中定义adjustbox
)和tabularay
包:
\documentclass{beamer}
\usepackage{adjustbox}
\usepackage{cancel}
\usepackage{xcolor}
\usepackage{tabularray} % tested with version 2021P
\begin{document}
\begin{frame}
\frametitle{Title}
\begin{tblr}{colspec={Q[r,$] *3{X[c]}}, % or Q[r,mode=math]
hline{2-Z}={2-Z}{solid},
vline{2-Z}={2-Z}{solid},
row{2-Z} = {ht=4ex}
}
& aaaaaaaaaa & aaaaaaaaa & aaaaaaaaaaaaa \\
A_A \prec_B C_C & & & \\
A_A \scalebox{0.7}{$\cancel{\overset{\prec}{\underset{\succ}{\approx}}}$}_B C_C
& \SetCell{gray!50} & & \\
A_A=C_C & \SetCell{gray!50} & \SetCell{gray!50} & \\
A_A \succ_B C_C & \SetCell{gray!50} & \SetCell{gray!50} & \\
\end{tblr}
\end{frame}
\end{document}
编辑(1): 现在第 2 至第 4 列具有相同的宽度(和高度)。
编辑(2):
如果您使用 Overleaf,则需要自己加载/安装软件包tabularrray
和ninecolors
(这是 要求的taabularray
)。由于我不熟悉 Overleaf,我无法建议您如何执行此操作,但他们的支持非常友好,并且他们很乐意为您提供帮助。
另外,您不需要adjustbox
在第二行中使用包 if 作为数学表达式,而是使用@Mico 答案中的建议:
\documentclass{beamer}
\usepackage{cancel}
\usepackage{xcolor}
\usepackage{tabularray} % tested with version 2021P
\begin{document}
\begin{frame}
\frametitle{Title}
\begin{tblr}{colspec={Q[r,$] *3{X[c]}}, % or Q[r,mode=math]
hline{2-Z}={2-Z}{solid},
vline{2-Z}={2-Z}{solid},
row{2-Z} = {ht=4ex}
}
& aaaaaaaaaa & aaaaaaaaa & aaaaaaaaaaaaa \\
A_A \prec_B C_C & & & \\
A_A \mathrel{\scriptstyle\cancel{\overset{\prec}{\underset{\succ}{\approx}}}_B} C_C % adopted from @Mico suggestion
& \SetCell{gray!50} & & \\
A_A=C_C & \SetCell{gray!50} & \SetCell{gray!50} & \\
A_A \succ_B C_C & \SetCell{gray!50} & \SetCell{gray!50} & \\
\end{tblr}
\end{frame}
\end{document}
附录: 关于您的评论:
- 如果你想在现有的行下添加一些(完整的)行,那么只需写下来,就像我在下面的 MWE 中所做的那样(我不知道这一行的内容是什么)
- 如果您只希望特定单元格有多行内容,则可以将此文本添加到该单元格:
- 如果文本足够长,它将
X
自动将列类型分成两行,例如new text aaaaaaaaa
- 如果它太短,那么你需要手动将它断开,例如
new\\ aaaaaaaaa
- 如果文本足够长,它将
\documentclass{beamer}
\usepackage{cancel}
\usepackage{xcolor}
\usepackage{tabularray} % tested with version 2021P
\begin{document}
\begin{frame}
\frametitle{Title}
\begin{tblr}{colspec={Q[r,$] *3{X[c,b]}}, % or Q[r,mode=math]
hline{2-Z}={2-Z}{solid},
vline{2-Z}={2-Z}{solid},
row{2-Z} = {ht=4ex}
}
& aaaaaaaaaa & new text
aaaaaaaaa
& aaaaaaaaaaaaa \\
A_A \prec_B C_C & & & \\
A_A \mathrel{\scriptstyle\cancel{\overset{\prec}{\underset{\succ}{\approx}}}_B} C_C % adopted from @Mico suggestion
& \SetCell{gray!50} & & \\
A_A=C_C & \SetCell{gray!50} & \SetCell{gray!50} & \\
A_A \succ_B C_C & \SetCell{gray!50} & \SetCell{gray!50} & \\
A_A \nprec_B C_C & \SetCell{gray!50} & \SetCell{gray!50} & \SetCell{gray!50} \\
\end{tblr}
\end{frame}
我使用最新的 MiKTEX 程序测试了所有示例。编译没有警告或错误。如果您使用 Overleaf(正如我从您对其他答案的评论中得出的结论),那么您可能会遇到编译问题。在这种情况下,请联系他们的支持团队并寻求帮助。
我允许自己在你的问题中添加一个背面标签,以便引起他们的注意。