关于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,可以重定义得到制定倍数的表格行距。例如:

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

利用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 命令来表示子标题。

效果:

单元格的合并与分割

\multicolumn{<项数>}{<新列格式>}{<内容>} 命令可用于将一行中几个不同的表项合并为一项,它经常用于排版跨列的表头,例如:

注意这里合并的新列格式里面只有一个c, l, r或p{<宽>},以及可选的@选项和表线。\multicolumn命令不仅可以用于合并多列,也可以只"合并"一列,作用是改变所在表项的对齐、竖线格式,例如:


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

与\multicolumn命令相反,\vline命令可以在表项内部画一条只占一行高度的竖线。如果用它来拆分已有的表项,要注意加上合适的间距,例如:

不过,使用\vline拆分表项不易掌握间距,另一种方式是直接使用嵌套的表格,此时应该注意在两侧只使用@{},避免间距和竖线,例如:

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

使用前一种形式,内容达到宽度后会自动换行;使用后面一种形式,产生表项的宽度就是输入内容的宽度。

对单个单元格进行操作

makecell宏包提供的==\makecell==命令可以单独控制表项单元,可以在表项中使用\命令自由地换行。在不打算固定表列宽度时,它比p{<宽度>}选项更为灵活,例如:

\makecell命令的内容默认居中对齐,也可以使用可选选项t、b、l、r、c等分别控制其垂直与水平方式为顶部、底部、左对齐、右对齐或居中。

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

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

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

makecell的 \rothead命令则相当于旋转了90度的\thead命令,这个命令还依赖rotating宏包。使用\rothead时需要给旋转表头的宽度\rotheadsize赋值,例如:

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

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

相关推荐
好开心338 分钟前
axios的使用
开发语言·前端·javascript·前端框架·html
又蓝31 分钟前
使用 Python 操作 Excel 表格
开发语言·python·excel
余~~1853816280043 分钟前
稳定的碰一碰发视频、碰一碰矩阵源码技术开发,支持OEM
开发语言·人工智能·python·音视频
Am心若依旧4091 小时前
[c++11(二)]Lambda表达式和Function包装器及bind函数
开发语言·c++
明月看潮生1 小时前
青少年编程与数学 02-004 Go语言Web编程 20课题、单元测试
开发语言·青少年编程·单元测试·编程与数学·goweb
大G哥2 小时前
java提高正则处理效率
java·开发语言
VBA63372 小时前
VBA技术资料MF243:利用第三方软件复制PDF数据到EXCEL
开发语言
轩辰~2 小时前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
小_太_阳2 小时前
Scala_【1】概述
开发语言·后端·scala·intellij-idea
向宇it2 小时前
【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
开发语言·unity·c#·编辑器·游戏引擎