如何在LaTeX中实现表格第一列表头的垂直居中?
解决LaTeX longtable第一列表头垂直居中问题
你当前的代码存在两个核心问题,导致第一列表头无法垂直居中:
- 手动添加的
\\vspace{1.9cm}破坏了m列的垂直居中机制,强制将表头内容向下偏移; - 长度单位错误使用逗号(如
M{2,5cm}),不符合LaTeX语法规范,会干扰排版逻辑。
修正后的完整代码
\\documentclass{article} \\usepackage[utf8]{inputenc} \\usepackage{longtable} \\usepackage{multirow} \\usepackage{array} \\title{teste} \\begin{document} \\setlength{\\tabcolsep}{9pt} \\renewcommand{\\arraystretch}{1.8} % 调整此值控制表格行高,替代手动vspace \\newcolumntype{M}[1]{>{\\centering\\arraybackslash}m{#1}} \\begin{longtable}{|M{2.5cm}||M{1.3cm}|M{2.1cm}|M{3.1cm}|M{2.4cm}| } \\hline \\multicolumn{5}{|c|}{MODELS} \\\\ \\hline Nome & Tipo & Estimativa de Custo Anual & Requisitos Cumpridos & Último Update \\\\ \\hline \\endhead ABC & C & 9.999 & Sim & Não \\\\ \\hline \\end{longtable} \\end{document}
关键调整说明
- 修正长度格式:把所有长度中的逗号替换为点号(如
2,5cm改为2.5cm),这是LaTeX识别长度的标准语法; - 移除手动间距:删除
\\vspace{1.9cm},m列类型本身会自动让单元格内容垂直居中; - 调整整体行高:通过修改
\\arraystretch的值控制表格行高,数值越大行高越高,表头内容会自动在单元格内垂直居中。
内容的提问来源于stack exchange,提问作者Francis
相关产品推荐
相关产品推荐

