如何解决LaTeX表格中内容溢出边界的问题
LaTeX表格溢出问题修复方案
你的表格因标题换行不合理、嵌套表格导致宽度失控、列布局适配性差出现溢出,以下是修复后的代码及说明:
\usepackage{tabularx} \usepackage{siunitx} % 用于数值小数点对齐(可选优化项) \begin{table}[!htbp] \centering \caption{输入参数} \vspace{1pt} % 用tabularx自动分配列宽,适配文本宽度 \begin{tabularx}{\textwidth}{|Xcccc|Xcccc|Xcccc|} \hline \multicolumn{12}{|l|}{Mn、Mw、PDI和X的结果表 \hfill 操作温度:T = 100$^{\circ}$C} \\ \hline\hline \multicolumn{4}{|l|}{确定性模拟\\单体/溶剂 = 60/40 v/v\\引发剂浓度 = 5v\\模拟时间:t = 5分钟} & \multicolumn{4}{l|}{随机模拟\\单体/溶剂 = 60/40 v/v\\引发剂浓度 = 5v\\模拟时间:t =5分钟} & \multicolumn{4}{l|}{实验结果\\单体/溶剂 = 60/40 v/v\\引发剂浓度 = 5v\\模拟时间:t = 5分钟} \\ \hline Mn & Mw & PDI & X & Mn & Mw & PDI & X & Mn & Mw & PDI & X \\ \hline % 若用siunitx,可将列类型改为S实现小数点对齐,示例:|XSSSS|XSSSS|XSSSS| 457.44 & 810.72 & 1.61 & 0.61 & 339.15 & 574.16 & 1.51 & 0.55 & 6768 & 13607 & 1.57 & 0.091 \\ \hline \end{tabularx} \end{table}
核心修改点:
- 替换
tabular*为tabularx,借助X列自动分配剩余宽度,避免手动填充导致的宽度溢出。 - 简化标题行逻辑,用
\hfill让温度信息合理右对齐,同时补全标题行的完整边框。 - 移除嵌套的
tabular,直接用\\实现多行文本,减少层级复杂度,避免宽度计算错误。 - 统一列边框设置,确保表格边框完整对称。
- 可选优化:用
siunitx的S列类型替代c,实现数值小数点对齐,提升表格可读性。
若需进一步压缩宽度,可将\textwidth改为0.9\textwidth,再配合\centering居中显示。
内容的提问来源于stack exchange,提问作者teddiclax
相关产品推荐
相关产品推荐

