一、选用合适的表格包
LaTeX中有多个可用于制作表格的宏包,其中包括默认的“tabular”与专为长表格设计的“longtable”和“supertabular”等。在选用包的时候应当根据实际需要进行选择。如果表格不太长,可以使用默认的“tabular”宏包进行制作;如果需要长表格,通常可以使用“longtable”或者“supertabular”来完成。
下面是使用“longtable”宏包的示例代码:
\\usepackage{longtable}
\\begin{longtable}[h]{|l|c|r|}
\hline
列 1 & 列 2 & 列 3 \\\\
\hline
\\endhead
行 1 & 行 2 & 行 3 \\\\
\hline
行 1 & 行 2 & 行 3 \\\\
\hline
...
\hline
\\end{longtable}
二、优化表格列宽
表格中每个列的宽度可以通过“p”、“m”和“b”等选项进行控制。使用“p”选项可以按照固定宽度制作列,例如“p{20mm}”可以制作宽度为20mm的列;使用“m”选项会随着表格的行数而调整列宽,适合多行内容的列;使用“b”选项通常用于制作单行的表头或表尾。
比如下面这个示例中,第一列使用“p{3cm}”选项制作为3cm宽度的列,第二列和第三列使用“m”选项制作宽度自适应的列:
\\begin{longtable}{|p{3cm}|m{4cm}|m{4cm}|}
\hline
列 1 & 列 2 & 列 3 \\\\
\hline
\\endhead
行 1 & 我是第二列内容 & 我是第三列内容 \\\\
\hline
行 2 & 我是第二列内容 & 我是第三列内容 \\\\
\hline
...
\hline
\\end{longtable}
三、优化表格跨页
当表格的内容过长时,必须将其跨页显示。这时可以使用“longtable”或者“supertabular”等宏包来处理表格跨页问题。如果使用“longtable”宏包,则需要注意添加“\\endhead”和“\\endfoot”命令;而使用“supertabular”宏包则需要添加“\\tablehead”、“\\tabletail”和“\\tablelasttail”等命令。
下面这个示例中,如果表格的内容超出一页,那么它会自动将后面的内容显示在下一页:
\\usepackage{longtable}
\\begin{longtable}{|l|l|l|}
\hline
表头 & 表头 & 表头 \\\\
\hline
\\endfirsthead
\\
\\multicolumn{3}{c}{续表~\\thetable\\hskip1em 这是表格的副标题} \\\\
\\hline
表头 & 表头 & 表头 \\\\
\\hline
\\endhead
\\
\\multicolumn{3}{r}{下一页继续} \\\\
\\endfoot
表尾 & 表尾 & 表尾 \\\\
\\hline
\\endlastfoot
\\
行 1 & 行 1 & 行 1 \\\\
\\hline
行 2 & 行 2 & 行 2 \\\\
\\hline
...
\\\\
\\hline
表尾 & 表尾 & 表尾 \\\\
\\hline
\\end{longtable}
四、优化表格样式
通过添加水平线和垂直线,可以使表格更易于阅读和使用。在LaTeX中可以通过“\\hline”命令添加水平线,通过管道字符“|”来插入垂直线。可以使用“booktabs”宏包来制作有更加美观的表格样式。
下面这个示例中,使用了“booktabs”宏包,并添加了多条水平线和少量精致的垂直线:
\\usepackage{booktabs}
\\begin{longtable}{ccc}
\\toprule
列 1 & 列 2 & 列 3 \\\\
\\midrule
\\endhead
行 1 & 行 2 & 行 3 \\\\
行 4 & 行 5 & 行 6 \\\\
...
\\\\
\\bottomrule
\\end{longtable}
五、使用表格封面
表格封面可以让读者更好地理解、掌握表格中的数据或信息。通过使用“longtable”宏包,可以在表格前或后添加一张封面。
下面这个示例中,表格前加了一张封面,包括表格的标题和副标题:
\\usepackage[]{longtable}
\\usepackage[]{tabu}
\\begin{document}
\\begin{center}
\\begin{longtable}{c}
\caption{表格标题} \\\\
\\hline
\\multicolumn{1}{c}{表格副标题} \\\\
\\hline
\\endfirsthead
\\multicolumn{1}{c}%
{{\\tablename\\ \\thetable{}-- 续页}} \\\\
\\hline
\\multicolumn{1}{c}{副标题} \\\\
\\hline
\\endhead
\\hline
\\endfoot
\\hline
\\endlastfoot
表格内容
\\end{longtable}
\\end{center}
\\end{document}