LaTex绘制表格控制宽度

有时我们需要控制某列的宽度,可以将其对齐方式参数从 l、c、r 改 为 p{宽度}。这时纵向对齐方式是居顶,t、c、b等参数失效。

\begin{table }[ htbp]
 \centering
\begin{tabular }{p{80 pt}p{80 pt}p{80 pt}}
 \toprule
操作系统 & 发行版 & 编辑器 \\
 \midrule
Windows & MikTeX & TexMakerX \\
 Unix/Linux & teTeX & Kile \\
Mac OS & MacTeX & TeXShop \\
 通用 & TeX Live & TeXworks \\
\ bottomrule
 \end{tabular}
\end{table}

LaTex绘制表格控制宽度_第1张图片

使用宽度控制参数之后,表格内容缺省居左对齐。我们可以用列前置 命令 >{} 配合 \centering、\raggedleft 命令来把横向对齐方式改成居中 或居右。列前置命令仅对紧邻其后的一列有效,其语法如下:

语法:>{命令}列参数

\begin{table }[ htbp]
 \centering
\begin{tabular }{p{80 pt}>{\centering}p{80 pt}>{\raggedleft\
arraybackslash }p{80 pt}}
 \toprule
操作系统 & 发行版 & 编辑器 \\
 \midrule
Windows & MikTeX & TexMakerX \\
 Unix/Linux & teTeX & Kile \\
Mac OS & MacTeX & TeXShop \\
 通用 & TeX Live & TeXworks \\
\ bottomrule
 \end{tabular}
\end{table}

LaTex绘制表格控制宽度_第2张图片

若要控制整个表格的宽度,可以使用 Carlisle 的 tabularx 宏包[2] 的同 名环境,其语法如下,其中 X 参数表示某列可以折行。

语法:{表格宽度}{横向对齐、分隔符、折行}

\begin{table }[ htbp]
 \centering
\begin{tabularx }{350 pt}{ lXlX}
 \toprule
李白 & 平林漠漠烟如织,寒山一带伤心碧。暝色入高楼,有人楼上愁。
 玉阶空伫立,宿鸟归飞急。何处是归程,长亭更短亭。&
泰戈尔 & 夏天的飞鸟,飞到我的窗前唱歌,又飞去了。
 秋天的黄叶,它们没有什么可唱,只叹息一声,飞落在那里。\\
\ bottomrule
 \end{tabularx }
\end{table}

LaTex绘制表格控制宽度_第3张图片

如果想把纵向对齐方式改为居中和居底,可以使用 Mittelbach 和 Carlisle 的 array 宏包[3],它提供了另两个对齐方式参数:m{宽度}、b{宽度}。

你可能感兴趣的:(LaTex)