tabularx 具有多列和多行

tabularx 具有多列和多行

我需要一个这种格式的表格:

enter image description here

我需要使用 tabularx。我已经尝试了一些方法,但不起作用……我一直收到错误消息“!缺少数字,视为零。”

\documentclass{scrartcl}
\usepackage{tabularx}
\begin{document}

\begin{tabularx}{\textwidth}{ >{\centering\arraybackslash}p{1cm} | X | p{0.5cm} | >{\centering\arraybackslash}X | p{0.5cm}  > {\centering\arraybackslash}X | p{0.5cm} }
\multirow{2}{*}{\textbf{Code}} & \multicolumn{2}{c}{\multirow{2}{}{\textbf{Richtige Bewertung}}} & \multicolumn{4}{c}{\textbf{Falsche Bewertung}} \\ \cline{4-7}
& & \multicolumn{2}{c}{\textbf{False Negatives}} & \multicolumn{2}{c}{\textbf{False Positives}} \\ \hline\hline
$\boldsymbol{A_1}$ & \StrokeFive\StrokeFive\StrokeTwo (12) & & & & & \\ \hline
$\boldsymbol{A_2}$ & & & & & & \\ \hline
$\boldsymbol{B_1}$ & & & & & & \\ \hline
$\boldsymbol{B_2}$ & & & & & & \\ \hline
$\boldsymbol{C_1}$ & & & & & & \\ \hline
$\boldsymbol{C_2}$ & & & & & & \\ \hline
$\boldsymbol{D_1}$ & & & & & & \\ \hline
$\boldsymbol{D_2}$ & & & & & & \\
\end{tabularx}

\end{document}

有人能帮我吗?提前谢谢您。丹尼尔

答案1

|您忘记了表格声明中的 许多垂直线。

另外,您必须记住,如果您使用\multicolumn,您将重新定义列的外观,包括垂直条。在这种情况下,您必须重复定义垂直条。

接下来,您缺少一些重要的软件包,例如multirow,使\multirow命令正常工作。ifsym带有选项的软件包[misc]可以使命令正常\StrokeFive工作。

您应该考虑使用>{$}...<{$}魔法,以避免$在第一列重复插入。

我找不到该命令的包\boldsymbol。我用\mathbfwhich替换了它可能是相同的。

第一个例子:

\documentclass{scrartcl}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage[misc]{ifsym}        % for \StrokeFive

\begin{document}

\begin{tabularx}{\textwidth}{ |% <-- was missing!
  >{\centering\arraybackslash}p{1cm} | 
  X | 
  p{0.5cm} | 
  >{\centering\arraybackslash}X | 
  p{0.5cm}  | % <-- bar missing
  > {\centering\arraybackslash}X | 
  p{0.5cm} | % <--- bar missing
}
  \hline
  \textbf{Code}
  & \multicolumn{2}{c|}{\textbf{Richtige Bewertung}}
%  & \multicolumn{2}{c}{ \multirow{2}{}{\textbf{Richtige Bewertung}}}
  & \multicolumn{4}{c|}{\textbf{Falsche Bewertung}} \\ 
  \cline{4-7}
  & \multicolumn{2}{c|}{}
  & \multicolumn{2}{c|}{\textbf{False Negatives}} 
  & \multicolumn{2}{c|}{\textbf{False Positives}} \\ 
  \hline  %% in your example was only one line!
$\mathbf{A_1}$ & \StrokeFive\StrokeFive\StrokeTwo (12) & & & & & \\ \hline
$\mathbf{A_2}$ & & & & & & \\ \hline
$\mathbf{B_1}$ & & & & & & \\ \hline
$\mathbf{B_2}$ & & & & & & \\ \hline
$\mathbf{C_1}$ & & & & & & \\ \hline
$\mathbf{C_2}$ & & & & & & \\ \hline
$\mathbf{D_1}$ & & & & & & \\ \hline
$\mathbf{D_2}$ & & & & & & \\ \hline
\end{tabularx}

\end{document}

第二个例子,用来>{$}...<{$}节省输入:

\documentclass{scrartcl}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage[misc]{ifsym}        % for \StrokeFive

\begin{document}

\begin{tabularx}{\textwidth}{ |% <-- was missing!
  >{\centering\arraybackslash $}p{1cm} <{$} | % <---- added math mode
                                % magic here! 
  X | 
  p{0.5cm} | 
  >{\centering\arraybackslash}X | 
  p{0.5cm}  | % <-- bar missing
  > {\centering\arraybackslash}X | 
  p{0.5cm} | % <--- bar missing
}
  \hline
  \multicolumn{1}{|c}{\textbf{Code}} % \multicolumn gets rid of math
                                % mode here!
  & \multicolumn{2}{c|}{\textbf{Richtige Bewertung}}
%  & \multicolumn{2}{c}{ \multirow{2}{}{\textbf{Richtige Bewertung}}}
  & \multicolumn{4}{c|}{\textbf{Falsche Bewertung}} \\ 
  \cline{4-7}
  & \multicolumn{2}{c|}{}
  & \multicolumn{2}{c|}{\textbf{False Negatives}} 
  & \multicolumn{2}{c|}{\textbf{False Positives}} \\ 
  \hline %% in your example was only one line!
\mathbf{A_1} & \StrokeFive\StrokeFive\StrokeTwo (12) & & & & & \\ \hline
\mathbf{A_2} & & & & & & \\ \hline
\mathbf{B_1} & & & & & & \\ \hline
\mathbf{B_2} & & & & & & \\ \hline
\mathbf{C_1} & & & & & & \\ \hline
\mathbf{C_2} & & & & & & \\ \hline
\mathbf{D_1} & & & & & & \\ \hline
\mathbf{D_2} & & & & & & \\ \hline
\end{tabularx}

\end{document}

两个示例的结果:

enter image description here

相关内容