调整行高和单元格文本 - Latex

调整行高和单元格文本 - Latex

我正在尝试Latex像这样创建表格;

\begin{table}[h|]
  \begin{center}

    \begin{tabular}{cccc}
  
      & & \multicolumn{2}{c}{\large Actual Values} \\
      & & Positive (1) & Negative (0) \\\cline{3-4}
      {\rotatebox[origin=c]{90}{\large Values}} & Positive (1) & 
      \multicolumn{1}{|l|} {TP} & \multicolumn{1}{l|} {FP} \\\cline{3-4}  
      {\rotatebox[origin=c]{90}{\large Predicted    }} &  Negative (0) &  \multicolumn{1}{|l|}  {FN}  &  \multicolumn{1}{l|} {TN}  \\\cline{3-4}
    
    \end{tabular}

  \end{center}
  \caption[Confusion Matrix]{\small Confusion Matrix}
  \label{table: matrix}
\end{table}

但最终却是这样的;

矩阵图像

我这里有两个疑问。

如何使单元格文本居中对齐?

我尝试了不同的方法,但由于multicolumn,它无法调整中心的单元格文本。

我怎样才能将两行的高度调整为相同?

我真的不知道我该怎么做?

我是乳胶的新手,因此如果能提供任何帮助我将非常感激。

答案1

该包提供了负责垂直和水平居中的nicematrix命令 (都不需要)。\Blockmulticolumnmultirow

它还允许使用全局指令来扩展单元格。获得的代码非常简单且易于维护。

第一次需要编译两次。如果不更改表的设置,以后只需编译一次。

X

更新nicematrix v6.24

\documentclass[12pt,a4paper]{article}
\usepackage{nicematrix}

\begin{document}    
    
    \begin{table}
        \centering              
        \setlength{\tabcolsep}{0pt}
        \begin{NiceTabular}{c@{\enskip}c@{\enskip}wc{2.5cm}wc{2.5cm}}
                &               & \Block{1-2}{\large Actual Values}         \\[1ex]   
                &               & \Block{}{Positive (1)}    & Negative (0)  \\[1ex]
                \RowStyle[nb-rows=2]{\rule[-1.1cm]{0pt}{2.5cm}}% make the cells a square
                \Block{2-1}<\rotate\large >{Predicted Values}
                & Positive (1)  & \Block[hvlines]{2-2}{}TP  & FP    \\
                & Negative (0)  & FN                        & Tn    \\         
        \end{NiceTabular}
        \medskip
        \caption[Confusion Matrix]{\small Confusion Matrix}
        \label{table: matrix}
    \end{table}

\end{document}

相关内容