具体的表格代码该怎么写?

具体的表格代码该怎么写?

在此处输入图片描述

我想为附图中的表格编写表格代码。我试过了,但无法获取此表格。

    \begin{tabular}{|llllllll|}
\hline

A & \multicolumn{7}{|l}{B} \\

\hline

&\multicolumn{3}{|l|}{C} & \multicolumn{2}{l|}{D} & \multicolumn{2}{l}{E}\\

\hline

&\multicolumn{1}{|l|}{F}& \multicolumn{1}{l|}{G} & \multicolumn{1}{l|}{H} & \multicolumn{1}{l|}{I} & \multicolumn{1}{l|}{J} & \multicolumn{1}{l|}{K}& \multicolumn{1}{l}{L}\\

\hline
M &&&&&&&\\

\hline

\end{tabular}

答案1

以下是我必须做出的一些工作假设:

  • 八列应等宽
  • 表格应该跨越文本块的整个宽度
  • 左栏内容应左对齐
  • 第 2 至第 8 列上方标题单元格中的材料应居中
  • 第 2 至第 8 列数据单元格中的材料应左对齐
  • 所有单元格(包括所有标题单元格)都应启用自动换行。

如果这些假设是正确的,那么下面的代码应该会引起您的兴趣。这里展示的两种解决方案都基于该tabularx包,并且都满足上述标准。第一种解决方案使用“传统”布局,带有大量水平和垂直条。第二种解决方案追求更开放的“外观”,完全不使用垂直条,并使用较少但间距适当的水平线。

在此处输入图片描述

\documentclass{article}
\usepackage{tabularx,ragged2e,booktabs}
\newcolumntype{C}{>{\Centering\arraybackslash}X}
\newcolumntype{L}{>{\RaggedRight\arraybackslash}X}

\newcommand\mC[1]{\multicolumn{1}{C|}{#1}} % handy shortcut macro
\begin{document}

\setlength\extrarowheight{2pt}
\noindent
\begin{tabularx}{\textwidth}{|*{8}{L|}}
\hline
& \multicolumn{7}{c|}{B}\\
\cline{2-8}
A & \multicolumn{3}{c|}{C} & \multicolumn{2}{c|}{D} & \multicolumn{2}{c|}{E} \\
\cline{2-8}
& \mC{F} & \mC{G} & \mC{H} & \mC{I} & \mC{J} & \mC{K} & \mC{L} \\
\hline
M & & & & & & & \\
\hline
N & & & & & & & \\
\hline
\end{tabularx}

\renewcommand\mC[1]{\multicolumn{1}{C}{#1}}
\setlength\extrarowheight{0pt}
\bigskip\noindent
\begin{tabularx}{\textwidth}{*{8}{L}}
\toprule
& \multicolumn{7}{c}{B}\\
\cmidrule(l){2-8}
A & \multicolumn{3}{c}{C} & \multicolumn{2}{c}{D} & \multicolumn{2}{c}{E} \\
\cmidrule(lr){2-4} \cmidrule(lr){5-6} \cmidrule(l){7-8}
& \mC{F} & \mC{G} & \mC{H} & \mC{I} & \mC{J} & \mC{K} & \mC{L} \\
\midrule
M & & & & & & & \\
N & & & & & & & \\
\bottomrule
\end{tabularx}
\end{document}

答案2

在下面的 MWE 中,我删除了多余的\multicolumn{1}命令,用 替换了两个\hlines ,在需要的地方\cline添加了,并用列类型(水平居中)替换了 列类型。|lc

\documentclass{article}
\begin{document}

\begin{tabular}{|c|c|c|c|c|c|c|c|}
\hline
 & \multicolumn{7}{|c|}{B} \\
\cline{2-8}
A & \multicolumn{3}{|c|}{C} & \multicolumn{2}{c|}{D} & \multicolumn{2}{c|}{E}\\
\cline{2-8}
& F & G & H & I & J & K & L\\
\hline
M &&&&&&&\\
\hline
\end{tabular}

\end{document} 

在此处输入图片描述

根据表格的实际内容,您可以考虑完全删除垂直线并\hline用包中的规则替换booktabs

相关内容