文章目录
- 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.1 导言区1
table 后面加* 完成双栏表格
{table}有若干可选参数 [!htbp]表格将会按照所给参数,依次尝试按照每个参数进行排版,当无法排版时,将会按照下一个参数
参数 | 设置 |
---|---|
| 【here】将表格放在当前文字表格出现的位置位置 |
| 【top】将表格放在当前页的页首 |
| 【bottom】将表格放在当前页的底部 |
| 【page】将表格放在下一页的页首(但是好像会有一些问题一直到没有内容的新的一页)表示独占一页 |
| 表示忽略美观因素,尽可能按照参数指定的方式来处理表格浮动位置 |
另外有的时候,我们希望某个浮动体就在我们书写源码的地方。这时我们可以调用 float 宏包,并将浮动位置指定为 H,就可以实现了。
1.2 导言区2
参数 | 设置 |
---|---|
| 水平左对齐 |
| 水平居中对齐 |
| 水平右对齐 |
1.3 其他指令
参数 | 设置 |
---|---|
| 画一条竖直线 |
| 画二条紧相邻的竖直线 |
| column separator |
| start new row (additional space may be specified after \ using square brackets, such as \[6pt] |
| 水平横线,这条命令只能位于第一行前面或紧接在行结束命令\的后面,表示在刚结束的那一行画一根水平的直线。如果这条命令位于表格的开头,那么就会在表格顶部画一横线,横线的宽度与表格的宽度相同. 放在一起的两条水平\hline命令就会画出两条间隔很小的水平线. |
| 用于强制一表格行的结束,而\\除了可以结束整个一行表格内容外,还可以在单个列的内容中实现换行 |
| 部分的水平横线 从i到j。这条命令的放置同\hline命令,并且在一行中可以出现多次。该命令从第n列的左边开始,画一条到第m列右边结束的水平线. |
| 该命令画一条竖直线,其高度等于其所在行的行高。用这种命令,可以得到那些不是贯穿整个表格的竖直线. |
2、单元格的合并
2.1 按照列合并
需要引用宏包:
\usepackage{multicolumn}
语法:
\multicolumn{n}{format}{item}
% n 合并列数
% format 格式 lcr 靠左居中靠右 是否需要加竖线等等
% item 文本
例子:
\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*}
效果图:
2.2 按照行合并
需要引用宏包:
\usepackage{multirow}
语法:
\multirow{nrows}[bigstructs]{width}[fixup]{text}
% nrows 设定所占用的行数。
% bigstructs 此为可选项,主要是在你使用了 bigstruct 宏包时使用。
% width 设定该栏文本的宽度。如果想让 LaTeX 自行决定文本的宽度,则用 * 即可。设置宽度之后下面的强迫换行才可以使用。
% fixup 此为可选项,主要用来调整文本的垂直位置。使用绝对位置eg. 6pt, -5cm
% text 所要排版的文本。可用 \\ 来强迫换行。
例子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*}
例子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*}
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*}
3 列的设置技巧
3.1 固定列宽设置(水平对齐)
目的要求:
设置固定列宽,超过固定宽度之后会进行自动的回行
需要添加包
\usepackage{array}
语法
有三种属性可以设置分别为
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*}
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*}
3.3 列设置(设置输出为手写体数字)
目的要求:
设置表格中的字符都是数学手写字体
语法
\>{\cmd} and <{\cmd}
例子:
\usepackage{array}
\newcolumntype{F}{>{$}c<{$}}
\begin{tabular}{FFF}
\alpha & \beta & \gamma \\
\delta & \epsilon & \upsilon \\
\sigma & \tau & \phi \\
\end{tabular}
4 行的设置
4.1 添加行间距方法一
\begin{tabular}{ll}
\hline
Mineral & Color \\[0.5cm]
Ruby & red \\
Sapphire & blue \\
\hline
\end{tabular}
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}`
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}
参考文献
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 - 博客园