latex复杂表格排版
笔者使用单栏template,之前paper里写的双栏表格迁移过来的时候发生了一些问题,随后使用adjustbox
调整许久之后问题才得以解决,至此深觉adjustbox
乃好家伙也,作笔记记录一下table的常用排版格式。
demo:
先上个demo看看效果:
最基本的类三线表的样式,代码如下:
\begin{table}[!t]\centering\tiny\adjustbox{max width=0.85\linewidth,width=0.8\linewidth,center=\linewidth}{\begin{tabular}{l|cc|cc}\Xhline{0.5pt}\multirow{3}{*}{\textbf{Partition}} & \multicolumn{2}{c|}{\textbf{Rel}} &\multicolumn{2}{c}{\textbf{up}}\\& type & instance & type & instance\\ \Xhline{0.3pt}train & 2 & 2 & 12 & 3\\dev & 6 & 960 & 7 & 80\\test & 1 & 100 & 2 & 83\\\Xhline{0.5pt}\end{tabular}}\caption{The demo}\label{demo}
\end{table}
接下来一步步分解代码:
tabular
首先是最基础的tabular表格,也就是填数据的那个对象:
\begin{tabular}{l|cc|cc} % 竖排格式,| 表示表格列之间有竖线;l表示居左,c表示居中\Xhline{0.5pt} % 粗横线,{}中为粗细参数\multirow{3}{*}{\textbf{Partition}} & \multicolumn{2}{c|}{\textbf{Rel}} &\multicolumn{2}{c}{\textbf{up}}\\ % 这两行会有点难理解。大致就是分了三子行,并了两列为母列。听起来有点奇怪,之后会解释。& type & instance & type & instance\\ \Xhline{0.3pt}train & 2 & 2 & 12 & 3\\ % 这几行容易理解dev & 6 & 960 & 7 & 80\\test & 1 & 100 & 2 & 83\\\Xhline{0.5pt}\end{tabular}
上面最难理解的就是multirow和multicolumn的部分。首先\begin{tabular}{l|cc|cc}
表格其实是有5列的,这点请先记住!后面会用到。
然后,我们先看一眼表格对应的部分:
直觉上也就看得出来,这行其实是不止一行的,这也就是multirrow的作用。\multirow{3}{*}{\textbf{Partition}}
其实就是把Partition
分给了三个子行(为什么是三个?后面会解释),multirow的参数:
\multirow{子行数}{对齐格式}{显示内容}
随后是立即又用&
(列分隔符)拼接了两个multicolumn,注意 \multicolumn{2}{c|}{\textbf{Rel}}
就是把两列并在了一起,然后放进去了一个Rel
.还记得之前说过,这个表其实是有5列的,所以后面又紧跟了一个\multicolumn{2}{c}{\textbf{up}}
,又并掉两列,放了一个Up
。至此第一个子行结束
,接下来用\\
换到下一个子行。然后注意,这里& type & instance & type & instance
把第一个子列空了出来,所以这就使得上一个子行的Partition
,掉了下来。接下来就是常规的东西了。
如果我当时设置的是\multirow{2}{*}{\textbf{Partition}}
也就是事先只设置2个子行呢?会变成下面:
可以看到,由于"高度不够",Partition
“掉不下来了”,所以就很难看。
有人也会注意到,为什么我会用\multicolumn{2}{c|}{\textbf{Rel}}
,中间的对齐格式用的是c|
?如果用c
会这样:
这主要是因为multicolumn的关系,导致事先设置的{l|cc|cc}
在multicolumn这个封装处无法正常显示。需要主动在对其中指定。
上述过程极具动态性,最好是自己实地操演一下,然后对着表格来理解公式!
table
这个简单,用table环境把tabular封装成一个浮动体。
adjustbox
这个东西好用,先看一下adjustbox的参数:
\adjustbox{自动调节区间}{tabular对象}
它其实就是给原先tabular封装了一层,然后加上灵活的调节范围,latex在编译的时候对这个tabular的排版放缩也会依据你事先设定的区间灵活调整。比如我用的是:
\adjustbox{max width=0.85\linewidth,width=0.8\linewidth,center=\linewidth}{}
[0.8,0.85]单栏行宽区间调节,并居中于单栏。
总结:
还是一句话,理解latex的复杂表格是很比较有难度的,一定要自己实地打,边看表格的结构,边理解代码每一个cmd每一个参数作用是啥。猜不出来的,要么直接查,最好就去掉或者改变这个参数,看看这个表格会变成啥样(这样才能记忆深刻)。总之耐心点,这本来就是一个动态的理解过程。
latex复杂表格排版相关推荐
- 【LaTeX】 案例分析 (9) - MCM 2021 - 目录 / 伪代码 / 分栏 / 文字框 / 组合图 / 表格排版 / 公式编号
小组选择题目为 MCM 2021 - A题 Fungi (真菌) Final Result: Honorable Mention 注: 其中很多环境运用到的环境所需宏包(package)可能不太清楚了 ...
- LATEX关于表格的一些处理
文章目录 1.表格初步 1.1 导言区1 1.2 导言区2 1.3 其他指令 2.单元格的合并 2.1 按照列合并 2.2 按照行合并 2.3 多行列合并 3 列的设置技巧 3.1 固定列宽设置(水平 ...
- LaTex中表格常用设置
推荐一个在线生成各种表格命令的工具:https://tablesgenerator.com/. 1.表格参数 table 后面加*表示双栏表格,如\begin{table*}...\end{table ...
- LaTex(论文排版)的使用心得及入门教程
前言 最早接触到LaTex,就是要发论文的时候,之前只知道这是别人推荐的论文编译软件,不同于富文本语言,类似于Markdown格式,是一种文本标记语言,排版真的非常方便.美观,完爆Word,瞬间感觉使 ...
- Latex论文写作排版遇到的问题
字体缩放 \resizebox{0.8\width}{!}{$\displaystyle\int_a^b f(x)dx$} %宽度一定,高度默认 \resizebox{0.8\width}{0.8 ...
- Latex论文表格画法及相关技巧
Latex论文表格画法 1 基本表格画法 2 合并表格画法 3 灵活实现表格 最近画了很多计算机会议和论文的表格,因此特意在这里做一个记录,以满足未来画基本表格的需要,节省时间. 1 基本表格画法 \ ...
- LaTeX 文档排版教程
很全的教程:LaTeX 文档排版教程 by 吕荐瑞 暨南大学数学系 目录 第一部分:从零开始 第一节:开始使用 第二节:快速入门 第三节:撰写文本 第四节:撰写公式 第五节:错误处理 第六节:命令速查 ...
- 完美解决在Latex的表格里的单元格内的文本紧贴着上边框线条的问题
完美解决在Latex的表格里的单元格内的文本紧贴着上边框线条的问题 问题 一.通常出现表1的情况的代码如下 二.解决办法,也就是表2的代码 三.其它解决方案 四.引用 问题 通常做表格的时候可能会遇到 ...
- 【LaTeX 教程】06. LaTeX 插入表格
[LaTeX 教程]06. LaTeX 插入表格 在这里推荐一个在线表格生成器 https://tablesgenerator.com/ 先上一个范例 了解基本表格结构 \begin{table}[h ...
- latex中表格怎么加标题_在LateX中输入公式、表格技巧
文章目录 公式编辑器表格编辑器Latex设置表格字体大小LateX给表格加标题和标签LateX插入三线表LateX安装指南 如果在LateX中直接输入.编辑公式或表格,不是不可以,但是不能直接可视化编 ...
最新文章
- WAV文件C++分析与显示
- android 摇一摇监听,Android摇一摇功能实现(摇一摇监听)
- Eclipse下Tomcat常用设置
- Python+Flask.0010.FLASK即插视图之自定义视图类及修饰器
- RabbitMq学习笔记004---在CentOS7上安装RabbitMQ
- ASimpleCache使用感受
- python入门视频教程-Python入门视频全套教程
- 网络互撕是群体极化的典型症状
- [转]Java杂谈(七)--接口amp; 组件、容器
- 软件工程需求分析-需求规格说明书
- speedoffice如何根据身份证号码提取出性别
- 守望先锋中的netcode_如何跟踪守望先锋中的化妆品和事件物品
- STM32单片机学习总结之------位操作
- 荣耀笔记本linux版硬盘分区,荣耀MagicBook硬盘分区详细教程
- 手机邮箱怎么发送电子邮件?163邮箱登陆界面好看么?
- 我的世界Faithful Java_我的世界:原来我们都被骗了,这才Minecraft真实的样貌
- Zabbix 4.4 web前端界面操作流程:创建主机>创建触发器>报警媒介>动作>邮件 发送/接收 预警信息 等详细操作
- 俞敏洪大学经典励志演讲:像树一样活着
- Android+webService的连接
- 小白的模拟电路初步学习20日打卡(14)
热门文章
- 模式分解的无损性判断
- iOS开发常用三方库、插件、知名博客等等
- 计算机连接网络显示有限访问权限,电脑WiFi连接总是提示有限的访问权限是什么意思...
- Hibernate——缓存
- 产品读书《自控力:斯坦福大学最受欢迎的心理学课程》
- cesium 旋转图片
- Android应用 中英文切换
- 视频网站程序 linux,观看主流视频平台视频的Windows、Mac、Linux客户端:ivideo
- Excel最强玩法!用Excel做“动态日历表”,让你的好记性更牢固!
- soul群聊派对显示服务器异常,soul群聊派对在哪?功能、查找步骤有这些