本文概述
- 合并的行和列
- 表格中的文字包装
- 多行和多列
- 带书签的桌子
- 多页表
- 对齐小数点
- 表格材料
与其他相比, 在Latex中创建表有些复杂。但是在这里, 从基础创建表的步骤和过程将使过程变得更容易。
Latex不是电子表格, 但是它是构建表格并将这些表格导出到你的文档的专用工具。
Latex中的表是结合表格环境和表环境创建的。表格环境包含表的实际内容, 而其他环境则包含标题。
用于创建表环境的命令为:
\ begin {table} {where}
表
\茶几}
用于创建表格环境的命令为:
\ begin {tabular} {lcr}
表
\ end {表格}
在此, 该表与\ caption命令一起表示表格环境。命令where用于确定表的位置。例如, \ begin {table} {t}表示该表将出现在页面顶部。
表格环境使用&(&)符号分隔列。
用于将内容左对齐, 中对齐和右对齐的字母分别是l, c和r。传递的用于对齐的命令是\ begin {tabular} {l c r}。
用于绘制分隔表各列的垂直线的命令为\ begin {tabular} {l | c | r}, 其中(|)作为参数传递。 |符号用于在列之间绘制垂直线。
你也可以使用\ vline命令绘制垂直线。 \ vline命令绘制垂直线以及行的高度。
如果要绘制一条水平线作为行分隔符, 则可以使用\ hline命令。
命令\ cline {i-j}用于绘制从i到j的部分水平线。
让我们考虑使用上面讨论的命令的几个表示例。
1.
\documentclass{article}
\begin{document}
\begin{center}
TABLE
\end{center}
\begin{tabular}{lcr}
a&
b&
c\\
d&
e&
f\\
g&
h&
i
\end{tabular}
\end{document}
输出:
文章图片
2.
\documentclass{article}
\begin{document}
\begin{center}
\begin{tabular}{|l|c|r|}
\hline
a&
b&
c\\ \hline
d&
e&
f\\ \hline
g&
h&
i\\ \hline
\end{tabular}
\end{center}
\end{document}
输出:
文章图片
3.
\documentclass{article}
\begin{document}
\begin{tabular}{|r|l|}
\hline
I, II, III, IV...&
uppercase Roman
i, ii, iii... &
lowercase roman numerals \\ \cline{2-2}
1, 2, 3.. &
Arabic format \\
\hline \hline
1684 &
decimal digits \\
\hline
\end{tabular}
\end{document}
输出:
文章图片
现在, 查看下面的代码以创建基本表:
4.
\documentclass{article}
\begin{document}
\begin{table}[h!]
\begin{center}
\caption{ the basic table}
\label{tab:Table1}
\begin{tabular}{|l|c|r|}
\textbf{heading 1} &
\textbf{heading 2} &
\textbf{heading 3}\\
$\alpha$ &
$\beta$ &
$\gamma$ \\
\hline
1 &
1.34 &
a\\
2 &
18.54 &
b\\
3 &
735.765231 &
c\\
\end{tabular}
\end{center}
\end{table}
\end{document}
说明:
- \ label命令用作表的标记或标记表。
- \ caption包含在表本身中。
输出:
文章图片
合并的行和列 对于合并的列, 使用\ multicolumn {num} {col} {text}命令。 num命令用于将num列和宽度一起组合到单个列中。命令col包含符号l, c或r。文本包含该列的内容。
对于合并的行, 使用\ raisedbox {lift} {text}命令。它会打印文本, 该文本将被提升到当前基线之上。对于行之间的单个空格, 使用[-lex]命令。对于第一行和第二行之间的双倍空格, 使用[1ex]命令。
你也可以使用* {num} {str}语法对齐许多相同的列。当表中有许多列时, 此功能很有用。该命令将写为:
\ begin {tabular} {1 * {6} {c} r}
让我们考虑一个例子。代码如下:
\documentclass{article}
\begin{document}
\begin{table}[h]
\caption{Marks after exams} % title name of the table
\centering % centering table
\begin{tabular}{l c c rrrrrrr} % creating 10 columns
\hline\hline
Subject &
No. of Students &
category
&
\multicolumn{7}{c}{the list of marks}
\\ [0.5ex]
\hline
% Entering 1st row
&
&
lowest &
43 &
34 &
65 &
41 &
33 &
46 &
51 \\[-1ex]
\raisebox{1.5ex}{Science} &
\raisebox{1.5ex}{32}&
highest
&
88 &
94 &
93 &
89 &
91 &
90 &
88 \\[1ex]
% Entering 2nd row
&
&
lowest &
41 &
33 &
42 &
35 &
36 &
40 &
31 \\[-1ex]
\raisebox{1ex}{Maths} &
\raisebox{1.5ex}{32}&
highest
&
87 &
89 &
87 &
98 &
96 &
94 &
90 \\[1ex]
% Entering 3rd row
&
&
lowest &
43 &
41 &
37 &
34 &
39 &
41 &
44 \\[-1ex]
\raisebox{1ex}{English} &
\raisebox{1.5ex}{32}&
highest
&
79 &
87 &
85 &
91 &
84 &
83 &
90 \\[1ex]
% [1ex] adds vertical space
\hline % inserts single-line
\end{tabular}
\end{table}
\end{document}
输出:
文章图片
你也可以使用\ usepackage {adjustbox}命令将模式更改为横向模式。
此处的表格以\ begin {adjustbox}开头, 以\ end {adjustbox}结尾。
让我们考虑一个简单的表示例来理解这一点。
代码如下:
\documentclass{article}
\usepackage{adjustbox}
\begin{document}
\begin{adjustbox}{angle=90}
\begin{tabular}{l|c|r}
\textbf{heading 1} &
\textbf{heading 2} &
\textbf{heading 3}\\
$\alpha$ &
$\beta$ &
$\gamma$ \\
\hline
1 &
11.34 &
a\\
2 &
10.5 &
b\\
3 &
765.5231 &
c\\
\end{tabular}
\end{adjustbox}
\end{document}
输出:
文章图片
例如, 如果使用与上述相同的代码将角度设置为150度, 则输出将如下图所示:
文章图片
下面介绍了一些用于创建表的常用命令:
- 数组:类似于p命令, 它添加了m {< width> }和b {< width> }列, 但垂直对齐到中心或底部。
- bookstab:它为水平线(上下左右)提供创造性的命令。
- tabularx:引入了列类型X, 其作用类似于具有自动宽度计算功能的p-命令。
- \ raggedright:被识别为表行的末尾。
- \ tabularnewline:使用此命令代替\\。
- \ arraybackslash:用于还原过程。
对于行之间的间隔, 使用\ arraystretch命令。
表格中的文字包装 Latex算法有一些缺点。如果文本超出页面宽度, 则Latex不会自动调整/自动换行。为此, 使用特殊命令p(预定义宽度)来设置宽度。
下面给出示例。
本示例说明了未设置宽度和使用宽度的两个过程。你会注意到这两种方法之间的差异。
- 第一步(不指定宽度)
\documentclass{article}
\begin{document}
Without specifying the width.
\begin{center}
\begin{tabular}{| l | l | l | l |}
\hline
Name &
Type &
popular in &
Explanation \\ \hline
Orange &
Fruit &
Vitamin C &
It is fruit, which is full of nutrients and low in calories. They can promote clear, healthy skin and also lowers the risk for many diseases. It reduces cholesterol and also helps in building a healthy immune system.\\ \hline
Cauliflower &
vegetable &
B-Vitamins &
It is the vegetable, which is high in fiber and B-Vitamins. It also provides antioxidants, which help in fighting or protect against cancer. It enhances digestion and has many other nutrients.\\ \hline
\end{tabular}
\end{center}
\end{document}
输出:
文章图片
你会注意到, 由于未指定宽度, 因此未显示该信息。
- 现在考虑第二个过程, 其中使用p指定宽度。代码如下:
\documentclass{article}
\begin{document}specifying with the width.
\begin{center}
\begin{tabular}{ | l | l | l | p{5cm} |} % you can change the dimension according to the spacing requirements
\hline
Name &
Type &
popular in &
Explanation \\ \hline
Orange &
Fruit &
Vitamin C &
It is fruit, which is full of nutrients and low in calories. They can promote clear, healthy skin and also lowers the risk for many diseases. It reduces cholesterol and also helps in building a healthy immune system.\\ \hline
Cauliflower &
vegetable &
B-Vitamins &
It is the vegetable, which is high in fiber and B-Vitamins. It also provides antioxidants, which help in fighting or protect against cancer. It enhances digestion and has many other nutrients.\\ \hline
\end{tabular}
\end{center}
\end{document}
输出:
文章图片
多行和多列 它用于格式化包含几行和几列的数据。在这种情况下, 使用multirow包将多行拆分为子行。
注意:多行环境中的列换行不适用于所使用的语法。 让我们看一个例子。代码如下:
\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{table}
\begin{tabular}{c|lp{1.1in}|lp{1in}|l|}
\hline
Name&
Occupation &
salary &
Children &
Savings percentage \\\hline
\multirow{3}{*}{Henry}&
\multirow{3}{*}{$\$150, 000$}&
windsurfing&
lisa&
\multirow{3}{*}{20}\\
~&
~&
jumping on&
John&
~\\
~&
~&
a trampoline &
tia &
~\\\hline
\multirow{3}{*}{Shefy} &
$\multirow{3}{*}{\$70, 000} $ &
heavy metal music&
\multirow{3}{*}{Tyra}
&
15\\
~&
~&
Paris&
~&
\multirow{2}{*}{12}\\
~&
~&
dancing with pop music &
~&
~\\\hline
\multirow{3}{*}{Ben} &
$\multirow{3}{*}{\$35, 000}$ &
chocolate &
\multirow{3}{*}{None}&
18\\
~&
~&
fast cars &
~&
\multirow{2}{*}{ 22}\\
~&
~&
Ramen&
~&
~\\\hline
\multirow{3}{*}{Sam} &
$\multirow{3}{*}{\$40, 000}$ &
paintingit&
Donal &
\multirow{3}{*}{11}\\
~&
~&
motorcycles&
\multirow{2}{*}{Peter}&
~\\
~&
~&
Reddit&
~&
~ \\ \hline
\end{tabular}
\end{table}
\end{document}
输出:
文章图片
你可以使用\ hline命令绘制尽可能多的线。考虑与上面类似的图像, 其中包含更多行:
文章图片
带书签的桌子 booktabs命令用于使文档更加专业, 因为\ hline命令没有这样做。使用bookstab软件包提供的诸如toprule, midrule和bottomrule之类的命令来代替\ hline命令。
下面给出了bookstab软件包的代码:
\documentclass{article}\usepackage{booktabs} % For prettier tables
\begin{document}
\begin{table}[h!]
\begin{center}
\caption{Table using booktabs.}
\label{tab:table1}
\begin{tabular}{l|c|r}\toprule % Toprule applied here\textbf{Heading 1} &
\textbf{Heading 2} &
\textbf{Heading 3}\\
$\alpha$ &
$\beta$ &
$\gamma$ \\\midrule % Midrule applied here
1 &
1.101 &
a\\
2 &
103.145 &
b\\
3 &
289.1 &
c\\
4 &
17.132114 &
d\\\bottomrule % Bottomrule applied here\end{tabular}
\end{center}
\end{table}
\end{document}
输出:
文章图片
多页表 如果你的表包含多行, 则该表将从底部裁剪。 commandlongtable用于扩展多个页面, 必须将其添加到程序包中。
使用longtable命令时, 不使用表格或表格命令。它代替了使用表和表格命令, 并将两种环境合并为一个环境。因此, 相反, 将环境longtable用于表。
上述主题的代码如下:
\documentclass[12pt]{article}
\usepackage{longtable}
\begin{document}
\begin{center}
\begin{longtable}{|c|c|c|c|}
\caption{A simple example of longtable}\\
\hline
\textbf{First heading} &
\textbf{Second heading} &
\textbf{Third heading} &
\textbf{Fourth heading} \\
\hline
\endfirsthead
\multicolumn{4}{c}%
{\tablename\ \thetable\ -- \textit{Continued from previous page}} \\
\hline
\textbf{First heading} &
\textbf{Second heading} &
\textbf{Third heading} &
\textbf{Fourth heading} \\
\hline
\endhead
\hline \multicolumn{4}{r}{\textit{Continued on next page}} \\
\endfoot
\hline
\endlastfoot
ab &
bc &
ac &
da \\ ef &
fg &
gh &
he \\ ij &
jk &
kl &
lj \\ mn &
no &
op &
po \\
ab &
bc &
ac &
da \\ ef &
fg &
gh &
he \\ ij &
jk &
kl &
lj \\ mn &
no &
op &
po \\
ab &
bc &
ac &
da \\ ef &
fg &
gh &
he \\ ij &
jk &
kl &
lj \\ mn &
no &
op &
po \\
ab &
bc &
ac &
da \\ ef &
fg &
gh &
he \\ ij &
jk &
kl &
lj \\ mn &
no &
op &
po \\
ab &
bc &
ac &
da \\ ef &
fg &
gh &
he \\ ij &
jk &
kl &
lj \\ mn &
no &
op &
po \\
ab &
bc &
ac &
da \\ ef &
fg &
gh &
he \\ ij &
jk &
kl &
lj \\ mn &
no &
op &
po \\
ab &
bc &
ac &
da \\ ef &
fg &
gh &
he \\ ij &
jk &
kl &
lj \\ mn &
no &
op &
po \\
ab &
bc &
ac &
da \\ ef &
fg &
gh &
he \\ ij &
jk &
kl &
lj \\ mn &
no &
op &
po \\
ab &
bc &
ac &
da \\ ef &
fg &
gh &
he \\ ij &
jk &
kl &
lj \\ mn &
no &
op &
po \\
ab &
bc &
ac &
da \\ ef &
fg &
gh &
he \\ ij &
jk &
kl &
lj \\ mn &
no &
op &
po \\
\end{longtable}
\end{center}
\end{document}
说明:
- \ endfirsthead:该行在首页上显示为表格的开头。
- \ endhead:除第一页外, 每页顶部均显示一行
- \ endfoot:每页底部(最后一页除外)出现的一行
- \ endlastfoot:这是表格末尾出现的行
以上代码的输出将在两页中列出, 如下所示:
这两个页面分为三个图像。
图片如下:
文章图片
文章图片
你会注意到, 使用longtable列将表分为多个页面, 而没有任何数据丢失。
对齐小数点 下面讨论的示例将根据表达式的小数点对齐表达式和相应的值。
代码如下:
\documentclass[12pt]{article}
\begin{document}
\begin{tabular}{c |r @{.} l} % @{.} is used to display the decimal point
expression Pi &
\multicolumn{2}{c}{corresponding Value} \\
\hline
$\pi$ &
3&
1416 \\
$\pi^{\pi}$ &
36&
46 \\
$(\pi^{\pi})^{\pi}$ &
80662&
7 \\
\end{tabular}
\end{document}
输出:
文章图片
表格材料 表格材料使用两种环境, 即制表环境(\ begin {tabbing}…\ end {tabbing})和表格环境(\ begin {tabular}…\ end {tabular})。
该表格允许使用用于绘制水平线和垂直线的命令制作精美的环境。但是, 表不能分为几页。为此, 如上所述, 使用table命令将表分成多个页面。
制表环境用于设置制表符, 其行为与打字机类似。设置的选项卡然后从一个移动到另一个。由于制表环境中的每一行都是单独处理的, 因此在制表中允许分页符。
下面列出了用于制表符的命令:
- \ =设置制表位
- \> 右移至下一个制表位
- \\终止一行
- \ kill以该命令结尾的行用于设置制表符, 但不打印该行
1.此示例的代码如下:
\documentclass[12pt]{article}
\begin{document}
\begin{center}
\begin{tabbing}Heading 1 \= Heading a \= Heading b \= Heading c \\ \\
H 1 \>
H 2 \>
H 3 \>
H 4 \\ \\
FIRST \>
SECOND \>
THIRD \>
FOURTH
\end{tabbing}
\end{center}
\end{document}
在这里, 我们在两个新行中使用了两个\\。
输出:
文章图片
2.下面是第二个示例的代码:
\documentclass[12pt]{article}
\begin{document}
\begin{center}
\begin{tabbing}\hspace{2in} \= \hspace{2in} \= \kill % you can change the inch spacing according to
your requirements
First heading \>
Second heading \>
Third heading \\
\>
Second \>
Third \\
\hspace{1in} \\ % make a blank line
This Text extends past tab 1 \>
\>
Third column \\
\>
Text spans columns two and three \\xxxxxxxx \= xxxxx \= xxxx \= \kill % set up new tab stops i.e. to set the stops according
to the number of x
H 1 \>
H 2 \>
H 3 \>
H 4 \\
\end{tabbing}
\end{center}
\end{document}
【Latex表格】输出:
文章图片
推荐阅读
- 什么是Latex()
- Latex TEXMAKER概述
- Latex简历和模板
- Latex符号
- Latex偏导
- Latex Overleaf使用详解
- Latex Papeeria用法
- 使用Tikz的Latex节点图
- 在线Latex编辑器