如何增加表格中第一行的行高并减少第一列的列宽以实现我想要的图片效果?

如何增加表格中第一行的行高并减少第一列的列宽以实现我想要的图片效果?

我想要制作如下的表格。

\documentclass{article}
\usepackage[left=4cm,right=3cm,top=4cm,bottom=3cm]{geometry}
\usepackage{amsmath}
\usepackage{slashbox}
\begin{document}
    \begin{table}[h!]
        \centering
        \caption{$(a_1,b_1)+(a_2,b_2)\in \boldsymbol{\cdot}$}
        \begin{tabular}{|c|c|c|c|c|c|}
            \hline
            \backslashbox{\tabular{@{}l@{}}$(a_1,b_1)\in\boldsymbol{\cdot} $\endtabular}{$(a_2,b_2)\in\boldsymbol{\cdot}$}&$\{(0,0)\}$&$\mathcal{A}_1$&$\mathcal{A}_2$&$\mathcal{A}_3$&$\mathcal{A}_4$\\
            \hline
            $\{(0,0)\}$&$\{(0,0)\}$&$\mathcal{A}_1$&$\mathcal{A}_2$&$\mathcal{A}_3$&$\mathcal{A}_4$\\
            \hline
            $\mathcal{A}_1$&$\mathcal{A}_1$&$\{(0,0)\},\mathcal{A}_4$&$\mathcal{A}_3$&$\mathcal{A}_2$&$\mathcal{A}_1$\\
            \hline
            $\mathcal{A}_2$&$\mathcal{A}_2$&$\mathcal{A}_3$&$\{(0,0)\},\mathcal{A}_4$&$\mathcal{A}_1$&$\mathcal{A}_2$\\
            \hline
            $\mathcal{A}_3$&$\mathcal{A}_3$&$\mathcal{A}_2$&$\mathcal{A}_1$&$\{(0,0)\},\mathcal{A}_4$&$\mathcal{A}_3$\\
            \hline
            $\mathcal{A}_4$&$\mathcal{A}_4$&$\mathcal{A}_1$&$\mathcal{A}_2$&$\mathcal{A}_3$&$\{(0,0)\},\mathcal{A}_4$\\
            \hline
        \end{tabular}
        \label{tabelbukti15}
    \end{table}
\end{document}

结果是

在此处输入图片描述

现在,我想增加第一行的行高并减少第一列的列宽,如下图所示: 在此处输入图片描述

我曾尝试使用此代码

\documentclass{article}
\usepackage[left=4cm,right=3cm,top=4cm,bottom=3cm]{geometry}
\usepackage{amsmath}
\usepackage{slashbox}
\begin{document}
    \begin{table}[h!]
        \centering
        \caption{$(a_1,b_1)+(a_2,b_2)\in \boldsymbol{\cdot}$}
        \begin{tabular}{|p{3cm}|c|c|c|c|c|}
            \hline
            \backslashbox{\tabular{@{}l@{}}$(a_1,b_1)\in\boldsymbol{\cdot} $\endtabular}{$(a_2,b_2)\in\boldsymbol{\cdot}$}&$\{(0,0)\}$&$\mathcal{A}_1$&$\mathcal{A}_2$&$\mathcal{A}_3$&$\mathcal{A}_4$\\[1cm]
            \hline
            $\{(0,0)\}$&$\{(0,0)\}$&$\mathcal{A}_1$&$\mathcal{A}_2$&$\mathcal{A}_3$&$\mathcal{A}_4$\\
            \hline
            $\mathcal{A}_1$&$\mathcal{A}_1$&$\{(0,0)\},\mathcal{A}_4$&$\mathcal{A}_3$&$\mathcal{A}_2$&$\mathcal{A}_1$\\
            \hline
            $\mathcal{A}_2$&$\mathcal{A}_2$&$\mathcal{A}_3$&$\{(0,0)\},\mathcal{A}_4$&$\mathcal{A}_1$&$\mathcal{A}_2$\\
            \hline
            $\mathcal{A}_3$&$\mathcal{A}_3$&$\mathcal{A}_2$&$\mathcal{A}_1$&$\{(0,0)\},\mathcal{A}_4$&$\mathcal{A}_3$\\
            \hline
            $\mathcal{A}_4$&$\mathcal{A}_4$&$\mathcal{A}_1$&$\mathcal{A}_2$&$\mathcal{A}_3$&$\{(0,0)\},\mathcal{A}_4$\\
            \hline
        \end{tabular}
        \label{tabelbukti15}
    \end{table}
\end{document}

但结果并不像预期的那样。

在此处输入图片描述

如何增加表格中第一行的行高并减少第一列的列宽以实现我想要的图片效果?

答案1

这是一个带有包的解决方案,它在其环境中nicematrix提供了内置命令。\diagbox{NiceTabular}{NiceArray}

\documentclass{article}
\usepackage[left=4cm,right=3cm,top=4cm,bottom=3cm]{geometry}
\usepackage{amsmath}
\usepackage{nicematrix}
\begin{document}
\begin{table}[h!]
\centering
\caption{$(a_1,b_1)+(a_2,b_2)\in \boldsymbol{\cdot}$}
\renewcommand{\arraystretch}{1.4}
\[\begin{NiceArray}{wc{3cm}ccccc}[hvlines]
    \rule[-4mm]{0pt}{1.1cm}
    \diagbox{(a_1,b_1)\in\boldsymbol{\cdot}}{(a_2,b_2)\in\boldsymbol{\cdot}}&\{(0,0)\}&\mathcal{A}_1&\mathcal{A}_2&\mathcal{A}_3&\mathcal{A}_4\\
    \{(0,0)\}&\{(0,0)\}&\mathcal{A}_1&\mathcal{A}_2&\mathcal{A}_3&\mathcal{A}_4\\
    \mathcal{A}_1&\mathcal{A}_1&\{(0,0)\},\mathcal{A}_4&\mathcal{A}_3&\mathcal{A}_2&\mathcal{A}_1\\
    \mathcal{A}_2&\mathcal{A}_2&\mathcal{A}_3&\{(0,0)\},\mathcal{A}_4&\mathcal{A}_1&\mathcal{A}_2\\
    \mathcal{A}_3&\mathcal{A}_3&\mathcal{A}_2&\mathcal{A}_1&\{(0,0)\},\mathcal{A}_4&\mathcal{A}_3\\
    \mathcal{A}_4&\mathcal{A}_4&\mathcal{A}_1&\mathcal{A}_2&\mathcal{A}_3&\{(0,0)\},\mathcal{A}_4\\
\end{NiceArray}\]
\label{tabelbukti15}
\end{table}
\end{document}

您需要多次编译(因为niceamtrix使用 PGF/Tikz 节点)。

上述代码的输出

答案2

我不会使用slashbox,相反,我宁愿重新设计你的表格,如下所示:

\documentclass{article}
\usepackage[hmargin={4cm,3cm}, vmargin={4cm,3cm}]{geometry}
\usepackage{amsmath}
\usepackage[table]{xcolor}

\begin{document}
    \begin{table}[h!]
\caption{$(a_1,b_1)+(a_2,b_2)\in \boldsymbol{\cdot}$}
        \label{tabelbukti15}
    \centering
    \renewcommand\arraystretch{1.5}
    \vskip-\abovedisplayskip
\[
\begin{array}{|*{6}{c|}}
    \hline
    & \multicolumn{5}{c|}{(a_2,b_2)\in\bullet}   \\
    \cline{2-6}
(a_2,b_2)\in\bullet
    &   \{(0,0)\}
        &   \mathcal{A}_1
            &   \mathcal{A}_2
                &   \mathcal{A}_3
                    &   \mathcal{A}_4           \\
    \hline
\{(0,0)\}
    &   \cellcolor{gray!30}{\{(0,0)\}}
        &   \mathcal{A}_1
            &   \mathcal{A}_2
                &   \mathcal{A}_3
                    &   \mathcal{A}_4           \\
            \hline
\mathcal{A}_1
    &   \mathcal{A}_1
        &   \cellcolor{gray!30}{\{(0,0)\},\mathcal{A}_4}
            &   \mathcal{A}_3
                &   \mathcal{A}_2
                    &   \mathcal{A}_1           \\
    \hline
\mathcal{A}_2
    &   \mathcal{A}_2
        &   \mathcal{A}_3
            &   \cellcolor{gray!30}{\{(0,0)\},\mathcal{A}_4}
                &   \mathcal{A}_1
                    &   \mathcal{A}_2           \\
    \hline
\mathcal{A}_3
    &   \mathcal{A}_3
        &   \mathcal{A}_2
            &   \mathcal{A}_1
                &   \cellcolor{gray!30}{\{(0,0)\},\mathcal{A}_4}
                    &   \mathcal{A}_3           \\
    \hline
\mathcal{A}_4
    &   \mathcal{A}_4
        &   \mathcal{A}_1
            &   \mathcal{A}_2
                &   \mathcal{A}_3
                    &   \cellcolor{gray!30}{\{(0,0)\},\mathcal{A}_4}\\

    \hline
\end{array}
\]
    \end{table}
\end{document}

在此处输入图片描述

相关内容