首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

LATEX关于表格的一些处理

  • 25-03-03 17:02
  • 2418
  • 10353
blog.csdn.net


文章目录

  • 1、表格初步
    • 1.1 导言区1
    • 1.2 导言区2
    • 1.3 其他指令
  • 2、单元格的合并
    • 2.1 按照列合并
    • 2.2 按照行合并
    • 2.3 多行列合并
  • 3 列的设置技巧
    • 3.1 固定列宽设置(水平对齐)
    • 3.2 固定列宽设置(垂直左中右对齐)
    • 3.3 列设置(设置输出为手写体数字)
  • 4 行的设置
    • 4.1 添加行间距方法一
    • 4.2 调整行间距的方法
  • 参考文献

1、表格初步

首先举一个例子:

\begin{table*}[t] %导言区1
	\begin{tabular}{|l||c|r|}%导言区2
		\hline
		123&123&123\\ \cline{1-1}
		4&5&6\\
		7&8&9\\ \hline
	\end{tabular}
\end{table*} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

1.1 导言区1

table 后面加* 完成双栏表格
{table}有若干可选参数 [!htbp]表格将会按照所给参数,依次尝试按照每个参数进行排版,当无法排版时,将会按照下一个参数

参数设置
h【here】将表格放在当前文字表格出现的位置位置
t【top】将表格放在当前页的页首
b【bottom】将表格放在当前页的底部
p【page】将表格放在下一页的页首(但是好像会有一些问题一直到没有内容的新的一页)表示独占一页
!表示忽略美观因素,尽可能按照参数指定的方式来处理表格浮动位置

另外有的时候,我们希望某个浮动体就在我们书写源码的地方。这时我们可以调用 float 宏包,并将浮动位置指定为 H,就可以实现了。

1.2 导言区2

参数设置
l水平左对齐
c水平居中对齐
r水平右对齐

1.3 其他指令

参数设置
|画一条竖直线
||画二条紧相邻的竖直线
&column separator
\\start new row (additional space may be specified after \ using square brackets, such as \[6pt]
\hline水平横线,这条命令只能位于第一行前面或紧接在行结束命令\的后面,表示在刚结束的那一行画一根水平的直线。如果这条命令位于表格的开头,那么就会在表格顶部画一横线,横线的宽度与表格的宽度相同. 放在一起的两条水平\hline命令就会画出两条间隔很小的水平线.
\tabularnewline用于强制一表格行的结束,而\\除了可以结束整个一行表格内容外,还可以在单个列的内容中实现换行
\cline{i-j}部分的水平横线 从i到j。这条命令的放置同\hline命令,并且在一行中可以出现多次。该命令从第n列的左边开始,画一条到第m列右边结束的水平线.
\vline该命令画一条竖直线,其高度等于其所在行的行高。用这种命令,可以得到那些不是贯穿整个表格的竖直线.

2、单元格的合并

2.1 按照列合并

需要引用宏包:

\usepackage{multicolumn}
  • 1

语法:

\multicolumn{n}{format}{item}
% n 合并列数
% format 格式 lcr 靠左居中靠右 是否需要加竖线等等
% item  文本
  • 1
  • 2
  • 3
  • 4

例子:

\begin{table*}[t] 
	\begin{tabular}{|c|c|c|}
		\hline 
		\multicolumn{3}{|c|}{123}\\\hline
		4&5&6\\\hline
		7&8&9\\\hline
	\end{tabular}
\end{table*} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

效果图:
在这里插入图片描述

2.2 按照行合并

需要引用宏包:

\usepackage{multirow}
  • 1

语法:

\multirow{nrows}[bigstructs]{width}[fixup]{text}
% nrows  设定所占用的行数。
% bigstructs 此为可选项,主要是在你使用了 bigstruct 宏包时使用。
% width 设定该栏文本的宽度。如果想让 LaTeX 自行决定文本的宽度,则用 * 即可。设置宽度之后下面的强迫换行才可以使用。
% fixup 此为可选项,主要用来调整文本的垂直位置。使用绝对位置eg. 6pt, -5cm
% text  所要排版的文本。可用 \\ 来强迫换行。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

例子1(最普通的用法):

\begin{table*}[t] 
  \begin{tabular}{ |l|l|l|}
    \hline
                  1234 & 1234 & 1234 \\ \hline
    \multirow{4}{*}{1} & 1    & 1234 \\
                       & 2    & 1234 \\%到了要撰写下一行表格时,被跨行的该栏位,直接留空,不可填字(填了之後就会知道为什么了)
                       & 3    & 1234 \\%到了要撰写下一行表格时,被跨行的该栏位,直接留空,不可填字
                       & 3    & 1234 \\ \hline%到了要撰写下一行表格时,被跨行的该栏位,直接留空,不可填字
    \multirow{3}{*}{2} & 1    & 1234 \\
                       & 2    & 1234 \\%到了要撰写下一行表格时,被跨行的该栏位,直接留空,不可填字
                       & 3    & 1234 \\ \hline%到了要撰写下一行表格时,被跨行的该栏位,直接留空,不可填字
                    3  & 1    & 1234 \\ \hline
    \multirow{2}{*}{4} & 1    & 1234 \\
                       & 2    & 1234 \\ \hline%到了要撰写下一行表格时,被跨行的该栏位,直接留空,不可填字
  \end{tabular}
\end{table*} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在这里插入图片描述
例子2(一些参数设置的例子):

\begin{table*}[t] 
	\begin{tabular}{ |l|l|l|}
		\hline
		1234 & 1234 &1234 \\ \hline
		\multirow{4}{40pt}[-10pt]{1\\1} & 1 & 1234 \\%限制宽度和上下偏移的量
		                               & 2 & 1234 \\
		                               & 3 & 1234 \\
		                               & 3 & 1234 \\ \hline
		\multirow{3}{40pt}[5pt]{2\\2} & 1 & 1234 \\%限制宽度和上下偏移的量
		                              & 2 & 1234 \\
		                              & 3 & 1234 \\ \hline
		                            3 & 1 & 1234 \\ \hline
		\multirow{2}{40pt}[3pt]{4\\4} & 1 & 1234 \\%限制宽度和上下偏移的量
		                              & 2 & 1234 \\\hline
	\end{tabular}
\end{table*} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在这里插入图片描述

2.3 多行列合并

目标要求:
水平和垂直的对齐格式均可控制
注意事项:
对于多行多列的单元格合并需要把合并的单元格的位置空出来
下面行的占位也需要用列合并去占位 这样中间就不会有多出来空单元格边框线了。如果直接采用~ & ~ & ...的方式来占位,会受到表格划线方式{|c|c|c|c|}的影响而多划一条竖线。

\begin{table*}[t] 
	\begin{tabular}{ |l|l|l|}
		\hline
		\multicolumn{2}{|c|}{\multirow{2}{*}{1245} } & 3 \\ \cline{3-3}
		                    \multicolumn{2}{|c|}{}   & 6 \\ \hline
		                                       7 & 8 & 9 \\ \hline
	\end{tabular}
\end{table*} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

3 列的设置技巧

3.1 固定列宽设置(水平对齐)

目的要求:
设置固定列宽,超过固定宽度之后会进行自动的回行

需要添加包

\usepackage{array}
  • 1

语法
有三种属性可以设置分别为
p{‘width’} paragraph column with text vertically aligned at the top
p水平基线顶部对齐,左右默认为左对齐
m{‘width’} paragraph column with text vertically aligned in the middle(requires array package)
m水平基线中间对齐,左右默认为左对齐
b{‘width’} paragraph column with text vertically aligned at the bottom (requires array package)
b水平基线底部对齐,左右默认为左对齐

\begin{table*}[t] 
	\begin{tabular}{|p{1cm}|p{1cm}|p{1cm}|}%导言区2
		\hline
		apple & apple & apple apple apple\\ \hline
		       4 & 5       & 6           \\ \hline
		       7 & 8       & 9           \\ \hline
	\end{tabular}
	\\
	space for a line
	\\
	\begin{tabular}{|m{1cm}|m{1cm}|m{1cm}|}%导言区2
		\hline
		apple&apple&apple apple apple\\ \hline
		4&5&6\\\hline
		7&8&9\\\hline
	\end{tabular}
	\\
	space for a line
	\\
	\begin{tabular}{|b{1cm}|b{1cm}|b{1cm}|}%导言区2
		\hline
		apple&apple&apple apple apple\\ \hline
		4&5&6\\\hline
		7&8&9\\\hline
	\end{tabular}
\end{table*} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ytt1klXz-1593917218540)(https://raw.githubusercontent.com/ZhouziqunZZQZZQ/picBed/master/typora202007/05/095327-725878.png)]

3.2 固定列宽设置(垂直左中右对齐)

设置左右中对齐(以p为例)
<{\raggedleft}左对齐
<{\centering}居中
<{\raggedright}右对齐

\begin{table*}[t] 
	\begin{tabular}{|p{1cm}<{\raggedleft}|p{1cm}<{\centering}|p{1cm}<{\raggedright}|}
		\hline
		apple &apple&apple apple apple\\ \hline
		    4 & 5   &6\\\hline
		    7 & 8   &9\\\hline
	\end{tabular}
\end{table*} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vd0AffLv-1593917218542)(https://raw.githubusercontent.com/ZhouziqunZZQZZQ/picBed/master/typora202006/23/204327-115738.png)]

3.3 列设置(设置输出为手写体数字)

目的要求:
设置表格中的字符都是数学手写字体
语法

\>{\cmd} and <{\cmd}
  • 1

例子:

\usepackage{array}
\newcolumntype{F}{>{$}c<{$}}
\begin{tabular}{FFF}
	\alpha & \beta    & \gamma   \\
	\delta & \epsilon & \upsilon \\
	\sigma & \tau     & \phi     \\
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

4 行的设置

4.1 添加行间距方法一

\begin{tabular}{ll}
	\hline
	Mineral & Color \\[0.5cm]
	Ruby & red \\
	Sapphire & blue \\
	\hline
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

4.2 调整行间距的方法

% 方法一
\setlength{\tabcolsep}{5pt} %colums, default value is 6pt

%方法二
\renewcommand{\arraystretch}{1.5} %rows, default value is 1.0这一句代码,作用是将每一行的高度变为原来的两倍。

%方法三
\hline\noalign{\smallskip}
cline{i-j}\noalign{\smallskip}
% 另外一种方式是在`\hline`和`cline{i-j}`前面或者后添加`\noalign{\smallskip}`
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
experiment1\\%没有设置行距的情况
\begin{tabular}{ | l | l | r | }
    \hline
    \multicolumn{2}{c}{Item} \\ \cline{1-2}
    Animal    & Description & Price (\$) \\ \hline
    Gnat      & per gram    & 13.65      \\
              & each        & 0.01       \\
    Armadillo & frozen      & 8.99       \\ \hline
\end{tabular}
\\
\\
experiment2\\%更改固定行距之后的表格
\setlength{\tabcolsep}{4pt}
\begin{tabular}{ | l | l | r | }
  \hline
  \multicolumn{2}{c}{Item} \\ \cline{1-2}
  Animal    & Description & Price (\$) \\ \hline
  Gnat      & per gram    & 13.65      \\
            & each        & 0.01       \\
  Armadillo & frozen      & 8.99       \\ \hline
\end{tabular}
\\
\\
experiment3\\%使用renewcommand的方法进行行高设置
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{ | l | l | r | }
  \hline
  \multicolumn{2}{c}{Item} \\ \cline{1-2}
  Animal    & Description & Price (\$) \\ \hline
  Gnat      & per gram    & 13.65      \\
            & each        & 0.01       \\
  Armadillo & frozen      & 8.99       \\ \hline
\end{tabular}
\\
\\
experiment4\\
\setlength{\tabcolsep}{6pt}
\renewcommand{\arraystretch}{1.0}
\begin{tabular}{ | l | l | r | }
  \hline\noalign{\smallskip}
  \multicolumn{2}{c}{Item} \\ \cline{1-2}\noalign{\smallskip}
  Animal    & Description & Price (\$) \\ \noalign{\smallskip}\hline\noalign{\smallskip}
  Gnat      & per gram    & 13.65      \\
            & each        & 0.01       \\
  Armadillo & frozen      & 8.99       \\ \noalign{\smallskip}\hline
\end{tabular}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47

在这里插入图片描述

参考文献

LaTeX 表格_yhl_leo-CSDN博客_latex 表格
LaTeX 表格指定宽度并居中_yhl_leo-CSDN博客_latex 表格 居中
Latex 表格过大(或过小)的调整方法_wbl901的博客-CSDN博客_latex resizebox
LaTeX固定表格每一列宽度并指定对齐方式(居中) - 简书
LaTeX技巧313:如何设定如tabular的宽度(总的宽度)_LaTeX_Fun_新浪博客
Latex 表格内文字过长自动换行_virhuiai的专栏-CSDN博客_latex表格自动换行
LaTeX中表格单元格中内容自动换行 (Wrap text)问题_陈广智的专栏-CSDN博客_latex表格自动换行
LaTeX_Fun_新浪博客,里面有很多技巧和交流群
一份其实很短的 LaTeX 入门文档 | 始终
常用数学符号的 LaTeX 表示方法
Figures and Tables in a LATEX Document
【转】LaTeX 符号命令大全 - Coolxxx - 博客园

注:本文转载自blog.csdn.net的呆呆象呆呆的文章"https://blog.csdn.net/qq_41554005/article/details/107135322"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top