LaTeX - 表格,多行,行数非整数

LaTeX - 表格,多行,行数非整数

编辑以提供更清晰的示例

基本上,我想制作一个表格,其中一列包含一系列日期,第二列和第三列包含该日期的一系列目标。但是,第二列和第三列中的元素数量并不相同,并且没有共同的因子,但我希望所有三列在垂直方向上等距分布。换句话说,和之间的垂直距离应该相同,2011-2012并且它们应该在目标之间。Training 1Training 2

例如,我想要做的是:

\begin{tabular}{|l c c|}
    \hline
    Year & Objective & Training \\
    \hline
    \multirow{5}{*}{2011-2012} & Objective 1 & \multirow{1.5}{*}{Training 1} \\
                         & Objective 2 &                               \\
                         & Objective 3 & \multrow{1.5}{*}{Training 2}  \\
    \hline
\end{tabular}

看起来像:

             Year         Objective     Training
                          Objective 1
                                        Training 1
             2011-2012    Objective 2
                                        Training 2
                          Objective 3

但是 s 之间的垂直空间Objective被压缩了。显然这不起作用,因为多行需要一个整数。是否有另一个命令可以使用非整数,或者是否有解决方法来获得我想要的效果。

做这样的事情的最好方法是什么?

附加編輯

这需要具有可扩展性,以便我可以选取任意三个数字,并能够制作出间距均匀的表格,例如

在此处输入图片描述

颜色无需复制,它们只是说明性的(而且通过 colorx 很容易做到)。顶行是标题,多色部分是具有不同元素数量的列(每列中的元素数量在标题中说明)。

答案1

你所做的完全正确,但你使用multirow包裹并且相关\multirow命令不正确:

在此处输入图片描述

\documentclass{article}
\usepackage{multirow}% http://ctan.org/pkg/multirow
\begin{document}
\begin{tabular}{|l c c|}
    \hline
    Year & Objective & Training \\
    \hline
    \multirow{5}*{2011-2012} & Objective 1 & \multirow{2}*{Training 1} \\
                         & Objective 2 &                               \\
                         & Objective 3 & \multirow{3}*{Training 2}  \\
                         & Objective 4 &                               \\
                         & Objective 5 &                               \\
    \hline
\end{tabular}
\end{document}​

最简单的形式是\multirow{<num rows>}{<width>}{<stuff>}<num rows>使用整数表示要分布的行数<stuff><width>表示*的自然宽度<stuff>

就演示而言,你也可以使用booktabs其动机是由于表格固有的结构是列式的,所以不需要垂直线,因此不需要追求使用垂直规则:

在此处输入图片描述

\documentclass{article}
\usepackage{multirow}% http://ctan.org/pkg/multirow
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\begin{document}
\begin{tabular}{l c c}
    \toprule
    Year & Objective & Training \\
    \midrule
    \multirow{5}*{2011-2012} & Objective 1 & \multirow{2}*{Training 1} \\
                         & Objective 2 &                               \\
                         & Objective 3 & \multirow{3}*{Training 2}  \\
                         & Objective 4 &                               \\
                         & Objective 5 &                               \\
    \bottomrule
\end{tabular}
\end{document}​

编辑之后,您仍然可以指定整数值以\multirow按照您呈现的方式输入条目:

在此处输入图片描述

\documentclass{article}
\usepackage{multirow}% http://ctan.org/pkg/multirow
\begin{document}
\begin{tabular}{|l c c|}
    \hline
    Year & Objective & Training \\
    \hline
    \multirow{3}*{2011-2012} & Objective 1 & \multirow{2}*{Training 1} \\
                         & Objective 2 & \multirow{2}*{Training 2} \\
                         & Objective 3 & \\
    \hline
\end{tabular}
\end{document}​

此外,即使使用负数行数,也会获得与上面相同的输出\multirow。也就是说,使用以下tabular设置:

\begin{tabular}{|l c c|}
    \hline
    Year & Objective & Training \\
    \hline
    \multirow{3}*{2011-2012} & Objective 1 & \multirow{2}*{Training 1} \\
                         & Objective 2 & \\
                         & Objective 3 & \multirow{-2}*{Training 2}\\
    \hline
\end{tabular}

最终编辑更新:

m还可以通过-column 类型将表格内容居中array包裹。因此,为了复制结果(没有颜色和线条/规则),这里有一种方法可以做到:

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\usepackage{array}% http://ctan.org/pkg/array
\newcolumntype{C}{@{}c@{}}
\begin{document}
\begin{tabular}{*{10}{>{\centering\arraybackslash}m{2em}}}
  \toprule
  A & B & C & D & E & F & G & H & I & J \\
  \midrule
  \begin{tabular}{C}1\end{tabular} &
  \begin{tabular}{C}1\\2\end{tabular} &
  \begin{tabular}{C}1\\2\\3\end{tabular} &
  \begin{tabular}{C}1\\2\\3\\4\end{tabular} &
  \begin{tabular}{C}1\\2\\3\\4\\5\end{tabular} &
  \begin{tabular}{C}1\\2\\3\\4\\5\\6\end{tabular} &
  \begin{tabular}{C}1\\2\\3\\4\\5\\6\\7\end{tabular} &
  \begin{tabular}{C}1\\2\\3\\4\\5\\6\\7\\8\end{tabular} &
  \begin{tabular}{C}1\\2\\3\\4\\5\\6\\7\\8\\9\end{tabular} &
  \begin{tabular}{C}1\\2\\3\\4\\5\\6\\7\\8\\9\\10\end{tabular} \\
  \bottomrule
\end{tabular}
\end{document}​

相关内容