表格问题:长文本垂直居中+增加行高

表格问题:长文本垂直居中+增加行高

我已经在这个网站上检查过这篇文章: 表格中文本的垂直居中

我问的问题与这个问题非常相似:

  1. 我希望所有单元格都垂直居中。这可以通过使用array包和m{20em}描述符来实现。

  2. 我想给行添加额外的空间;也就是说,我希望行的高度大于默认值。这可以通过使用

    \renewcommand{\arraystretch}{3}
    

    或者

    \setlength{\extrarowheight}{3em}
    

上述两个要求可以单独轻松满足。但是,如果我想要两种效果,就会出现问题。单元格不是垂直居中,整个表格看起来真的很尴尬!

为了发现问题,例如\extrarowheight需要将设置为一个较大的值。3em

欢迎任何建议!

以下是一个例子:

\documentclass{article}
\usepackage{array}

\begin{document}

\setlength{\extrarowheight}{3em} 

%without the above command, the table looks fine.

\begin{center}

\begin{tabular}{r m{6em}}

\hline

Item 0 & bla bla \\
\\    
Item 1 & Long description of item 1 blaaaaaa blaaaaaaa blaaaaaaaa blaaaaaaaa blaaaaa blaaa blaaaaaaaaaa \\
\\
Item 2 & blaaaaaaaaaaaa blaaaaaaa blaaaaaaaaaa \\
\\    
\hline

\end{tabular}

\end{center}

\end{document}

答案1

\documentclass{article}
\usepackage{calc,array}
\newcommand{\cellstart}{\rule{0pt}{\heightof{A}+2ex}}
\newcommand{\cellfinish}{\rule[-2ex]{0pt}{2ex}}

\begin{document}


\begin{center}

\begin{tabular}{r >{\cellstart}m{6em}<{\cellfinish}}
\hline
Item 0 & bla bla \\
\hline
Item 1 & Long description of item 1 blaaaaaa blaaaaaaa blaaaaaaaa blaaaaaaaa blaaaaa blaaa
blaaaaaaaaaa \\
\hline
Item 2 & blaaaaaaaaaaaa blaaaaaaa blaaaaaaaaaa \\
\hline
\end{tabular}

\end{center}

\end{document}

将其更改2ex为适合您的。

然而,我发现,一般来说,这种垂直居中对表格的可读性没有帮助,特别是当第二列中的条目很长时。

相关内容