\begin{table}[!ht]
\caption{Parameter values}\label{tab:parametervalues}
\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}lllllllllllll@{}}
\toprule
$p_{t}$ &21 &22 &20 &15 &10 &8 &5 &10 &18 &10 &14 &18\\
\midrule
$c_{t}$ &5 &13 &10 &10 &10 &10 &10 &10 &10 &10 &10 &10\\
$h_{t}$ &10 &5 &5 &5 &5 &5 &5 &5 &5 &5 &5 &5 \\
$s_{t}$ &100 &100 &100 &100 &100 &100 &100 &100 &100 &100 &100 &100\\
$d_{t}$ &30 &45 &50 &55 &45 &55 &90 &80 &90 &65 &80 &70 \\
\bottomrule
\end{tabular*}
\end{table}
该例子中的 llllll 表示左对齐,可以改为 c 居中,r 右对齐。显示效果:
- 与单栏不同的是将
table
改为table*
1、方法使用 tabular*, \hzise 或 \textwidth, 然后加上一些奇怪的符号。2、单栏\begin{table}[!ht]\caption{Parameter values}\label{tab:parametervalues}\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}lllllllllllll@{}}\toprule$p_{t}$ &21 &22 &20 &15 &
\begin{table}[!ht]
\caption{Parameter values}\label{tab:parametervalues}
\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}lllllllllllll@{}}
\top...
\begin{table}[!ht]
\caption{Parameter values}\label{tab:parametervalues}
\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}lllllllllllll@{}}
\toprule
$p_{t}$ &21 &22 &20 &15 &10 &
目标: 调整表格宽度, 效果为”按页面宽度调整表格”.
命令: \setlength{\tabcolsep}{7mm}{XXXX}
实现代码:\begin{center}
\textbf{Table 2}~~Improved table.\\
\setlength{\tabcolsep}{7mm}{
\begi
解决
Latex解决
表格过宽问题,自适应调整
宽度
最近正在写论文,然后发现实验结果
表格宽度溢出了,所以查找方案后,终于解决了问题。并写下这篇博客,希望能帮助到遇到同样问题的人
\hsize
是TeX中定义的长度,是一种叫做水平盒子的长度,它的主要作用是告诉TeX系统什么时候换行。所以大部分时候和\textwidth是一致的,但是在分栏状况下,\hsize只是栏的
宽度
\textwidth
是
LaTeX中定义的长度,等效于\hsize,并且是固定不变的,可以理解为一行文字的
宽度。
在 LaTeX 中,要让表格变宽可以采用如下两种方式:
1. 使用 tabularx 宏包。tabularx 宏包提供了一个 X 列格式,可以自动调整列宽并保证整个表格的宽度与所给定的宽度相同。使用 tabularx 宏包的方法如下:
\usepackage{tabularx}
\begin{tabularx}{\textwidth}{X|X|X}
第一列 & 第二列 & 第三列\\
\end{tabularx}
其中,\textwidth 参数表示表格的宽度为正文宽度,X 列格式表示自动调整列宽,竖线符号“|”表示表格列与列之间的竖线。
2. 将列格式设置为 p{width}。p 列格式可以指定列宽,使得指定列的宽度与所给定的宽度相同。使用 p 列格式的方法如下:
\begin{tabular}{p{0.3\textwidth}|p{0.3\textwidth}|p{0.3\textwidth}}
第一列 & 第二列 & 第三列\\
\end{tabular}
其中,p{width} 参数表示指定列的宽度为参数 width 所确定的宽度,竖线符号“|”表示表格列与列之间的竖线。
在使用以上两种方法时,为了使表格更美观,还可以采用以下两种常用方式:
1. 使用booktabs宏包。booktabs宏包提供了三种线条命令:\toprule、\midrule、\bottomrule,分别用于生成表格的顶部、中部和底部线条。使用 booktabs 宏包可以让表格看起来更加美观。使用方法如下:
\usepackage{booktabs}
\begin{tabularx}{\textwidth}{XXX}
\toprule
第一列 & 第二列 & 第三列\\
\midrule
第一行内容 & 第二行内容 & 第三行内容\\
\bottomrule
\end{tabularx}
2. 采用multirow宏包。通过使用 multirow 宏包可以将表格中的多行合并为一行,使表格看起来更加紧凑。使用方法如下:
\usepackage{multirow}
\begin{tabular}{|c|c|c|}
\hline
\multirow{2}{*}{第一列} & \multicolumn{2}{|c|}{第二列和第三列} \\
\cline{2-3}
& 第二列内容 & 第三列内容 \\
\hline
第一行内容 & & \\
\hline
第二行内容 & & \\
\hline
\end{tabular}
以上两种常用方式的使用方法可以根据具体需求进行调整,使得表格更加美观、易读、易理解。