Latex论文表格画法

article/2025/10/25 1:03:18

参考 Latex论文表格画法 - 云+社区 - 腾讯云

1、基本表格画法

 \begin{table}[htbp] 表示表格的开始。中括号中的 htbp 表示的是表格的浮动格式。当然这个基本参数不仅仅只是对表格有用。需要注意的是,一般使用 [htb] 这样的组合,这样组合的意思就是Latex会尽量满足排在前面的浮动格式,就是 h-t-b 这个顺序,让排版的效果尽量好。
        [h] 表示将表格放在当前位置。
        [t] 表示将表格放置在页面的顶部。
        [b] 表示将表格放置在页面的底部。
        [p] 将表格放置在一只允许有浮动对象的页面上。
    \caption{my table} 表示表格的标题,该设置可以放在 \begin{tabular} \end{tabular} 环境的前后,使得表格的标题显示在表格的上面或下面。\label{table1} 表示表格名字,用于正文中引用表格。
    若要插入跨栏图表, 可以用浮动环境 table* 。\begin{table}[htbp] 变成 \begin{table*}[htbp] ,\end{table} 变成 \end{table*} 。
    \begin{tabular}[位置]{列} 和 \begin{tabular*}{宽度}[位置]{列} 设置表格环境参数格式。
        \begin{tabular}{|c|c|c|} 。一个 c 表示有一列,格式为居中显示,这是列必选参数。通过添加 | 来表示是否需要绘制竖线。|| 表示画二条紧相邻的竖直线。
            l 表示该列左对齐。
            c 表示该列居中对齐。
            r 表示该列右对齐。
        如果只需要某几列的宽度发生改变,可以使用 p{宽度} (以 cm 为单位或以 pt 为单位或 0.2\textwidth)来代替 c 参数,但是表格中的文字是默认左对齐的。因此此时可以添加 p{宽度}<{\centering} 来改变文本对齐方式,但此时需要添加包 \usepackage{array} 。在这里 \centering 参数可以被 \raggedleft 和 \raggedright 替换,分别表示为左对齐和右对齐。
        也可以使用 tabular* (\begin{tabular*}{宽度}[位置]{列})环境参数,如上的 {宽度} 可以设置为 {10cm},表示整个表格的宽度为 10cm。但由于设置了表格的整体宽度,为了使表格对齐,需要使用表达式 @{\extracolsep{\fill}} ,但画正式表格一般 不推荐 使用这种表格方式(比较复杂,感觉一般用于画类似三线表格的图表中),可以通过命令调整整个表格的缩放。
        \begin{tabular}[位置]{cc}。[位置] 中的参数是位置可选参数,该参数表示表格相对于外部文本行基线的位置,又称为垂直定位参数。一般为默认不设置,表示表格按照外部文本行的基线垂直居中。t表示表格顶部与当前外部文本行的基线重合。b 表示表格底部与当前外部文本行的基线重合。
    可用 \setlength{\tabcolsep}{1pt} 来调整表格的列间距离 (十分推荐) 。
    可用 \renewcommand\arraystretch{1.5} 来调整表格行间距,意思是将每一行的高度变为原来的1.5倍 (十分推荐) 。
    如果表格太大,可以使用 \scalebox{1.5} 来对表格进行缩放,意思是将表格的大小变为原来的1.5倍 (十分推荐),使用的时候需要添加包 \usepackage{graphicx} 。

基本表格画法如下:

\documentclass{article}\begin{document}
\begin{table}[htbp]
\caption{my table}
\label{table1}  %表格名字,用于正文中引用表格
\centering  
\begin{tabular}{|c|c|c|}
\hline
(1,1) & (1,2) & (1,3) \\
\hline
(2,1) & (2,2) & (2,3) \\
\hline
(3,1) & (3,2) & (3,3) \\
\hline
(4,1) & (4,2) & (4,3) \\
\hline
\end{tabular}
\end{table}
\end{document}

其实现效果如下:
                                                           
使用 **\setlength{\tabcolsep}{1pt}{表格}**来调整表格的列间距离,如下所示:

\documentclass{article}\begin{document}\begin{table}[htbp]
\caption{my table}
\centering
\setlength{\tabcolsep}{5mm}{
\begin{tabular}{|c|c|c|}
\hline
(1,1) & (1,2) & (1,3) \\
\hline
(2,1) & (2,2) & (2,3) \\
\hline
(3,1) & (3,2) & (3,3) \\
\hline
(4,1) & (4,2) & (4,3) \\
\hline
\end{tabular}}
\end{table}\end{document}

其实现效果如下:
                                                         
使用 \renewcommand\arraystretch{1.5} 来调整表格行间距,如下所示:

\documentclass{article}\begin{document}\begin{table}[htbp]
\caption{my table}
\centering
\renewcommand\arraystretch{1.5}{
\setlength{\tabcolsep}{5mm}{
\begin{tabular}{|c|c|c|}
\hline
(1,1) & (1,2) & (1,3) \\
\hline
(2,1) & (2,2) & (2,3) \\
\hline
(3,1) & (3,2) & (3,3) \\
\hline
(4,1) & (4,2) & (4,3) \\
\hline
\end{tabular}}}
\end{table}\end{document}

其实现效果如下:
                                                         
使用 \scalebox{1.5} 来对表格进行缩放,如下所示:

\documentclass{article}
\usepackage{graphicx} %需要添加的包\begin{document}\begin{table}[htbp]
\caption{my table}
\centering
\scalebox{1.5}{
\renewcommand\arraystretch{1.5}{
\setlength{\tabcolsep}{5mm}{
\begin{tabular}{|c|c|c|}
\hline
(1,1) & (1,2) & (1,3) \\
\hline
(2,1) & (2,2) & (2,3) \\
\hline
(3,1) & (3,2) & (3,3) \\
\hline
(4,1) & (4,2) & (4,3) \\
\hline
\end{tabular}}}}
\end{table}\end{document}

其实现效果如下:
                                                    
使用 p{宽度}<{\centering} 情况如下所示:

\documentclass{article}
\usepackage{array} %需要添加的包\begin{document}\begin{table}[htbp]
\caption{my table}
\centering  
\begin{tabular}{|p{1cm}<{\centering}|p{2cm}<{\centering}|p{3cm}<{\centering}|}
\hline
(1,1) & (1,2) & (1,3) \\
\hline
(2,1) & (2,2) & (2,3) \\
\hline
(3,1) & (3,2) & (3,3) \\
\hline
(4,1) & (4,2) & (4,3) \\
\hline
\end{tabular}
\end{table}\end{document}

其实现效果如下:
                                              
使用 \begin{tabular*}{宽度}[位置]{列} 情况如下所示:

\documentclass{article}
\usepackage{array} %需要添加的包\begin{document}\begin{table}[htbp]
\caption{my table}
\centering
\def\temptablewidth{0.6\textwidth}
{\rule{\temptablewidth}{1pt}}  %根据使用情况灵活设置,线的粗细
\begin{tabular*}{\temptablewidth}{@{\extracolsep{\fill}}ccccc}
\hline
&(1,1)&(1,2)&(1,3)&\\
\hline
&(2,1)&(2,2)&(2,3)&\\
\hline
&(3,1)&(3,2)&(3,3)&\\
\hline
&(4,1)&(4,2)&(4,3)&\\
\hline
\end{tabular*}
{\rule{\temptablewidth}{1pt}}
\end{table}\end{document}

其实现效果如下:
                                           
2 合并表格画法

如下是表格中一些横线的画法(Tips: 如下表格中的(1,1)代表该格子在整个表格中的位置,有助于我们画表格):

    \hline:这条命令只能位于第一行前面或紧接在行结束命令\的后面,表示在刚结束的那一行画一根水平的直线,横线的宽度与表格的宽度相同,放在一起的两条水平\hline命令就会画出两条间隔很小的水平线。
    \cline{n-m}:这条命令在一行中可以出现多次。该命令从第n列的左边开始,画一条到第m列右边结束的水平线,对应前面的列数。

\documentclass{article}
\begin{document}\begin{table}[htbp]
\caption{my table}
\centering
\renewcommand\arraystretch{1.5}{
\setlength{\tabcolsep}{5mm}{
\begin{tabular}{|c|c|c|}
\hline
(1,1) & (1,2) & (1,3) \\
\hline
(2,1) & (2,2) & (2,3) \\
\cline{2-3}
(3,1) & (3,2) & (3,3) \\
\cline{1-1} \cline{3-3}
(4,1) & (4,2) & (4,3) \\
\hline
\end{tabular}}}
\end{table}\end{document}

其实现效果如下所示:
                                                    
为了得到合并的格子,可以通过命令 \multicolumn 和 \multirow 进行合并单元格。需要引入包 \usepackage{multirow} 。其一般的参数使用方法如下。更详细可以参考LaTex表格绘制的小技巧。

    \multicolumn{参数1}{参数2}{参数3}
        参数1 表示要将整个单元格分成多少列
        参数2 表示对齐方式
        参数3 表示这个单元格的内容
    \multirow{参数1}{参数2}{参数3}
        参数1 表示要将整个单元格分成多少行
        参数2 表示对齐方式
        参数3 表示这个单元格的内容

\multicolumn{2}{|c|}{multi col} 指的是这个单元格占两列,表格中的内容居中表示,填充内容为multi col,并在该单元格左右画俩条竖线(原始的 tabular 中设置的 |c| 的两边的竖线会消失)。
\multirow{2}*{multi row} 指的是这个单元格占两行,填充内容为multi row,参数2 是文本所在列的宽度。它可以用*取代,表示用文本的自然宽度作为列的宽度,当使用*的时候不需要打括号。
\multicolumn{2}{c|}{\multirow{2}{*}{multi col row}} 指的是这个单元格占两行,同时也占两列。如果 \multirow 前面没有 \multicolumn 的话,默认就是只占一列。注意:对应未填入的格子需要进行填充。若为多行单列,只需要把该位置空出来即可。当为多行多列的时候,下一行需要使用类似 \multicolumn{2}{c}{} 的语句对多列进行填充。

\documentclass{article}
\usepackage{multirow}
\begin{document}\begin{table}[htbp]
\caption{my table}
\centering
\renewcommand\arraystretch{1.5}{
\setlength{\tabcolsep}{5mm}{
\begin{tabular}{|c|c|c|c|c|c|}
\hline
\multicolumn{2}{|c|}{\multirow{2}*{multi col row}} &\multicolumn{3}{|c|}{multi col} & \multirow{2}{*}{multi row}\\
\cline{3-5}
\multicolumn{2}{|c|}{} & (2,3) & (2,4) & (2,5) & \\
\hline
\multirow{3}{*}{multi row} & (3,2) & (3,3) & (3,4) & (3,5) & (3,6)\\
\cline{2-6}& (4,2) & (4,3) & (4,4) & (4,5) & (4,6)\\
\cline{2-6}& (5,2) & (5,3) & (5,4) & (5,5) & (5,6)\\
\hline
\end{tabular}}}
\end{table}\end{document}

其实现效果如下:
                                 

若要使用斜线表头,需要使用 \diagbox 命令,需要添加包 \usepackage{diagbox},\diagbox[innerwidth=3.3cm]{A}{B}} 中的 [innerwidth=3.3cm] 取决于列宽度的大小。

\documentclass{article}
\usepackage{multirow}
\usepackage{diagbox}
\begin{document}\begin{table}[htbp]
\caption{my table}
\centering
\renewcommand\arraystretch{1.5}{
\setlength{\tabcolsep}{5mm}{
\begin{tabular}{|c|c|c|c|c|c|}
\hline
\multicolumn{2}{|c|}{\multirow{2}*{\diagbox[innerwidth=3.3cm]{A}{B}}} &\multicolumn{3}{c|}{multi col} & \multirow{2}{*}{multi row}\\
\cline{3-5}
\multicolumn{2}{|c|}{} & (2,3) & (2,4) & (2,5) & \\
\hline
\multirow{3}{*}{multi row} & (3,2) & (3,3) & (3,4) & (3,5) & (3,6)\\
\cline{2-6}& (4,2) & (4,3) & (4,4) & (4,5) & (4,6)\\
\cline{2-6}& (5,2) & (5,3) & (5,4) & (5,5) & (5,6)\\
\hline
\end{tabular}}}
\end{table}\end{document}

其实现效果如下所示:
                           
3 灵活实现表格

因为有些需求,需要在论文模板中灵活实现一个表格,但能实现就行。~~~ / / / ( ^ v ^ ) \ \ \~~~。

\documentclass{article}
\usepackage{multirow}
\usepackage{diagbox}
\usepackage{graphicx}
\usepackage{booktabs}\begin{table*}[t]\setlength{\abovecaptionskip}{0.cm}\setlength{\belowcaptionskip}{-0.cm}\caption{Average search time (s)}\label{TAB1}\centering\scalebox{0.85}{\begin{tabular}{c|c|c|c|c|c|c|c|c|c|c|c|c|c}\cline{2-13}\multirow{2}*{}&\multicolumn{2}{c|}{\multirow{2}*{\# of people}}& \multicolumn{10}{c|}{Date}& \\\cline{4-13}&\multicolumn{2}{c|}{}&2016/2/8&2016/2/16&2016/3/10&2016/3/18&2016/4/6&2016/4/22&2016/5/11&2016/5/15&2016/6/2&2016/6/25\\\cline{2-13}&\multirow{2}*{5000}&Random&0&0&0&0&0&0&0&0&0&0\\\cline{3-13}&\multicolumn{1}{c|}{}&Our&0&0&0&0&0&0&0&0&0&0\\\cline{2-13}&\multirow{2}*{6000}&Random&0&0&0&0&0&0&0&0&0&0\\\cline{3-13}&\multicolumn{1}{c|}{}&Our&0&0&0&0&0&0&0&0&0&0\\\cline{2-13}&\multirow{2}*{7000}&Random&0&0&0&0&0&0&0&0&0&0\\\cline{3-13}&\multicolumn{1}{c|}{}&Our&0&0&0&0&0&0&0&0&0&0\\\cline{2-13}\specialrule{0em}{1pt}{2pt}\hline\specialrule{0em}{1pt}{1pt}\cline{2-13}&\multirow{2}*{8000}&Random&0&0&0&0&0&0&0&0&0&0\\\cline{3-13}&\multicolumn{1}{c|}{}&Our&0&0&0&0&0&0&0&0&0&0\\\cline{2-13}&\multirow{2}*{9000}&Random&0&0&0&0&0&0&0&0&0&0\\\cline{3-13}&\multicolumn{1}{c|}{}&Our&0&0&0&0&0&0&0&0&0&0\\\cline{2-13}&\multirow{2}*{10000}&Random&0&0&0&0&0&0&0&0&0&0\\\cline{3-13}&\multicolumn{1}{c|}{}&Our&0&0&0&0&0&0&0&0&0&0\\\cline{2-13}\end{tabular}}
\end{table*}

其实现效果如下:             


http://chatgpt.dhexx.cn/article/ASC5gq5F.shtml

相关文章

LaTeX中的表格

LaTeX中的表格 这一节我们主要讨论LaTeX中表格的制作和排版问题。 &#xff08;1&#xff09;在LaTeX中&#xff0c;可以使用tabular环境生成表格。 &#xff08;2&#xff09;tabular环境需要一个指定列排版格式的必选参数。可以用l指定左对齐&#xff0c;用c指定居中对齐&a…

Latex 制作表格

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

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;用…