\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}