不均匀表格中多行文本垂直居中

不均匀表格中多行文本垂直居中

\multirow在给定的工作代码中,我想将文本置于单元格(“预测条件”,见图片)的中央。但是当我增加其他单元格(“真阳性”等等,见图片)的大小,\parbox并为单元格添加换行符时multirow,文本(“预测条件”)的垂直居中不起作用。有人可以提示我错误是什么吗,我没看到。

\begin{tabular}{cc|c|c|}    
    \cline{3-4}
& & \multicolumn{2}{c|}{True condition} \\ 
\cline{2-4}
& \multicolumn{1}{|c|}{Total population} & Condition positive & Condition negative \\
 \cline{1-4}
\multicolumn{1}{|c}{\multirow{2}{*}{Predicted condition}} &\multicolumn{1}{ |c| }{\parbox{3cm}{Predicted condition\\
    positive}} & \parbox[c][2cm]{3cm}{True\\ positive} & \parbox[c][2cm]{3cm}{False\\ positive}\\ 
\cline{2-4}
\multicolumn{1}{|c}{}& \multicolumn{1}{ |c| }{\parbox{3cm}{Predicted condition\\
    negative}} & \parbox[c][2cm]{3cm}{False\\ negative} & \parbox[c][2cm]{3cm}{False\\ positive}\\ 
\cline{1-4}
\end{tabular} 
\end{table}

示例表

答案1

下面是一个更简单的代码,使用了makecell包。关键点是 中的行数\multirow不表示 的数量rows,而是 的数量lines(或等价物)。

\documentclass{article}
\usepackage{array}
\usepackage{multirow, makecell}
\newcommand\mystrut{\rule[-0.9cm]{0pt}{2cm}}

\begin{document}

\begin{table}
  \begin{tabular}{cc|c|c|}
    \cline{3-4}
    & & \multicolumn{2}{c|}{True condition} \\
    \cline{2-4}
      & \multicolumn{1}{|c|}{Total population} \\
    \cline{1-4}
    \multicolumn{1}{|c}{\multirowcell{6}[0.5ex]{Predicted condition}}
      & \multicolumn{1}{ |c| }{\mystrut\makecell[l]{Predicted condition \\ positive}} & \makecell[l]{True\\ positive} & \makecell[l]{False\\ positive}\\
    \cline{2-4}
    \multicolumn{1}{|c}{}& \multicolumn{1}{ |c| }{\mystrut\makecell[l]{Predicted condition\\
    negative}} & \makecell[l]{False\\ negative} & \makecell[l]{False\\ positive}\\
    \cline{1-4}
  \end{tabular}
\end{table}

\end{document} 

在此处输入图片描述

相关内容