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

如何用xltabular设置表格列宽:第1列自适应,2-5列等宽

调整LaTeX表格列宽的方案

要实现第1列自适应最长文本宽度、第2-5列固定且宽度一致的需求,可按以下步骤修改代码:

  1. 修正包引用:补全所有usepackage前的反斜杠\(原代码遗漏)。
  2. 计算列宽:
    • 定义长度\colonewidth,用\settowidth获取第1列最长文本的自然宽度;
    • 基于表格总宽度(\mylen=\textheight)计算第2-5列的固定宽度\colwidth,确保4列宽度均等。
  3. 修改列格式:
    • 第1列采用p{\colonewidth},保留原悬挂缩进样式,内容会在该宽度内自动换行;
    • 第2-5列使用统一的p{\colwidth},搭配RaggedRight优化文本排版,避免溢出。

修改后的完整代码:

\documentclass{article}
\usepackage[letterpaper,margin=2.5cm]{geometry}
\usepackage{pdflscape}
\usepackage{xltabular} 
\usepackage{ragged2e}  
\usepackage{booktabs}
\usepackage{calc} % 用于计算列宽

newlength\mylen
setlength\mylen{\textheight}

% 计算列宽度
newlength\colonewidth
% 填入第1列最长的文本
\settowidth{\colonewidth}{xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx xxxxxxxxxxxxx xx'sxxxxxx xxx}
newlength\colwidth
% 计算第2-5列的固定宽度,减去第1列宽度和列间距
\setlength{\colwidth}{(\mylen - \colonewidth - 4\tabcolsep)/4}

\begin{document}

\begin{landscape}
% 修改列格式:第1列自适应最长文本,第2-5列固定相同宽度
\begin{xltabular}{\mylen}{@{} >{\RaggedRight\hangafter1\hangindent1em}p{\colonewidth} *{4}{>{\RaggedRight}p{\colwidth}} @{}}

\caption{xxxxxxxxx xxxxxxxxx xxxxx xxx xxxxx xxxxxxx}
\label{tab:my-table}\\
\toprule
\textbf{xxxxxxxxx} & \textbf{xxxx xxxxx} & \textbf{xxxx xxxxxx} & \textbf{xxxx xxxx xxxxxx} & \textbf{xxxxxx} \\
\midrule
\endfirsthead

\multicolumn{5}{@{}l}%
{Table \thetable, continued from previous page} \\[0.5ex]
\toprule
\textbf{xxxxxxxxx} & \textbf{xxxx xxxxx} & \textbf{xxxx xxxxxx} & \textbf{xxxx xxxx xxxxxx} & \textbf{xxxxxx} \\
\midrule
\endhead

\midrule
\multicolumn{5}{r@{}}{\footnotesize(cont'd on next page)}
\endfoot

\bottomrule
\endlastfoot

%% body of table
\multicolumn{5}{@{}l}{\textbf{xxxxxxxxxxx}} \\[0.25ex]
xxxxxxxxxx xxxxxxxxxx xxxx xxxxx xxxxxxxx xxxxxxxxxxxx xxxxxxxx xxxxxx xxxx & Individual & Day & 30 June 2000 & xxxxx \\
xxxxxxx xxxxxxxx xxxxxx xxxxxx xxxxxx xxxxx xxxxx xx & Individual & Day & 30 June 2000 & xxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx xxxxxx & Individual & Day & 30 June 2000 & xxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxx xxx & Organisation & Year & 2017 & xxxxxxxx xxxxxx xxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx xxxx & Organisation & Mon & 30 June 2000 & xxxxxxxx xxxxxxx xxxx xxxxx xxxxxxx \\

\addlinespace 
\multicolumn{5}{@{}l}{\textbf{xxxxxxxxxxxx}} \\[0.25ex]
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx xxxxx & Organisation & Mon & 1 July 2010 & xxxx xxxxx xxxx xxxxxxxxxx xxxxxxxx xxxxxxxxxxx \\
xxxxxx xxxxxx xxxxxxxxxx xxxxxxx & Organisation & Mon & 1 July 2010 & xxxx xxxx xxxxxx xxxxxxxxx xxxxxxxxx x xxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx \\
xxxxxxx xxxxxx xxxxxxx & Organisation & Year & 30 June 2000 & xxxx xxxxxx xxxxxxxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxx & Organisation & Year & 1999/2000 & xxxxx xxxxxxxx xxxxxx xxxxxx xxxxxxx xxxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx xx & Organisation & Year & 1999/2000 & xxxxx xxxxxxxx xxxxxx xxxxxx xxxxxxx xxxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxx & Organisation & xxxxxxx/xxx xxxxxxxx & 30 June 2000 & xxxx xxxxxx xxxxxxxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx & Organisation & xxxxxxx/xxx xxxxxxxx & 30 June 2000 & xxxx xxxxxx xxxxxxxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx x & Organisation & xxxxxxx/xxx xxxxxxxx & 30 June 2000 & xxxx xxxxxx xxxxxxxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxx & Geography & xxxxxxx/xxx xxxxxxxx & 30 June 2000 & xxxx xxxxxx xxxxxxxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxx & Geography & xxx/xx xxxxxxxxx xxxx & 30 June 2000 & xxxx xxxxxx xxxxxxxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxx & Geography & xxxxxxx xxxxxx & 2011 & xxxxxxxx \\
xxxxxxx xxxxxx xxx & Organisation & Quarter & February 2000 & xxxxx xxxxxxxx xxxxxx xxxxxx xxxxxxx xxxxxxxxx xxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxx & Organisation & Quarter & 2011/2012 Q3 & xxxxx xxxxxxxx xxxxxx xxxxxx xxxxxxx xx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxx & Organisation & Quarter & 2011/2012 Q3 & xxxxx xxxxxxxx xxxxxx xxxxxx xxxxxxx xx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxx & Organisation & Quarter & 2011/2012 Q3 & xxxxx xxxxxxxx xxxxxx xxxxxx xxxxxxx xx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxx & Organisation & Quarter & 2011/2012 Q3 & xxxxx xxxxxxxx xxxxxx xxxxxx xxxxxxx xx \\
xxxxxxx xxxxxx xxxx & Organisation & Quarter & 2011/2012 Q3 & xxxxx xxxxxxxx xxxxxx xxxxxx xxxxxxx xx \\
xxxxxxx xxxxxx xxxxxxxxxxxx & Organisation & Mon & 1 July 2010 & xxxx xxxx xxxxxx xxxxxxxxx xxxxxxxxx x xxxxxxx xxxxxxxxxx xxxxxxxxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxxxx & Organisation & Mon & 1 July 2010 & xxxx xxxx xxxxxx xxxxxxxxx xxxxxxxxx x xxxxxxx xxxxxxxxxx xxxxxxxxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xx & Organisation & Quarter & 2011/2012 Q4 & xxxx xxxx xxxxxx xxxxxxxxx xxxxxxxxx x xxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxx & Organisation & Quarter & 2011/2012 Q4 & xxxx xxxx xxxxxx xxxxxxxxx xxxxxxxxx x xxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxx & Organisation & Quarter & 2011/2012 Q4 & xxxx xxxx xxxxxx xxxxxxxxx xxxxxxxxx x xxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx xxx & Organisation & Day & 30 June 2000 & xxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx xx & Individual & Day & 30 June 2000 & xxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxx & Individual & xxxxxxx xxxxx xxx & 1999 & xxxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx xxxxxxxx & Individual & Year & 1999 & xxxxxx xxxx xxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxx xxx & Individual & Year & 1999 & xxxxxx xxxx xxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxx xxxxxxx & Individual & Year & 1999 & xxxxxx xxxx xxxxx \\
xxxxxxx xxxxxx xxxxxxxxx xxxxxx xxxxxxxxxx xxxxxxxxxxxxx xx'sxxxxxx xxx & Individual & Year & 1999 & xxxxxx xxxx xxxxx \\
%\hline
\end{xltabular}
\end{landscape}

\end{document}

说明

  • 需确保\settowidth中的文本是第1列实际最长的内容,若后续修改第1列文本,需同步更新此处;
  • calc包用于简化宽度计算,保证第2-5列宽度完全一致;
  • RaggedRight允许文本在必要时换行,避免超出列宽导致排版错乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 16:17:35