Latex 制作表格

article/2025/10/25 1:08:53

Latex 制作表格

  • 前言
  • 一、Latex三线表
      • 1、普通三线表
      • 2、跨页三线表
  • 二、简单表
      • 1、基本需求表
      • 2、表格整体相关设置【表名及位置、表宽、注解、字号】
        • 1. 表格标题及位置
        • 2. 表宽设置
        • 3. 表格注解
        • 4. 字号设置
  • 三、复杂表
      • 1、合并单元格
      • 2、斜线表头
  • 五、常用表格模板代码
  • 总结


前言

Latex 表格代码汇总,包括三线表[跨页]、简单表[表格基本配置(表名、表宽、注解、字号)]、单元格合并、斜线表头、


一、Latex三线表

1、普通三线表

三线表需要一个专门的宏包booktabs。通过该宏包,可以使用以下代码画不同粗细的表线。

代码含义
\toprule顶部粗线
\midrule中间细线
\bottomrule底部粗线

示例代码:

\documentclass{article}
\usepackage{booktabs} % 导入三线表需要的宏包\begin{document}\begin{tabular}{ccc}% 其中,tabular是表格内容的环境;c表示centering,即文本格式居中;c的个数代表列的个数
\toprule %[2pt]设置线宽     
a & b  &  c \\ %换行
\midrule %[2pt]  
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9 \\
\bottomrule %[2pt]     
\end{tabular}\end{document}

代码结果图片:
在这里插入图片描述

2、跨页三线表

跨页表格需要导入宏包 longtable,并将原来的表格内容环境tabular改成longtable即可。

示例代码:

\documentclass{article}
\usepackage{booktabs} % 导入三线表需要的宏包
\usepackage{longtable}% 导入跨页表格所需宏包
\begin{document}\begin{longtable}{ccc}% 其中,tabular是表格内容的环境;c表示centering,即文本格式居中;c的个数代表列的个数
\toprule %[2pt]设置线宽     
a & b  &  c \\ %换行
\midrule %[2pt]  
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9 \\
\bottomrule %[2pt]     
\end{longtable}\end{document}

代码结果图片:
在这里插入图片描述

二、简单表

1、基本需求表

表格,简而言之就是被 横竖表线 框起来文本。

1.横线:

代码含义
\hline表格所有列的一整条表线
\cline{a-b}指定列数的表线,a-b表示从第a列到第b列

2.竖线:| |
3.文本位置:

参数含义
ccentering,表示文本居中
lleft,表示文本靠左
rrigth,表示文本靠右

参考代码:

\begin{document}\begin{tabular}{|c|c|c|c|r|l|} \hline % 其中,|c|表示文本居中,文本两边有竖直表线。
aaaaa & bbbbb & ccccc & ddddd & eeeee & fffff  \\ \hline
1 & 2 & 3 & 4 & 5 & 6  \\ \hline
7 &	8 &	9 &	10 & 11 & 12\\ \hline
13 & 14 & 15 & 16 &	17 & 18\\ \hline
\end{tabular}\end{document}

代码结果图片:
在这里插入图片描述

2、表格整体相关设置【表名及位置、表宽、注解、字号】

很多时候,我们都是对表格整体进行相关设置,来达到自己的相关需求。而对表格整体的相关设置其实与表格内容并无太大关系。

因此我们需要在表格内容环境【如上文中的 \begin{tabular}、\begin{longtable} 】外面进行相关环境设置。

\begin{table}%表格环境...表格整体相关设置
\begin{tabular}% 表格内容环境
\end{tabular}
...表格整体相关设置\end{table}

1. 表格标题及位置

1.标题
导入宏包 caption,使用代码:\caption{表格标题}(位置上下均可)

2.位置
\begin{table}[!ht],中的参数 !ht 就是对表格位置的相关设置。

[!ht] 这个参数组合是我比较喜欢用的,含义:尽量放在代码当前位置,实在放不下,将放在下一页的顶部。

其他参数及含义如下:

参数含义
h(here)代码当前位置
t(top)页面顶部
b(bottom) 页面底部
p单独一个页面,只含浮动对象
忽略系统排版美学因素,尽可能按照你的代码参数放置表格位置
H需导入宏包 float ,放在当前代码位置,放不下则不显示(错误)

位置参数参考

参考代码:

\begin{table}[!ht] % [!ht]表格在文本中放置的位置参数(努力放在当前位置,实在放不下,将放在下一页的顶部)
\centering % 表格整体居中
\caption{表格标题}
\begin{tabular}{|c|c|c|c|r|l|} \hline % 其中,|c|表示文本居中,文本两边有竖直表线。
aaaaa & bbbbb & ccccc & ddddd & eeeee & fffff  \\ \hline
1 & 2 & 3 & 4 & 5 & 6  \\ \hline
7 &	8 &	9 &	10 & 11 & 12\\ \hline
13 & 14 & 15 & 16 &	17 & 18\\ \hline
\end{tabular}
\end{table}

代码结果图片:
在这里插入图片描述

2. 表宽设置

由于latex的表格长宽都是通过表格中文本的最大长度来设定的,这就可能造成表格过窄或过宽导致的不美观现象。
因此,如果你对表格的美观程度要求较高的话,就还需要设定一些参数。

1.自定义表格整体大小
首先需要导入graphics、graphicx、pdfpages 这三个宏包中的任意一个,然后在表格内部环境外面进行相关设置。
resizebox{表宽}{表长}{…表格内部环境…}
其中,表宽和表长可以自己定义多少厘米,也可以采用页面的相关长度来进行设置。
以下是相关参数及含义:

参数含义
\linewidth当前环境宽度,即上下文宽度
\textwidth文本宽度
(高度或宽度)随着另一个参数的改变而改变

宽度参数参考

存在的缺陷:改变了表格的大小,同时也会自动改变表格中文本字体的大小,如果你对表格中的字体还有要求的话,那么这个代码并不适用。

参考代码:

\usepackage{graphics}
\begin{document}\begin{table}[!ht]\resizebox{\textwidth}{!}{ % 表格环境外部设置(头)
\begin{tabular}{|c|c|c|c|r|l|} \hline % 其中,|c|表示文本居中,文本两边有竖直表线。
aaaaa & bbbbb & ccccc & ddddd & eeeee & fffff  \\ \hline
1 & 2 & 3 & 4 & 5 & 6  \\ \hline
7 &	8 &	9 &	10 & 11 & 12\\ \hline
13 & 14 & 15 & 16 &	17 & 18\\ \hline
\end{tabular}
}% 外部环境设置(尾)\end{table}\end{document}

代码结果图片:
在这里插入图片描述
2. 设置每列文本宽度

\setlength{\tabcolsep}{宽度}{…表格内部环境…},设置表格中每列的宽度(每个单元格都是一样的)。

② 导入宏包array,使用 \begin{tabular}{宽度设置} 进行设置

宽度设置相关参数:

参数含义
p{宽度}指定单元格宽度,汉字内容超出宽度自动换行,文本在单元格中的位置为垂直靠上
m{宽度}指定单元格宽度,汉字内容超出宽度自动换行,文本在单元格中的位置为垂直居中
b{宽度}指定单元格宽度,汉字内容超出宽度自动换行,文本在单元格中的位置为垂直靠下
<{\raggedright}单元格内容左对齐
<{\raggedleft}单元格内容右对齐
<{\centering}单元格内容居中

参考代码:

\begin{tabular}{|p{6cm}<{\raggedleft}|p{4cm}<{\raggedright}|p{4cm}<{\centering}|} \hline汉字文本文本文本文本&汉字文本文本文本文本汉字文本文本文本文本&汉字文本文本文本文本汉字文本文本文本文本汉字文本文本文本文本\\ \hline
汉字文本&汉字文本&汉字文本\\ \hline
aaaaaaaaa&aaaaaaaaa&aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\ \hline
111111111&111111111&111111111111111111111111111111111111\\ \hline\end{tabular}

代码结果图片:
在这里插入图片描述
文本对齐参数参考

3.更多方法
当然,如果你实在不想管这些东西,你还可以利用空格来增加文本的宽度,快速的得到你想要的表格。
空格的相关设置参数如下:

参数含义
a\ bab之间1个m的宽度
a\quad bab之间2个m的宽度

空格参数参考

3. 表格注解

导入宏包 threeparttable,使用 \begin{threeparttable} 进行设置。

参考代码:

\centering
\begin{threeparttable}
\begin{tabular}{|c|c|c|c|c|c|} \hline班级层次&平均值	&个案数	&标准偏差	&最小值&最大值\\ \hline
1&	53.74&	77	&29.819&	4	&96\\ \hline
2	&57.60	&119&	28.971&	4	&100\\ \hline
3	&58.94&	119&	29.930	&0&	100\\ \hline
总计	&57.16	&315	&29.520&	0&	100\\ \hline
\end{tabular}
注: 1代表学习成绩低的同学;2代表学习层次居中的同学;3代表学习层次较好的同学。
\end{threeparttable}

代码结果图片:

在这里插入图片描述

4. 字号设置

由前文对表格整体的设置可知,当对表格整体进行设置的时候,只需在表格内容环境的外面进行相关设置,就可以改变表格的整体。
同样的,字号也是一样,字号设置的位置决定了你的作用域在哪里。
下面给出字体设置的相关参数:

参数含义
\small小五
\large小四

字体字号参数参考

三、复杂表

1、合并单元格

导入宏包 multirow
对行合并:使用 \multirow{合并行数}{*}{文本内容}
对列合并:使用 \multicolumn{合并列数}{c|}{文本内容}
对行列进行合并:使用 \multicolumn{合并列数}{|c|}{\multirow{合并行数}{*}{内容}}

参考代码:

\begin{table}[!ht]\center
\begin{tabular}{|c|c|c|c|}\hline
\multicolumn{1}{|c|}{\multirow{2}{*}{aaaa}} & \multicolumn{3}{c|}{bbbb}\\ \cline{2-4}& cccc  & dddd & eeee \\ \hline
\multirow{2}{*}{aaaa}& 50 & 86 & 122  \\ \cline{2-4}
\multirow{2}{*}{ }& 5 & 78  & 107   \\ \hline3& 25 & 48  & 101  \\ \hline4& 28 & 60 & 106  \\ \hline
\end{tabular}\end{table}

代码结果图片:
在这里插入图片描述

2、斜线表头

导入宏包diagbox
利用 \diagbox{A}{B}{C} 来写某个单元格的分块内容

代码参考:

\centering
\begin{threeparttable}
\begin{tabular}{|c|c|c|c|c|c|} \hline\diagbox{班级层次}{班级层次}&平均值	&个案数	&标准偏差	&最小值&最大值\\ \hline
1&	53.74&	77	&29.819&	4	&96\\ \hline
2	&57.60	&119&	28.971&	4	&100\\ \hline
3	&58.94&	119&	29.930	&0&	100\\ \hline
总计	&57.16	&315	&29.520&	0&	100\\ \hline
\end{tabular}
注: 1代表学习成绩低的同学;2代表学习层次居中的同学;3代表学习层次较好的同学。
\end{threeparttable}

代码结果图片:
在这里插入图片描述
斜线表头参考

五、常用表格模板代码

1.代码1:

\begin{table*}[!ht]
%\usepackage{multirow}
\center
\caption{不同层次学生显著性分析}
\begin{threeparttable}
\resizebox{\linewidth}{!}{ 
\begin{tabular}{|c|c|c|c|c|c|c|c|} \hline\multirow{2}{*}{} &\multirow{2}{*}{(I) 班级层次} &\multirow{2}{*}{(J) 班级层次} &\multirow{2}{*}{平均值差值 (I-J)} &\multirow{2}{*}{标准 错误} &\multirow{2}{*}{显著性} &\multicolumn{2}{c|}{95\% 置信区间}\\ \cline{7-8}\multirow{2}{*}{}&\multirow{2}{*}{} &\multirow{2}{*}{} &\multirow{2}{*}{} &\multirow{2}{*}{} &\multirow{2}{*}{} &上限&下限   \\ \hline\multirow{6}{*}{塔姆黑尼}&\multirow{2}{*}{1} &2&	-3.856	&4.313	&.753&	-14.26&	6.55  \\ \cline{3-8}
\multirow{6}{*}{}&\multirow{2}{*}{} & 3	&-5.201&4.368&	.553&	-15.74&	5.34 \\ \cline{2-8}\multirow{6}{*}{}&\multirow{2}{*}{2} &1&	3.856&	4.313&	.753&	-6.55&	14.26  \\ \cline{3-8}
\multirow{6}{*}{}&\multirow{2}{*}{} &  3&	-1.345	&3.819&	.979	&-10.53&	7.84\\ \cline{2-8}\multirow{6}{*}{}&\multirow{2}{*}{3} &1&	5.201&	4.368&	.553	&-5.34&	15.74  \\ \cline{3-8}
\multirow{6}{*}{}&\multirow{2}{*}{} & 2	&1.345&	3.819&	.979&	-7.84	&10.53 \\ \hline\multirow{2}{*}{邓尼特 t(双侧)} & 1&	3	&-5.201&4.321	&.384&	-14.83	&4.43 \\ \cline{2-8}
\multirow{2}{*}{} & 2&	3&	-1.345	&3.830	&.917	&-9.88	&7.19\\ \hline\end{tabular}
}	
\begin{tablenotes}
\item[1] 1代表学习成绩低的同学;2代表学习层次居中的同学;3代表学习层次较好的同学。
\end{tablenotes}
\end{threeparttable}
\end{table*}

代码1结果图:
在这里插入图片描述

总结


http://chatgpt.dhexx.cn/article/0eyUOkhy.shtml

相关文章

Qt学习c++

Qt学习C 平台及版本Day01 HelloWorld程序生成Day02 分析第一个Qt程序1) main.cpp2) mainwindow.h和mainwindow.cpp Day03 Qt控件和事件Day04 信号和槽基本理解connect()函数实现信号和槽实例演示信号和槽机制 Day05 Qt QLabel文本框的使用QLabel文本框的信号和槽QLabel的常用方…

Qt学习基础

1. Qt是什么&#xff1f; Qt是一个基于C语言的图形用户界面&#xff08;GUI&#xff09;开发框架&#xff0c;Qt不仅仅可以进行GUI开发&#xff0c;除此之外Qt也能进行很多其它功能开发&#xff0c;包括但不限于多线程、数据库、图像处理、音视频处理、网络通信与文件IO等。 Qt…

Qt学习心得体会

Qt是一种跨平台C图形界面程序开发框架&#xff0c;在社会中各种行业都有着举足轻重的地位。 Qt为了实现对象与对象之间的通信&#xff0c;提出了信号与槽的概念。当一个对象发生改变会发送一个信号通知另一个对象执行一个函数&#xff0c;这个函数称为槽&#xff0c;信号只需要…

QT 学习笔记(二)

文章目录 一、标准信号和槽1. 准备工作1.1 main.c1.2 widget.cpp 2. 添加按钮2.1 widget.h2.2 widget.cpp2.3 运行结果 3. 信号和槽&#xff08;重点&#xff09;3.1 信号3.2 自定义槽3.3 widget.h3.4 widget.cpp3.5 运行结果 二、两个独立窗口1. 添加新窗口2. 自定义信号3. 窗…

Qt学习 - 总

Qt学习 学习中的错误常用快捷键杂项布局信号与槽数据库相关QSS选择器 {property:value}Qt样式表设置函数 setStyleSheet()QSS文本属性 事件QMouseEvent&#xff1a;鼠标事件键盘事件QWheelEvent&#xff1a;滚轮事件QCloseEvent&#xff1a;关闭事件QTimerEvent&#xff1a;超时…

Qt日常学习

2022/07/28 使用Visual Studio2019 搭配 Qt5.14&#xff0c;可视化Qt界面使用QtDesigner。 若只使用代码来做界面太麻烦&#xff0c;效率低&#xff1b;只使用可视化界面进行拖拽效率高但无法实现全部功能。使用代码可视化结合的方式能够实现绝大部分功能。 练习1&#xff1…

QT入门学习(一):什么是QT

QT 是什么&#xff1f; QT是一个跨平台C图形用户界面应用程序开发框架。它不仅可以开发GUI程序&#xff0c;也可以开发非GUI程序。我们通常使用QT开发GUI程序。 它可以开发Windows、Linux、Mac平台的应用程序。也可以开发移动端应用程序以及嵌入式程序。 QT 模块 QT 有模块…

一位大佬对于 Qt 学习的最全总结(三万字干货)

击上方“C语言与CPP编程”&#xff0c;选择“关注/置顶/星标公众号” 干货福利&#xff0c;第一时间送达&#xff01; 分享一位大佬 Github 上关于 Qt 学习的总结。作者无私分享了一百多个自定义控件以及几本 Qt 的书籍&#xff08;C Qt&#xff09;&#xff0c;特此引用这个大…

QT学习笔记(一)——QT基础

QT学习笔记&#xff08;一&#xff09;——QT基础 文章目录 QT学习笔记&#xff08;一&#xff09;——QT基础前言一、QT是什么&#xff1f;二、基础内容1.pro文件规则及含义2. Widget头文件3. QT坐标系的定义4. QApplication应用程序类5.按钮&#xff1a;QPushButton6. 信号和…

Qt初学者的一些学习方法、参考资料

1&#xff0c;简介 最近有一些朋友加我&#xff0c;询问Qt入门学习的方法、资料 我基本都一一作答&#xff0c;根据情况给出了一些参考意见 感觉很多新手开始学习时很迷茫&#xff0c;不知道学习哪些方面、看什么资料 这里干脆写一篇文章&#xff0c;把自己的学习过程给大家介…

Qt学习之C++基础

前言 用了大概2个月的时间&#xff0c;学了Qt&#xff0c;然后开发一个小项目&#xff0c;总的来说&#xff0c;在主机GUI程序中&#xff0c;相比Java的Swing和JavaFX&#xff0c;个人感觉Qt的界面设计更加简便一点&#xff0c;灵活性更高一些&#xff0c;然后下边就主要简述一…

Qt学习之Qt基础入门(中)

1. 前言 上一篇博客&#xff0c;总结了Qt的一些基础用法&#xff0c;这篇博客继续跟视频学习Qt的常用方法 Qt入门系列&#xff1a; Qt学习之C基础 Qt学习之Qt安装 Qt学习之Qt基础入门(上) Qt学习之Qt基础入门(中) Qt学习之Qt基础入门(下) 本文原创&#xff0c;创作不易&…

Qt学习之Qt基础入门(上)

1. 前言 上一篇博客&#xff0c;简单的介绍了一下C的面向对象编程&#xff0c;这篇博客就主要是用来入门Qt&#xff0c;废话不多说&#xff0c;开干&#xff01; Qt入门系列&#xff1a; Qt学习之C基础 Qt学习之Qt安装 Qt学习之Qt基础入门(上) Qt学习之Qt基础入门(中) Qt学习…

qt基础入门教程

1、t的介绍、优点、成功案例 5.8.0 Qt是一个跨平台的C图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。爸是完全面向对象的&#xff0c;很容易扩展&#xff0c;并且允许真正的组件编程。 推荐安装 wps linux 桌面环境 虚拟机软件 屏幕共…

Qt入门教程100篇(已完结)

&#x1f608;「CSDN主页」&#xff1a;传送门 &#x1f608;「Bilibil首页」&#xff1a;传送门 &#x1f608;「CSDN学院」&#xff1a;传送门 &#x1f608;「本文的内容」&#xff1a;Qt基础教程 &#x1f608;「动动你的小手」&#xff1a;点赞&#x1f44d;收藏⭐️评论&…

QT入门看这一篇就够了——超详细讲解(40000多字详细讲解,涵盖qt大量知识)

目录 一、Qt概述 1.1 什么是Qt 1.2 Qt的发展史 1.3 Qt的优势 1.4 Qt版本 1.5 成功案例 二、创建Qt项目 2.1 使用向导创建 2.2 一个最简单的Qt应用程序 2.2.1 main函数中 2.2.2 类头文件 2.3 .pro文件 2.4 命名规范 2.5 QtCreator常用快捷键 三、Qt按钮小程序 …

QT入门到实战学习笔记

学习笔记 最新QT从入门到实战完整版|传智教育_哔哩哔哩_bilibili 目录 1.创建一个QT文件 1.1命名规范 1.2快捷键 2QPushButton创建 2.1防止汉语乱码 2.2对象树 2.3Qt窗口坐标体系 3信号和槽机制 3.1自定义信号和槽 3.1.1自定义信号&#xff1a; 3.1.2自定义槽&#…

pdflatex和xelatex的使用差别和建议

关于pdflatex和xelatex的区别的一些注意点 pdflatex 和xelatex分别是什么我遇到的一些问题 pdflatex 和xelatex分别是什么 pdflatex 和xelatex是latex编译中最常用的编译方式&#xff0c;而且效果一般都是比较好的。 PDFLaTeX命令&#xff1a;PDFTeX程序中的命令&#xff0c;用…

关于MAC解决jupyter中出现nbconvert failed/ xelatex not found on path报错

前言 开开心心的花了半个小时做完了2303的期中测试&#xff0c;结果在导出为pdf的时候提示我500错误&#xff0c;说明为nbconvert failed: xelatex not found on path&#xff0c;我当时就蒙了昂&#xff0c;不过还好考试时间是三个小时&#xff0c;还能浪浪&#xff0c;但是我…

【LaTex使用总结】LaTex,pdflatex,xelatex,xetex等的区别和关系

问题是这样产生的&#xff0c;从本科毕设开始接触LaTex起&#xff0c;使用现成的模板进行编译生成操作&#xff0c;一步步按指示操作也从未深究。 后来使用word较多&#xff0c;LaTex经常是简单模板&#xff0c;也渐渐对LaTex的细节不再感兴趣&#xff0c;近期又开始用LaTex撰写…