使用多行时缩小垂直空间

使用多行时缩小垂直空间

使用时multirow,如何缩小两行之间的空间,同时仍保持所有内容垂直居中?以下是一个例子

\documentclass{article}
\usepackage{multirow}
% ---------------
\begin{document}
\begin{tabular}{l l}
some & text \\
& b \\[-4pt]
\multirow{-2}{*}{a}
& b \\
some & text \\
\end{tabular}
% ----------------
\begin{tabular}{l l}
some & text \\
& b \\
\multirow{-2}{*}{a}
& b \\
some & text \\
\end{tabular}
\end{document}

如果我缩小两个 b 之间的行间距,它就a不再垂直居中了。

在此处输入图片描述

答案1

您不需要任何包来实现这一点,您只需嵌套即可tabular

\documentclass{article}
\begin{document}
\begin{tabular}{l l}
some & text \\
a & \begin{tabular}{@{}l}b \\[-4pt] b
\end{tabular}\\
some & text \\
\end{tabular}
\end{document}

在此处输入图片描述

比较:

\documentclass{article}
\usepackage{multirow}
% ---------------
\begin{document}
\begin{tabular}{l l}
some & text \\
a & \begin{tabular}{@{}l}b \\[-4pt] b
\end{tabular}\\
some & text \\
\end{tabular}
% ----------------
\begin{tabular}{l l}
some & text \\
& b \\[-4pt]
\multirow{-2}{*}{a}
& b \\
some & text \\
\end{tabular}
% ----------------
\begin{tabular}{l l}
some & text \\
& b \\
\multirow{-2}{*}{a}
& b \\
some & text \\
\end{tabular}
\end{document}

在此处输入图片描述

答案2

使用\makecell,而不使用 multirow ,是否足以满足您的需求?默认情况下,其内容垂直和水平居中。

\documentclass{article}
\usepackage{makecell}
\renewcommand{\cellset}{\renewcommand{\arraystretch}{0.5}}

\begin{document}

\begin{tabular}{l l}
some & text \\
a & \makecell{ b \\ b }\\
some & text \\
\end{tabular}

\end{document} 

在此处输入图片描述

相关内容