You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在LaTeX中实现表格内容的垂直与水平居中?

解决LaTeX表格内容垂直+水平居中的几种实用方法

方法1:用array包定义自定义居中列格式

默认tabular的l/c/r列格式仅实现水平居中,垂直方向是基线对齐。通过array包可直接定义兼顾垂直+水平居中的列格式:

\usepackage{array}
% 固定宽度的居中列:m代表垂直居中,配合\centering实现水平居中
\newcolumntype{C}{>{\centering\arraybackslash}m{3cm}}
% 自适应页面宽度的居中列(3列均分宽度)
\newcolumntype{M}{>{\centering\arraybackslash}m{\dimexpr(\linewidth-6\tabcolsep)/3\relax}}

使用示例:

\begin{table}[htbp]
  \centering
  \caption{垂直水平居中的基础表格}
  \begin{tabular}{CCC}
    \hline
    第一列标题 & 第二列标题 & 第三列标题 \\
    \hline
    短内容 & 中等长度内容 & 包含换行的\\多行内容 \\
    \hline
    测试单元格 & 更长的文本用来验证垂直居中 & 末尾单元格 \\
    \hline
  \end{tabular}
\end{table}

方法2:结合tabularx+makecell处理自适应宽度与复杂内容

如果需要表格自适应页面宽度,同时处理多行标题或单元格内容,可搭配tabularx和makecell包:

\usepackage{tabularx}
\usepackage{makecell}
% 设置makecell默认内容垂直+水平居中
\renewcommand\cellalign{cc}

使用示例:

\begin{table}[htbp]
  \centering
  \caption{自适应宽度的居中表格}
  \begin{tabularx}{\linewidth}{XXX}
    \hline
    \makecell{第一列\\多行标题} & 第二列标题 & \makecell{第三列\\标题} \\
    \hline
    普通内容 & \makecell{这里是\\多行内容} & 测试垂直居中效果 \\
    \hline
  \end{tabularx}
\end{table}

方法3:搭配booktabs实现专业美观的居中表格

如果追求更简洁专业的表格样式,booktabs的横线搭配居中列格式,视觉效果更清爽:

\usepackage{array}
\usepackage{booktabs}
\newcolumntype{C}{>{\centering\arraybackslash}m{3cm}}

使用示例:

\begin{table}[htbp]
  \centering
  \caption{专业风格的居中表格}
  \begin{tabular}{CCC}
    \toprule
    列1 & 列2 & 列3 \\
    \midrule
    短文本 & 多行\\文本 & 较长内容验证垂直居中 \\
    \midrule
    测试行 & 另一个多行\\单元格 & 末尾内容 \\
    \bottomrule
  \end{tabular}
\end{table}

关键注意点

  • 若你原本用的是p{宽度}列格式,直接替换成m{宽度}即可实现垂直居中,再加上\centering就完成水平居中
  • 无固定宽度需求时,用>{ \centering\arraybackslash }m{...}组合即可实现双居中
  • 表格内有图片时,可通过\vcenter{\hbox{图片代码}}或adjustbox包调整图片的垂直对齐

内容的提问来源于stack exchange,提问作者Ali Alzahrani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 02:57:15