关于tex中的表格设置

文章目录

  • 控制表格列宽和行高
  • 控制表格列宽的同时实现居中
  • tex中多表格排列
  • 单元格的合并与分割
  • 对单个单元格进行操作

控制表格列宽和行高

将下面的代码放在table环境内,放在tabular环境外
== 调整表格宽度和高度==:
\resizebox{\textwidth}{2cm}{%第一个{}是表格宽度, 第二个{}是表格高度 \begin{tabular} XXXX \end{tabular} } %12可随机设置,调整到适合自己的大小为止
调整列间距:
\setlength{\tabcolsep}{7mm}{ \begin{tabular} XXXX \end{tabular} }%7可随机设置,调整到适合自己的大小为止
上面的代码实现的效果往往不好,实现的是一种图片性质的缩放。

改变行高的方法是:
\renewcommand\arraystretch{1}(在array宏包中)
arraystretch默认定义为1,可以重定义得到制定倍数的表格行距。例如:
关于tex中的表格设置_第1张图片

控制表格列宽的同时实现居中

利用array宏包,并配合命令p{宽}<{\centering}即可实现

\begin{table}[h]
	\caption{符号说明}
	\centering
	\begin{tabular}{ p{3cm}<{\centering} p{7cm}<{\centering} p{3cm}<{\centering} }
		\toprule
		{\heiti 符号} & {\heiti 意义}& {\heiti 单位}\\
		\hline
		Format & Extension& Description\\
		Format & Extension& Description\\
		Format & Extension& Description\\
		\bottomrule
	\end{tabular}
\end{table}

tex中多表格排列

subcaption 宏包(和subfigure会冲突)
还同时提供了 subfigure 和 subtable 环境,它们的语法和功能与 minipage 完全相同,只是在里面可以直接使用 \caption 命令来表示子标题。
关于tex中的表格设置_第2张图片
效果:
关于tex中的表格设置_第3张图片

单元格的合并与分割

\multicolumn{<项数>}{<新列格式>}{<内容>} 命令可用于将一行中几个不同的表项合并为一项,它经常用于排版跨列的表头,例如:
关于tex中的表格设置_第4张图片
注意这里合并的新列格式里面只有一个c, l, r或p{<宽>},以及可选的@选项和表线。\multicolumn命令不仅可以用于合并多列,也可以只“合并”一列,作用是改变所在表项的对齐、竖线格式,例如:

关于tex中的表格设置_第5张图片
\cline命令与\hline命令类似,都可以画水平的表格线,不过\cline带有一个形如==<起>-<止>==参数,用来说明表格起始和终止的列号,用来画出不完全或间断的横线。

与\multicolumn命令相反,\vline命令可以在表项内部画一条只占一行高度的竖线。如果用它来拆分已有的表项,要注意加上合适的间距,例如:
关于tex中的表格设置_第6张图片

不过,使用\vline拆分表项不易掌握间距,另一种方式是直接使用嵌套的表格,此时应该注意在两侧只使用@{},避免间距和竖线,例如:
关于tex中的表格设置_第7张图片
关于tex中的表格设置_第8张图片

使用multirow宏包提供的\multirow命令排版跨行的表项。\multirow命令的基本语法格式如下:
\multirow{<行数>}{<宽度>}{<内容>}
\multirow{<行数>}*{<内容>}

使用前一种形式,内容达到宽度后会自动换行;使用后面一种形式,产生表项的宽度就是输入内容的宽度。
关于tex中的表格设置_第9张图片

对单个单元格进行操作

makecell宏包提供的==\makecell==命令可以单独控制表项单元,可以在表项中使用\命令自由地换行。在不打算固定表列宽度时,它比p{<宽度>}选项更为灵活,例如:
关于tex中的表格设置_第10张图片
\makecell命令的内容默认居中对齐,也可以使用可选选项t、b、l、r、c等分别控制其垂直与水平方式为顶部、底部、左对齐、右对齐或居中

\begin{tabular}{|r|r|}
  \hline
\makecell[l]{before processing \\ data} & \makecell[r]{after processing \\ data}\\
\hline
4934 &8945\\
  \hline
\end{tabular}

关于tex中的表格设置_第11张图片
makecell宏包的这种表项分行常用在表头中。它还为表头单独定义了与\makecell类似的\thead命令,它产生字体较小、上下间距较大的单元,更适合文字角度的多行表头使用,例如:

\begin{tabular}{|r|r|}
  \hline
\thead[r]{before processing \\ data} & \thead[l]{after processing \\ data}\\
\hline
4934 &8945\\
  \hline
\end{tabular}

关于tex中的表格设置_第12张图片
makecell的 \rothead命令则相当于旋转了90度的\thead命令,这个命令还依赖rotating宏包。使用\rothead时需要给旋转表头的宽度\rotheadsize赋值,例如:

关于tex中的表格设置_第13张图片
表头的字体由\theadfont命令控制,默认是\foonotesize; 间距由\theadgape或\rotheadgape生成,默认是\gape; 对齐是由\theadalign控制,默认是{cc}。可以重定义这些命令来控制表头的格式,详细内容可参考makecell宏包的文档。

如果同时使用multirow宏包和makecell宏包,命令 \multirowcell和\multirowthead 命令则成为\makecell、\thead与\multirow的结合体,可以在跨行的表项中随意地使用\命令换行,例如:

关于tex中的表格设置_第14张图片

你可能感兴趣的:(tex,开发语言)