我怎样才能在 Latex 中创建这个表格

我怎样才能在 Latex 中创建这个表格

我是 Latex 的新手,我试图复制使用 Microsoft Word 创建的这个表格:

在此处输入图片描述

但我不能拥有相同的结构。

答案1

首先,根据您屏幕截图的外观判断,我认为第 5 列应占据可用水平空间的一半,第 1 列和第 4 列的宽度应为第 2 列和第 3 列的两倍。其次,您没有指定表格的整体宽度,因此我假设它应该占据文本块的整个宽度。第三,您也没有指定表格内的内容应如何组织;对于下面的示例,我假设应允许换行,并且每个单元格中的材料应排版为右对齐。(对于排版在窄列中的文本,不建议完全对齐。)

如果这些假设是正确的,那么以下代码可能会实现您想要实现的目标。它使用环境tabularx。观察如何指定五列的相对宽度:0.8333、0.4167、0.4167、0.8333 和 2.5000;这五个数字之和为 —— 类型的列总数X。还请注意,\hline绘制全宽水平规则,而\cline规则仅跨越宏参数中给出的列。

在此处输入图片描述

\documentclass{article}
\usepackage{tabularx,ragged2e}
\newcolumntype{L}{>{\RaggedRight\arraybackslash}X}
\begin{document}
\begin{table}[h]
\setlength\tabcolsep{3pt}      % default value: 6pt
\setlength\extrarowheight{2pt} % default value: 0pt
\begin{tabularx}{\textwidth}{|>{\hsize=0.8333\hsize}L|
                              >{\hsize=0.4167\hsize}L|
                              >{\hsize=0.4167\hsize}L|
                              >{\hsize=0.8333\hsize}L|
                              >{\hsize=2.5000\hsize}L|}
\hline
a & b & c & d & e \\
  &   &   &   &   \\
  &   &   &   &   \\
  &   &   &   &   \\
  &   &   &   &   \\
\hline
a & b & c & d & e \\
\hline
f & g & h & i & j \\
  &   &   &   &   \\
\cline{3-3} \cline{5-5}
k & l & m & n & p \\
\cline{3-3} \cline{5-5}
k & l & m & n & p \\
\cline{3-3} \cline{5-5}
k & l & m & n & p \\
\cline{3-3} \cline{5-5}
k & l & m & n & p \\
\hline
\end{tabularx}
\end{table}
\end{document}

答案2

像这样吗?

在此处输入图片描述

\documentclass[11pt,a4paper]{article}
\usepackage{multicol}
\usepackage{multirow}

\begin{document}
\begin{tabular}{|c|c|c|c|c|}
\hline 
 a   &   a & a   &  a  & a      \\
\hline
    &    &    &    &       \\   
\hline 
\multirow{5}{*}{     } & \multirow{5}{*}{     } &     & \multirow{5}{*}{     } &     \\
\hline 
  &  &  text  &  & text \\
\cline{3-3}   \cline{5-5}  
  &  &  text  &  & text \\
\cline{3-3}   \cline{5-5}
  &  &  text  &  & text \\
\cline{3-3}   \cline{5-5}  
  &  &  text  &  & text \\
\hline   

\end{tabular}
\end{document}

基本上,该\multirow命令允许您将多行合并为一行。同样,\multicol顺便说一下,该命令允许您将多列合并为一列。\cline{i-j}是绘制横跨指定列的水平线的命令,从第 i 列开始,到第 j 列结束。

相关内容