使用tabularray制作LaTeX表格仅显示前两行问题求助
问题原因与修正方案
你的问题核心是错误使用了跨单元格合并:你给第二行的所有单元格都加了\SetCell[r=3]{},强制每个单元格跨3行显示。但你的表格总共只有4行(表头行+3个数据行),第二行的单元格跨3行后直接占据了第2、3、4行的全部空间,后面两行的内容自然被覆盖,完全显示不出来。另外你同时用了tabularray的hlines{}选项和手动\hline,属于重复设置,也会干扰排版逻辑。
修正后的代码
如果你的需求是每行展示一张图片和对应的三个数值,完全不需要跨单元格合并,直接按正常表格结构编写即可:
\usepackage{tabularray} \usepackage{graphicx} \begin{tblr}{ colspec={cccc}, % 四列全部居中对齐 hlines, % 显示所有水平线 vlines, % 显示所有垂直线 valign=m, % 单元格内容垂直居中(确保图片和文字对齐) } & Dog & Car & Bird \\ \includegraphics[scale=0.075]{Images/Dog/dog0.png} & 9.9878e-01 & 1.184e-03 & 3.4918e-05 \\ \includegraphics[scale=0.075]{Images/Car/car0.png} & 1.9827e-06 & 1.000e+00 & 1.2906e-06 \\ \includegraphics[scale=0.075]{Images/Bird/bird0.png} & 2.5124e-05 & 1.5071e-05 & 9.9996e-01 \\ \end{tblr}
关键说明
- 移除不必要的跨单元格设置:
\SetCell[r=3]{}是用来让单个单元格跨越多行的,你的场景里每行都是独立数据,完全不需要这个设置。 - 统一用tabularray语法控制格式:通过
colspec设置列对齐方式,hlines/vlines控制表格线,避免手动写\hline导致的格式冲突。 - 优化垂直对齐:
valign=m可以让图片和文字在单元格内垂直居中,排版更美观。
内容的提问来源于stack exchange,提问作者henry Chan
相关产品推荐
相关产品推荐

