Latex中经典三线表、多线表、内容跨⾏跨列复杂表的详解与
源代码
⼀、经典三线表
1.1 效果图
1.2 分析
经典三线表主要采⽤booktabs宏包中提供的三个命令,即\toprule、\midrule以及\bottomrule来实现。通俗的讲,\toprule、
\midrule以及\bottomrule命令实现的功能是画三线表中的上中下三道线,我们只需要在三条线之间填充内容。同⾏不同列的内容⽤&符号隔开,不同⾏之间⽤换⾏符\\实现。
画表的整体思路如下:⽤\toprule命令画第⼀道线——>输⼊第⼀⾏的内容“Item1&Item2&Item3&Item4”与回车符\\——>利⽤
\midrule命令画第⼆道横线——>输⼊第⼆⾏内容“Data1&Data2&Data3&Data4”与回车符\\——>输⼊第三⾏内
容“Data5&Data6&Data7&Data8”与回车符\\——>利⽤\bottomrule命令画第三道横线。⾄此,整个经典三线表已经画完。
1.3 具体实现代码及详细注释
\documentclass{article}
\usepackage{float}%提供float浮动环境
\usepackage{booktabs}%提供命令\toprule、\midrule、\bottomrule
\begin{document}
%经典三线表
\begin{table}[H]
\caption{\textbf{Example 1}}%标题
\centering%把表居中
\begin{tabular}{cccc}%四个c代表该表⼀共四列,内容全部居中
\toprule%第⼀道横线
Item 1&Item 2&Item 3&Item 4 \\
\midrule%第⼆道横线
Data1&Data2&Data3&Data4 \\
Data5&Data6&Data7&Data8 \\
\bottomrule%第三道横线
\end{tabular}
\end{table}
\end{document}
⼆、 多线表
2.1 效果图
2.2 分析
对于\toprule、\midrule以及\bottomrule命令,最常见的⽤法为经典三线表,但偶然⼀次帮导师排版论⽂时⽤到多线表,于是突发奇想利⽤经典三线表命令制作多线表,事实证明是可⾏的。在利⽤经典三线表命令制作多线表时需要注意,画第⼀道线的\toprule命令与画最后⼀道线的\bottomrule命令是固定不变的,中间其他的线⽤\midrule画即可。
画表具体思路如下(以画四线表为例):⽤\toprule命令画第⼀道线——>输⼊第⼀⾏的内容“Item1&Item2&Item3&Item4”与回车符\\——>利⽤\midrule命令画第⼆道横线——>输⼊第⼆⾏内容“Data1&Data2&Data3&Data4”与回车符\\——>利⽤\midrule命令画第三道横线—>输⼊第三⾏内容“Data5&Data6&Data7&Data8”与回车符\\——>利⽤\bottomrule命令画第三道横线。⾄此,整个经典四线表已经画完。
2.3 具体实现代码及详细注释
\documentclass{article}
\usepackage{float}%提供float浮动环境
\usepackage{booktabs}%提供命令\toprule、\midrule、\bottomrule
\begin{document}
%经典四线表
\begin{table}[H]
\caption{\textbf{Example 2}}%标题
横线\centering%把表居中
\begin{tabular}{cccc}%四个c代表该表⼀共四列,内容全部居中
\toprule%第⼀道横线
Item 1&Item 2&Item 3&Item 4 \\
\midrule%第⼆道横线
Data1&Data2&Data3&Data4 \\
\midrule%第三道横线
Data5&Data6&Data7&Data8 \\
\bottomrule%第四道横线
\end{tabular}
\end{table}
\end{document}
三、内容跨⾏表
3.1 效果图
3.2 分析
通过上图可以看出,“Item1”、“Item2”、“Item3”均占据了两⾏内容,即产⽣了所谓的“内容跨⾏”。在这种情况下要引进宏包multirow所提供的命令\multirow{}{}{},该命令有三个参数,第⼀个参数为所跨⾏数,第⼆个参数为表格宽度,第三个参数为跨⾏内容。
在该例中,将两道横线中间的部分看做⼀个“⼤⾏”,第⼀个⼤⾏内部⼜分为上下两个“⼩⾏”。在上边的⼩⾏中,各列内容从左往右依次为:Item1、跨两⾏的Item2、跨两⾏的Item3、跨两⾏的Item4。在下
边的⼩⾏中,各列的内容依次为:number、空⽩、空⽩、空⽩。注意,在第⼀⼩⾏与第⼆⼩⾏之间要采⽤换⾏符\\,对于没有跨⾏内容的⼤⾏可按常规思路写。
3.3 具体实现代码及详细注释
\documentclass{article}
\usepackage{float}%提供float浮动环境
\usepackage{booktabs}%提供命令\toprule、\midrule、\bottomrule
\usepackage{multirow}%提供跨⾏命令\multirow{}{}{}
\begin{document}
%经典三线表
\begin{table}[H]
\caption{\textbf{Example 3}}
\centering
\begin{tabular}{cccc}%四个c代表该表⼀共四列,内容全部居中
\toprule%第⼀道横线
Item1& \multirow{2}{*}{Item2}& \multirow{2}{*}{Item3}& \multirow{2}{*}{Item4} \\%表格宽度参数采⽤*代表⾃动宽度
number&&&\\
\midrule%第⼆道横线
Data1&Data2&Data3&Data4 \\
\midrule%第三道横线
Data5&Data6&Data7&Data8 \\
\bottomrule%第四道横线
\end{tabular}
\end{table}
\end{document}
四、内容跨列表
4.1 效果图
4.2 分析
通过上图可以看出,“Resultsummary”占据了两列内容,即产⽣了所谓的“内容跨列”。在这种情况下要引进宏包multirow所提供的命令\multicolumn{}{}{},该命令有三个参数,第⼀个参数为所跨列数,第⼆个参数为内容格式,第三个参数为跨列内容。
在该例中,将两道横线中间的部分看做⼀个“⼤⾏”,第⼀个⼤⾏内部⼜分为上下两个“⼩⾏”。在上边的⼩⾏中,各列内容从左往右依次为:空⽩、跨两列的Resultsummary、空⽩(两列空⽩加⼀个跨两列的内容,实际上总共也是占了四列的空间)。在下边的⼩⾏中,各列的内容依次为:Item1、Item2、Item3、Item4。注意,在第⼀⼩⾏与第⼆⼩⾏之间要采⽤换⾏符\\,对于没有跨⾏内容的⼤⾏可按常规思路写。
4.3 具体实现代码及详细注释
\documentclass{article}
\usepackage{float}%提供float浮动环境
\usepackage{booktabs}%提供命令\toprule、\midrule、\bottomrule
\usepackage{multirow}%提供跨列命令\multicolumn{}{}{}
\begin{document}
%经典三线表
\begin{table}[H]
\caption{\textbf{Example 4}}
\centering
\begin{tabular}{cccc}%四个c代表有四列且内容居中
\toprule%第⼀道横线
&\multicolumn{2}{c}{Resultsummary}& \\%跨两列、内容居中、跨列内容为Resultsummary
Item1&Item2&Item3&Item4 \\
\midrule%第⼆道横线
Data1&Data2&Data3&Data4 \\
\midrule%第三道横线
Data5&Data6&Data7&Data8 \\
\bottomrule%第四道横线
\end{tabular}
\end{table}
\end{document}
五、内容跨⾏、跨列多线复杂表
5.1 效果图
5.2 分析
对于第⼀⼤⾏,将其分为上下两⼩⾏。上边⼩⾏从左往右依次是:空⽩、占据两列且加粗加下划线的Resultsummary、空⽩(两列空⽩加⼀个占据两列的数据,总共实际也占四列)。下边⼩⾏分别是Item1、Item2、Item3、Item4。注意,两⼩⾏之间需要⽤换⾏符\\。
对于第⼆⼤⾏,仍将其分为上下两⼩⾏。上边⼩⾏从左往右依次是:占据两⾏的Data1、Data2、Data3、Data4。下边⼩⾏分别是空⽩、number2、number3、number4。注意,两⼩⾏之间需要⽤换⾏符\\。
对于没有出现内容跨⾏与跨列情况的⼤⾏可按正常四路写即可。
5.3 具体实现代码及详细注释
\documentclass{article}
\usepackage{float}%提供float浮动环境
\usepackage{booktabs}%提供命令\toprule、\midrule、\bottomrule
\usepackage{multirow}%提供跨列命令\multicolumn{}{}{}
\begin{document}
%经典三线表
\begin{table}[H]
\caption{\textbf{Example 5}}
\centering
\begin{tabular}{cccc}%四个c代表有四列且内容居中
\toprule%第⼀道横线
&\multicolumn{2}{c}{\textbf{\underline{Resulrsummary}}}& \\%跨两列;内容居中;跨列内容为Resultsummary通过\textbf{}与\underline{}命令分别对内容加粗、加下划线Item1&Item2&Item3&Item4 \\
\midrule%第⼆道横线
\multirow{2}{*}{Data1}&Data2&Data3&Data4 \\%Data1跨两⾏,⾃动表格宽度
&number2&number3&number4 \\
\midrule%第三道横线
Data5&Data6&Data7&Data8 \\
\bottomrule%第四道横线
\end{tabular}
\end{table}
\end{document}
左肩理想右肩担当,君⼦不怨永远不会停下脚步!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论