当前位置:   article > 正文

Latex三线表、多线表、内容跨行/跨列复杂表的详解与源代码

latex三线表

经典三线表

经典三线表主要采用booktabs宏包中提供的三个命令,即\toprule、\midrule以及\bottomrule来实现。通俗的讲,\toprule、\midrule以及\bottomrule命令实现的功能是画三线表中的上中下三道线,我们只需要在三条线之间填充内容。同行不同列的内容用&符号隔开,不同行之间用换行符\\实现。

画表的整体思路如下:用\toprule命令画第一道线——>输入第一行的内容“Item1&Item2&Item3&Item4”与回车符\\——>利用\midrule命令画第二道横线——>输入第二行内容“Data1&Data2&Data3&Data4”与回车符\\——>输入第三行内容“Data5&Data6&Data7&Data8”与回车符\\——>利用\bottomrule命令画第三道横线。至此,整个经典三线表已经画完。

效果

代码

  1. \documentclass{article}
  2. \usepackage{float}%提供float浮动环境
  3. \usepackage{booktabs}%提供命令\toprule、\midrule、\bottomrule
  4. \begin{document}
  5. %经典三线表
  6. \begin{table}[H]
  7. \caption{\textbf{Example 1}}%标题
  8. \centering%把表居中
  9. \begin{tabular}{cccc}%四个c代表该表一共四列,内容全部居中
  10. \toprule%第一道横线
  11. Item 1&Item 2&Item 3&Item 4 \\
  12. \midrule%第二道横线
  13. Data1&Data2&Data3&Data4 \\
  14. Data5&Data6&Data7&Data8 \\
  15. \bottomrule%第三道横线
  16. \end{tabular}
  17. \end{table}
  18. \end{document}

经典多线表

效果

对于\toprule、\midrule以及\bottomrule命令,最常见的用法为经典三线表,但偶然一次帮导师排版论文时用到多线表,于是突发奇想利用经典三线表命令制作多线表,事实证明是可行的。在利用经典三线表命令制作多线表时需要注意,画第一道线的\toprule命令与画最后一道线的\bottomrule命令是固定不变的,中间其他的线用\midrule画即可。

画表具体思路如下(以画四线表为例):用\toprule命令画第一道线——>输入第一行的内容“Item1&Item2&Item3&Item4”与回车符\\——>利用\midrule命令画第二道横线——>输入第二行内容“Data1&Data2&Data3&Data4”与回车符\\——>利用\midrule命令画第三道横线—>输入第三行内容“Data5&Data6&Data7&Data8”与回车符\\——>利用\bottomrule命令画第三道横线。至此,整个经典四线表已经画完。

  1. \documentclass{article}
  2. \usepackage{float}%提供float浮动环境
  3. \usepackage{booktabs}%提供命令\toprule、\midrule、\bottomrule
  4. \begin{document}
  5. %经典四线表
  6. \begin{table}[H]
  7. \caption{\textbf{Example 2}}%标题
  8. \centering%把表居中
  9. \begin{tabular}{cccc}%四个c代表该表一共四列,内容全部居中
  10. \toprule%第一道横线
  11. Item 1&Item 2&Item 3&Item 4 \\
  12. \midrule%第二道横线
  13. Data1&Data2&Data3&Data4 \\
  14. \midrule%第三道横线
  15. Data5&Data6&Data7&Data8 \\
  16. \bottomrule%第四道横线
  17. \end{tabular}
  18. \end{table}
  19. \end{document}

内容跨行表 

效果

通过上图可以看出,“Item1”、“Item2”、“Item3”均占据了两行内容,即产生了所谓的“内容跨行”。在这种情况下要引进宏包multirow所提供的命令\multirow{}{}{},该命令有三个参数,第一个参数为所跨行数,第二个参数为表格宽度,第三个参数为跨行内容。

在该例中,将两道横线中间的部分看做一个“大行”,第一个大行内部又分为上下两个“小行”。在上边的小行中,各列内容从左往右依次为:Item1、跨两行的Item2、跨两行的Item3、跨两行的Item4。在下边的小行中,各列的内容依次为:number、空白、空白、空白。注意,在第一小行与第二小行之间要采用换行符\\,对于没有跨行内容的大行可按常规思路写

代码

  1. \documentclass{article}
  2. \usepackage{float}%提供float浮动环境
  3. \usepackage{booktabs}%提供命令\toprule、\midrule、\bottomrule
  4. \usepackage{multirow}%提供跨行命令\multirow{}{}{}
  5. \begin{document}
  6. %经典三线表
  7. \begin{table}[H]
  8. \caption{\textbf{Example 3}}
  9. \centering
  10. \begin{tabular}{cccc}%四个c代表该表一共四列,内容全部居中
  11. \toprule%第一道横线
  12. Item1& \multirow{2}{*}{Item2}& \multirow{2}{*}{Item3}& \multirow{2}{*}{Item4} \\%表格宽度参数采用*代表自动宽度
  13. number&&&\\
  14. \midrule%第二道横线
  15. Data1&Data2&Data3&Data4 \\
  16. \midrule%第三道横线
  17. Data5&Data6&Data7&Data8 \\
  18. \bottomrule%第四道横线
  19. \end{tabular}
  20. \end{table}
  21. \end{document}

内容跨列表

效果

通过上图可以看出,“Resultsummary”占据了两列内容,即产生了所谓的“内容跨列”。在这种情况下要引进宏包multirow所提供的命令\multicolumn{}{}{},该命令有三个参数,第一个参数为所跨列数,第二个参数为内容格式,第三个参数为跨列内容。

在该例中,将两道横线中间的部分看做一个“大行”,第一个大行内部又分为上下两个“小行”。在上边的小行中,各列内容从左往右依次为:空白、跨两列的Resultsummary、空白(两列空白加一个跨两列的内容,实际上总共也是占了四列的空间)。在下边的小行中,各列的内容依次为:Item1、Item2、Item3、Item4。注意,在第一小行与第二小行之间要采用换行符\\,对于没有跨行内容的大行可按常规思路写。

代码

  1. \documentclass{article}
  2. \usepackage{float}%提供float浮动环境
  3. \usepackage{booktabs}%提供命令\toprule、\midrule、\bottomrule
  4. \usepackage{multirow}%提供跨列命令\multicolumn{}{}{}
  5. \begin{document}
  6. %经典三线表
  7. \begin{table}[H]
  8. \caption{\textbf{Example 4}}
  9. \centering
  10. \begin{tabular}{cccc}%四个c代表有四列且内容居中
  11. \toprule%第一道横线
  12. &\multicolumn{2}{c}{Resultsummary}& \\%跨两列、内容居中、跨列内容为Resultsummary
  13. Item1&Item2&Item3&Item4 \\
  14. \midrule%第二道横线
  15. Data1&Data2&Data3&Data4 \\
  16. \midrule%第三道横线
  17. Data5&Data6&Data7&Data8 \\
  18. \bottomrule%第四道横线
  19. \end{tabular}
  20. \end{table}
  21. \end{document}

内容跨行、跨列多线复杂表

效果

对于第一大行,将其分为上下两小行。上边小行从左往右依次是:空白、占据两列且加粗加下划线的Resultsummary、空白(两列空白加一个占据两列的数据,总共实际也占四列)。下边小行分别是Item1、Item2、Item3、Item4。注意,两小行之间需要用换行符\\。

对于第二大行,仍将其分为上下两小行。上边小行从左往右依次是:占据两行的Data1、Data2、Data3、Data4。下边小行分别是空白、number2、number3、number4。注意,两小行之间需要用换行符\\。

对于没有出现内容跨行与跨列情况的大行可按正常四路写即可

代码

  1. \documentclass{article}
  2. \usepackage{float}%提供float浮动环境
  3. \usepackage{booktabs}%提供命令\toprule、\midrule、\bottomrule
  4. \usepackage{multirow}%提供跨列命令\multicolumn{}{}{}
  5. \begin{document}
  6. %经典三线表
  7. \begin{table}[H]
  8. \caption{\textbf{Example 5}}
  9. \centering
  10. \begin{tabular}{cccc}%四个c代表有四列且内容居中
  11. \toprule%第一道横线
  12. &\multicolumn{2}{c}{\textbf{\underline{Resulrsummary}}}& \\%跨两列;内容居中;跨列内容为Resultsummary通过\textbf{}与\underline{}命令分别对内容加粗、加下划线
  13. Item1&Item2&Item3&Item4 \\
  14. \midrule%第二道横线
  15. \multirow{2}{*}{Data1}&Data2&Data3&Data4 \\%Data1跨两行,自动表格宽度
  16. &number2&number3&number4 \\
  17. \midrule%第三道横线
  18. Data5&Data6&Data7&Data8 \\
  19. \bottomrule%第四道横线
  20. \end{tabular}
  21. \end{table}
  22. \end{document}

其他花里胡哨的表也是这些的组合

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/514604
推荐阅读
相关标签
  

闽ICP备14008679号