在表格中,是否可以垂直居中多列?

7

我找到了一个例子这里,但那只是将一列居中,我无法使其符合我的需求。我想要的是像这样:

alt text

2个回答

4

要做到这一点,您需要使用\usepackage{array}

据我所知,您正在查看m{}对齐方式,它在指定的点值处换行段落,并将文本垂直对齐到字段的中间。例如,像这样:

\begin{tabular}{|m{2cm}|m{1ex}|m{1ex}|m{1ex}} \hline
           & x1 & x2 & x3 \\\hline
Long Label & 1  & 0  & 1  \\\hline
Long Label & 0  & 1  & 1  \\\hline
\end{tabular}

我无法像那样编译它。我之前也尝试过搜索那个数组包,因为在谷歌上搜索后我读到了相关信息,但我找不到它的文档。 - iceburn
我是个傻瓜。应该使用\usepackage{array},而不是\include{array}。 - Mies
我明白你的意思。我会试着调整一下,直到LaTeX能够正确地呈现我的意思。 - Mies
我忘记添加额外的对齐。因此,顶部行应该有1 m{2cm}和3 m{1ex}。我漏掉了其中一个m{1ex}。 - Mies
4
我已经编译了它,但它不能按预期工作。在x1/x2/x3列中的文本没有垂直居中。 - iceburn
谢谢!这绝对是我见过的最简单的解决方案,也是唯一一个对我有效的。 - etotheipi

3

试试这个:

\begin{tabular}{|m{3.5em}|b{1em}|b{1em}|b{1em}|}
\hline
%% row 1

&x1
&x2
&x3
\\\hline
%% row 2
Long Label
&1
&0
&1
\\\hline
%% row 3
Long Label
&1
&0
&1
\\\hline
\end{tabular}

有关表格式的更多信息,请参见http://en.wikibooks.org/wiki/LaTeX/Tables

编辑:将c更改为b{}


我不知道那是什么意思 - 它是居中对齐的... 如果你指的是换行,那么你需要使用m{}来设置列大小,而不是c。 - Robert
访问我列出的维基教科书,你将从那里获得所需的一切。 - Robert
4
这可能更适合在tex.stackexchange.com上提问。 - Crippledsmurf
1
使用b{}代替m{}确实可以使其垂直对齐,但现在它没有水平对齐... 啊! - iceburn
文档中的所有示例都不能满足我的需求,而谷歌的大部分结果最多只是从文档中摘取的示例。 - iceburn
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接