LaTeX表格同时使用multirow和multicolumn时如何去除多余竖线
问题原因
你当前的表格出现竖线截断的核心原因是:仅在a行对A/B/C三列做了合并声明,但b、c两行对应位置仍然保留了独立单元格的占位,表格渲染时会自动生成默认竖线,破坏了3×3合并单元格的完整性。
解决方法
- 补充导入
diagbox包:你代码中使用的\backslashbox命令由该包提供,缺失会导致编译报错。 - 在b、c两行的A/B/C列对应位置添加
\multicolumn{3}{c|}{}声明,将这两行的三列也做合并处理,清除多余竖线。
修改后完整可运行代码
\documentclass[a4paper]{article} \usepackage{diagbox} \usepackage{multirow} \usepackage{multicol} \begin{document} \begin{tabular}{|*{5}{c|}} \hline \backslashbox{1}{2} & A & B & C & D \\ \hline a & \multicolumn{3}{c|}{\multirow{3}{*}{P}} & x \\ \cline{1-1} \cline{5-5} b & \multicolumn{3}{c|}{} & y \\ \cline{1-1} \cline{5-5} c & \multicolumn{3}{c|}{} & z \\ \hline d & q & n & t & r \\ \hline e & l & m & s & p \\ \hline \end{tabular} \end{document}
编译后即可得到跨3行3列、无多余竖线、完整容纳内容P的大单元格,表格结构符合预期。
内容的提问来源于stack exchange,提问作者Taladris
相关产品推荐
相关产品推荐

