Latex中的表格
- 一、一个加脚注的三线表的例子
- 二、一个表格中加注释的例子
- 三、两个并排的两个表格的例子
- 3.1 使用小页环境并排表格
- 3.2 使用子表格并排表格
- 四、一个格式复杂的表格的例子
- 五、一个长表格的例子
这篇文章主要罗列一些特殊的表格例子。内容来自:一篇北师大学位论文模板,详见https://github.com/jinyiliu/bnu-thesis-template
常用的关于表格的宏包有三个:
booktabs
、array
和longtabular
,命令有一个\hlinewd
。三线表可以用booktabs
提供的\toprule
、\midrule
和\bottomrule
。它们与longtable
能很好的配合使用。如果表格比较简单的话可以直接用命令hlinewd{xpt}
控制。
一、一个加脚注的三线表的例子
这是一个简单的三线表,同时在表格中使用脚注:
- 注意三线表中各条线的命令;
- Latex本身不支持在表格中使用
\footnote
,所以我们能要将表格放在小页minipage
中。同时,为了美观,最好将表格的宽度设置为小页的宽度。
代码:
\begin{table}[htb]
\centering
\begin{minipage}[t]{0.8\linewidth} % 如果想在表格中使用脚注,minipage是个不错的办法
\caption[模板文件]{模板文件。如果表格的标题很长,那么在表格索引中就会很不美观,所以要像 chapter 那样在前面用中括号写一个简短的标题。这个标题会出现在索引中。}
\label{tab:template-files}
{\fontsize{26pt}{2.5mm}
\begin{tabular*}{\linewidth}{lp{10cm}}
\toprule[1.5pt]
{\hei 文件名} & {\hei 描述} \\
\midrule[1pt]
bnuthesis.ins & \LaTeX{} 安装文件,docstrip\footnote{表格中的脚注} \\
bnuthesis.dtx & 所有的一切都在这里面\footnote{再来一个}。\\
bnuthesis.cls & 模板类文件。\\
bnuthesis.cfg & 模板配置文。cls 和 cfg 由前两个文件生成。\\
bnubib.bst & 参考文献 Bibtex 样式文件。\\
bnutils.sty & 常用的包和命令写在这里,减轻主文件的负担。\\
\bottomrule[1.5pt]
\end{tabular*}}
\end{minipage}
\end{table}
实例:
二、一个表格中加注释的例子
在一些情况下,我们需要在表格下标注数据来源,或者对表格中的条目进行解释。利用前一个例子中的脚注\footnote
是一个不错的选择,但如果不喜欢使用脚注,也可以选择使用如下例子中的注释的方式。
- 注意这里表格横线的使用方式;
- 下表中演示了通过
tabularx
的|X|
扩展实现表格自动放大;
代码:
\begin{table}[h]
\centering
\caption{复杂表格示例 1}
\label{tab:tabexamp1}
\begin{minipage}[t]{0.8\textwidth}
\begin{tabularx}{\linewidth}{|l|X|X|X|X|}
\hline
\multirow{2}* & \multicolumn{2}{c|}{First Half} & \multicolumn{2}{c|}{Second Half}\\\cline{2-5}
& 1st Qtr &2nd Qtr&3rd Qtr&4th Qtr \\ \hline
East$^{*}$ & 20.4& 27.4& 90& 20.4 \\
West$^{**}$ & 30.6 & 38.6 & 34.6 & 31.6 \\ \hline
\end{tabularx}\\[2pt]
\footnotesize 注:数据来源《\bnuthesis{} 使用手册》。\\
*:东部\\
**:西部
\end{minipage}
\end{table}
实例:
三、两个并排的两个表格的例子
浮动体的并排放置一般有两种情况:
- 二者没有关系,为两个独立的浮动体;
- 二者隶属与同一个浮动体。
3.1 使用小页环境并排表格
代码:
\begin{table}[h]
\noindent
\begin{minipage}{0.5\textwidth}
\centering
\caption{第一个并排子表格}
\label{tab:parallel1}
\begin{tabular}{p{2cm}p{2cm}}
\toprule[1.5pt]
111 & 222 \\\midrule[1pt]
222 & 333 \\\bottomrule[1.5pt]
\end{tabular}
\end{minipage}
\begin{minipage}{0.5\textwidth}
\centering
\caption{第二个并排子表格}
\label{tab:parallel2}
\begin{tabular}{p{2cm}p{2cm}}
\toprule[1.5pt]
111 & 222 \\\midrule[1pt]
222 & 333 \\\bottomrule[1.5pt]
\end{tabular}
\end{minipage}
\end{table}
实例:
3.2 使用子表格并排表格
代码:
\begin{table}
\centering
\caption{并排子表格}
\label{tab:subtable}
\subfloat[第一个子表格]{
\begin{tabular}{p{2cm}p{2cm}}
\toprule[1.5pt]
111 & 222 \\\midrule[1pt]
222 & 333 \\\bottomrule[1.5pt]
\end{tabular}}\hskip2cm
\subfloat[第二个子表格]{
\begin{tabular}{p{2cm}p{2cm}}
\toprule[1.5pt]
111 & 222 \\\midrule[1pt]
222 & 333 \\\bottomrule[1.5pt]
\end{tabular}}
\end{table}
实例:
四、一个格式复杂的表格的例子
一个形式比较复杂的表格。
代码:
\begin{table}[hb]
\centering\dawu[1.3]
\caption{复杂表格示例 2}
\label{tab:tabexamp2}
\begin{tabular}[c]{|c|m{0.8in}|c|c|c|c|c|}\hline
\multicolumn{2}{|c|}{Network Topology} & \# of nodes &
\multicolumn{3}{c|}{\# of clients} & Server \\\hline
GT-ITM & Waxman Transit-Stub & 600 &
\multirow{2}{2em}{2\%}&
\multirow{2}{2em}{10\%}&
\multirow{2}{2em}{50\%}&
\multirow{2}{1.2in}{Max. Connectivity}\\\cline{1-3}
\multicolumn{2}{|c|}{Inet-2.1} & 6000 & & & &\\\hline
\multirow{2}{1in}{Xue} & Rui & Ni &\multicolumn{4}{c|}{\multirow{2}*{\bnuthesis}}\\\cline{2-3}
& \multicolumn{2}{c|}{ABCDEF} &\multicolumn{4}{c|}{} \\\hline
\end{tabular}
\end{table}
实例:
五、一个长表格的例子
如果要排版的表格长度超过一页,那么推荐使用longtable
或者 supertabular
宏包,文章开头提到的参考文章的理解中的模板对 \textsf{longtable} 进行了相应的设置,所以用起来可能简单一些。
代码:
\begin{longtable}[c]{c*{6}{r}}
\caption{实验数据}\label{tab:performance}\\
\toprule[1.5pt]
测试程序 & \multicolumn{1}{c}{正常运行} & \multicolumn{1}{c}{同步} & \multicolumn{1}{c}{检查点} & \multicolumn{1}{c}{卷回恢复}
& \multicolumn{1}{c}{进程迁移} & \multicolumn{1}{c}{检查点} \\
& \multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{时间 (s)}&
\multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{
时间 (s)}& 文件(KB)\\\midrule[1pt]
\endfirsthead
\multicolumn{7}{c}{续表~\thetable\hskip1em 实验数据}\\
\toprule[1.5pt]
测试程序 & \multicolumn{1}{c}{正常运行} & \multicolumn{1}{c}{同步} & \multicolumn{1}{c}{检查点} & \multicolumn{1}{c}{卷回恢复}
& \multicolumn{1}{c}{进程迁移} & \multicolumn{1}{c}{检查点} \\
& \multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{时间 (s)}&
\multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{
时间 (s)}& 文件(KB)\\\midrule[1pt]
\endhead
\hline
\multicolumn{7}{r}{续下页}
\endfoot
\endlastfoot
CG.A.2 & 23.05 & 0.002 & 0.116 & 0.035 & 0.589 & 32491 \\
CG.A.4 & 15.06 & 0.003 & 0.067 & 0.021 & 0.351 & 18211 \\
CG.A.8 & 13.38 & 0.004 & 0.072 & 0.023 & 0.210 & 9890 \\
CG.B.2 & 867.45 & 0.002 & 0.864 & 0.232 & 3.256 & 228562 \\
CG.B.4 & 501.61 & 0.003 & 0.438 & 0.136 & 2.075 & 123862 \\
CG.B.8 & 384.65 & 0.004 & 0.457 & 0.108 & 1.235 & 63777 \\
MG.A.2 & 112.27 & 0.002 & 0.846 & 0.237 & 3.930 & 236473 \\
MG.A.4 & 59.84 & 0.003 & 0.442 & 0.128 & 2.070 & 123875 \\
MG.A.8 & 31.38 & 0.003 & 0.476 & 0.114 & 1.041 & 60627 \\
MG.B.2 & 526.28 & 0.002 & 0.821 & 0.238 & 4.176 & 236635 \\
MG.B.4 & 280.11 & 0.003 & 0.432 & 0.130 & 1.706 & 123793 \\
MG.B.8 & 148.29 & 0.003 & 0.442 & 0.116 & 0.893 & 60600 \\
LU.A.2 & 2116.54 & 0.002 & 0.110 & 0.030 & 0.532 & 28754 \\
LU.A.4 & 1102.50 & 0.002 & 0.069 & 0.017 & 0.255 & 14915 \\
LU.A.8 & 574.47 & 0.003 & 0.067 & 0.016 & 0.192 & 8655 \\
LU.B.2 & 9712.87 & 0.002 & 0.357 & 0.104 & 1.734 & 101975 \\
LU.B.4 & 4757.80 & 0.003 & 0.190 & 0.056 & 0.808 & 53522 \\
LU.B.8 & 2444.05 & 0.004 & 0.222 & 0.057 & 0.548 & 30134 \\
EP.A.2 & 123.81 & 0.002 & 0.010 & 0.003 & 0.074 & 1834 \\
EP.A.4 & 61.92 & 0.003 & 0.011 & 0.004 & 0.073 & 1743 \\
EP.A.8 & 31.06 & 0.004 & 0.017 & 0.005 & 0.073 & 1661 \\
EP.B.2 & 495.49 & 0.001 & 0.009 & 0.003 & 0.196 & 2011 \\
EP.B.4 & 247.69 & 0.002 & 0.012 & 0.004 & 0.122 & 1663 \\
EP.B.8 & 126.74 & 0.003 & 0.017 & 0.005 & 0.083 & 1656 \\
\bottomrule[1.5pt]
\end{longtable}
实例: