垂直居中单元格内容

垂直居中单元格内容

考虑这个例子:

\documentclass{article}                                                                                                                                                                                       
\begin{document}
\begin{tabular}{ p{0.1\textwidth}l }
  gdgd asfsdf akku  & 5  \\
\end{tabular}
\end{document}

在此处输入图片描述

如何使单元格 01 的内容垂直居中?

答案1

以下是三种不同的可能解决方案:

\documentclass{article}
\usepackage{array}    % Only needed for the first example.
\usepackage{multirow} % Only needed for the third example.
\begin{document}

Using the vertically centered m type column: 

\begin{tabular}{ m{0.1\textwidth}l }
  gdgd asfsdf akku  & 5  \\
\end{tabular}

\bigskip

Using three different rows for the text in the first column:

\begin{tabular}{ p{0.1\textwidth}l }
  gdgd\\
  asfsdf   & 5\\
  akku   \\
\end{tabular}

\bigskip

Using multirow:

\begin{tabular}{ p{0.1\textwidth}l }
  gdgd asfsdf akku  & \multirow{3}{*}{5}  \\
\end{tabular}
\end{document}

在此处输入图片描述

答案2

你可以使用multirow单个单元格,但你必须计算线在此单元格中,以便垂直居中其内容。请注意,您可以使用小数来微调位置。

或者,使用m{...}左列的列类型(需要加载array):

\documentclass{article}
\usepackage{array}
\usepackage{multirow}

\begin{document}

\begin{tabular}{m{0.1\textwidth}l }
  gdgd asfsdf akku & 5 \\
\end{tabular}
\qquad
\begin{tabular}{p{0.1\textwidth}l }
  gdgd asfsdf akku & \multirow{3}{*}{5}\\
\end{tabular}

\end{document} 

在此处输入图片描述

答案3

一个可能的解决方案是使用多行包(但它要求你将左侧单元格拆分为三个单元格,并将右侧单元格的文本放入多行- 跨三行的单元格)。一个有效示例如下:

\documentclass{article}                                                                     \usepackage{multirow}                                                                                                
\begin{document}
\begin{tabular}{ p{0.1\textwidth}l }
  gdgd & \multirow{3}{*}{5} \\ 
  asfsdf \\ 
  akku \\
\end{tabular}
\end{document}

结果

对代码稍微解释一下:

gdgd & \multirow{3}{*}{5} \\

插入件咕咕咕作为第一行的第一个条目和一个多行- 横跨三行的单元格(第一个参数)继承原始列的宽度(第二个参数设置为 *)并包含文本“5”(最后一个参数)。 \\ 表示换行符

asfsdf \\ 

插入件韓國进入第二行的第一个条目。此行中的另一个条目是不必要的,因为多行- 上面的单元格。

相关内容