我正在尝试“商业模式画布“-Overleaf 文档中 XeLaTeX 环境中的表格。但是,最后两行的单元格没有按指定方式排列(计划:图像 1;结果:图像 2),(带数字的单元格代表标题,空单元格用于内容)此外,我希望列组在填充内容时能够像图像 1 中那样均匀分布。
我是乳胶的绝对初学者。我做错了什么?
我用了tablesgenerator.com用于表格代码。
先感谢您!
% Please add the following required packages to your document preamble:
% \usepackage{multirow}
\begin{table}[]
\begin{tabular}{|c|c|c|c|c|c|}
\hline
\multicolumn{6}{|c|}{0} \\ \hline
1 & 2 & \multicolumn{2}{c|}{\multirow{4}{*}{3}} & 4 & 5 \\ \cline{1-2} \cline{5-6}
\multirow{3}{*}{} & & \multicolumn{2}{c|}{} & & \multirow{3}{*}{} \\ \cline{2-2} \cline{5-5}
& 6 & \multicolumn{2}{c|}{} & 7 & \\ \cline{2-2} \cline{5-5}
& & \multicolumn{2}{c|}{} & & \\ \hline
\multicolumn{3}{|c|}{8} & \multicolumn{3}{c|}{9} \\ \hline
\multicolumn{3}{|c|}{} & \multicolumn{3}{c|}{} \\ \hline
\end{tabular}
\end{table}
答案1
所用的力量tablesgenerator
不足以编写您想要的表格,因此最后两行的列会折叠。请尝试以下操作:
\documentclass{article}
\usepackage{array, makecell}
\begin{document}
\begin{table}[ht]
\setcellgapes{1em}
\makegapedcells
\begin{tabular}{ |*{6}{w{c}{2em}|} }
\hline
\multicolumn{6}{|c|}{0} \\
\hline
1 & 2 & \multicolumn{2}{w{c}{\dimexpr4em+2\tabcolsep+\arrayrulewidth}|}{3}
& 4 & 5 \\
\hline
& & \multicolumn{2}{w{c}{\dimexpr4em+2\tabcolsep+\arrayrulewidth}|}{}
& & \\
\cline{2-2} \cline{5-5}
& 6 & \multicolumn{2}{w{c}{\dimexpr4em+2\tabcolsep+\arrayrulewidth}|}{}
& 7 & \\
\cline{2-2} \cline{5-5}
& & \multicolumn{2}{w{c}{\dimexpr4em+2\tabcolsep+\arrayrulewidth}|}{}
& & \\
\hline
\multicolumn{3}{|w{c}{\dimexpr6em+4\tabcolsep+2\arrayrulewidth}|}{8}
& \multicolumn{3}{c|}{9} \\
\hline
\multicolumn{3}{|c|}{} & \multicolumn{3}{c|}{} \\
\hline
\end{tabular}
\end{table}
\end{document}
答案2
{NiceTabular}
这是使用 来创建该表格的方法。在该环境中,与经典的nicematrix
类似,您可以使用命令 垂直和水平合并单元格。键绘制所有规则,块除外。{tabular}
array
\Block
hvlines
由于nicematrix
在数组的单元格、行和列下创建了 PGF/Tikz 节点,因此可以使用这些节点用 Tikz 绘制您想要的任何规则。
\CodeAfter
在这里,我使用 Tikz(使用环境中的指令)在最后两行的中间绘制了垂直线。
\documentclass{article}
\usepackage{nicematrix,tikz}
\begin{document}
\begin{NiceTabular}{ccw{c}{1cm}cc}[hvlines]
\Block{1-*}{0} \\
1 & 2 & \Block{4-1}{3} & 4 & 5 \\
\Block{3-1}{} & & & & \Block{3-1}{} \\
& 6 & & 7 & \\
\\
\Block{1-*}{} % to prevent the vertical rules in that row
& 8 & & 9 \\
\Block{1-*}{} % to prevent the vertical rules in that row
\CodeAfter
\tikz \draw (6-|3.5) -- (8-|3.5) ;
\end{NiceTabular}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。