![我怎样才能在 Latex 中创建这个表格](https://linux22.com/image/342602/%E6%88%91%E6%80%8E%E6%A0%B7%E6%89%8D%E8%83%BD%E5%9C%A8%20Latex%20%E4%B8%AD%E5%88%9B%E5%BB%BA%E8%BF%99%E4%B8%AA%E8%A1%A8%E6%A0%BC.png)
答案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 列结束。