您的位置:首页 > 其它

<zz>latex制作复杂表格(跨行、跨列)

2012-12-18 10:33 639 查看
用Latex制作复杂表格, 需要用到\multirow宏包, 用\multicolumn, \multirow, \hline, \cline 四种命令来控制跨列,跨行,
横线, 竖线位置。

原帖请见:
http://jhengjyun.blogspot.jp/2011/01/latexmulticolumnmultirow.html
制作的效果为:



对应的latex代码为:

\begin{tabular}{|c|c|c|c|c|}
\hline
\multirow{2}{*}{Multi-Row} &
\multicolumn{2}{c|}{Multi-Column} &
\multicolumn{2}{c|}{\multirow{2}{*}{Multi-Rowand Col}} \\
\cline{2-3}
  & column-1 & column-2 & \multicolumn{2}{c|}{} \\
\hline
label-1 & label-2 & label-3 & label-4 &label-5 \\
\hline
\end{tabular}

对以上代码的理解可以这样:

采用latex绘制表格, 是先水平(按行),
后竖直(按列)方向进行绘制。 

第一个是2跨行, 所以使用multirow,
然后沿着水平方向, 第二个是两跨列, 于是使用multicloumn, 然后接着沿水平方向, 第三个是两跨列+两跨行, 于是使用multicolumn+multirow嵌套。

这样, 第一行就绘制完了。 然后\\ 转入第二行绘制,
这里的第二行是指第一个2跨行中的第2个行。 由于这个第2行的第一列处于multirow中, 而后续第2,3列有横线, 所以使用cline绘制2,3列间的横线。

注意\cline的参数是:

\cline{2-3}
  & column-1 & column-2 & \multicolumn{2}{c|}{} \\

用了3个&,
表示了5个列(最后一个multicolumn代表了2个列)。 所以,使用\cline的时候, 对每一列的内容说明还是跟“|c|c|c|c|c|”保持一致。

总之, 有跨行,跨列的存在时, 还是按照先行后列的方式进行绘制, 时刻注意当前所在的行列位置进行线条绘制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: