赞
踩
经典三线表主要采用booktabs宏包中提供的三个命令,即\toprule、\midrule以及\bottomrule来实现。通俗的讲,\toprule、\midrule以及\bottomrule命令实现的功能是画三线表中的上中下三道线,我们只需要在三条线之间填充内容。同行不同列的内容用&符号隔开,不同行之间用换行符\\实现。
画表的整体思路如下:用\toprule命令画第一道线——>输入第一行的内容“Item1&Item2&Item3&Item4”与回车符\\——>利用\midrule命令画第二道横线——>输入第二行内容“Data1&Data2&Data3&Data4”与回车符\\——>输入第三行内容“Data5&Data6&Data7&Data8”与回车符\\——>利用\bottomrule命令画第三道横线。至此,整个经典三线表已经画完。
- \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}
对于\toprule、\midrule以及\bottomrule命令,最常见的用法为经典三线表,但偶然一次帮导师排版论文时用到多线表,于是突发奇想利用经典三线表命令制作多线表,事实证明是可行的。在利用经典三线表命令制作多线表时需要注意,画第一道线的\toprule命令与画最后一道线的\bottomrule命令是固定不变的,中间其他的线用\midrule画即可。
画表具体思路如下(以画四线表为例):用\toprule命令画第一道线——>输入第一行的内容“Item1&Item2&Item3&Item4”与回车符\\——>利用\midrule命令画第二道横线——>输入第二行内容“Data1&Data2&Data3&Data4”与回车符\\——>利用\midrule命令画第三道横线—>输入第三行内容“Data5&Data6&Data7&Data8”与回车符\\——>利用\bottomrule命令画第三道横线。至此,整个经典四线表已经画完。
- \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}
通过上图可以看出,“Item1”、“Item2”、“Item3”均占据了两行内容,即产生了所谓的“内容跨行”。在这种情况下要引进宏包multirow所提供的命令\multirow{}{}{},该命令有三个参数,第一个参数为所跨行数,第二个参数为表格宽度,第三个参数为跨行内容。
在该例中,将两道横线中间的部分看做一个“大行”,第一个大行内部又分为上下两个“小行”。在上边的小行中,各列内容从左往右依次为:Item1、跨两行的Item2、跨两行的Item3、跨两行的Item4。在下边的小行中,各列的内容依次为:number、空白、空白、空白。注意,在第一小行与第二小行之间要采用换行符\\,对于没有跨行内容的大行可按常规思路写
- \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}
通过上图可以看出,“Resultsummary”占据了两列内容,即产生了所谓的“内容跨列”。在这种情况下要引进宏包multirow所提供的命令\multicolumn{}{}{},该命令有三个参数,第一个参数为所跨列数,第二个参数为内容格式,第三个参数为跨列内容。
在该例中,将两道横线中间的部分看做一个“大行”,第一个大行内部又分为上下两个“小行”。在上边的小行中,各列内容从左往右依次为:空白、跨两列的Resultsummary、空白(两列空白加一个跨两列的内容,实际上总共也是占了四列的空间)。在下边的小行中,各列的内容依次为:Item1、Item2、Item3、Item4。注意,在第一小行与第二小行之间要采用换行符\\,对于没有跨行内容的大行可按常规思路写。
- \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}
对于第一大行,将其分为上下两小行。上边小行从左往右依次是:空白、占据两列且加粗加下划线的Resultsummary、空白(两列空白加一个占据两列的数据,总共实际也占四列)。下边小行分别是Item1、Item2、Item3、Item4。注意,两小行之间需要用换行符\\。
对于第二大行,仍将其分为上下两小行。上边小行从左往右依次是:占据两行的Data1、Data2、Data3、Data4。下边小行分别是空白、number2、number3、number4。注意,两小行之间需要用换行符\\。
对于没有出现内容跨行与跨列情况的大行可按正常四路写即可
- \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}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。