固定高度表格单元格的垂直对齐

固定高度表格单元格的垂直对齐

我有代码:

\documentclass{article}
\usepackage[a5paper]{geometry}
\begin{document}
\begin{tabular}{ | c | }
  \hline
  top\\[8ex]
  \hline
  center\\[8ex]
  \hline
  bottom\\[8ex]
  \hline
\end{tabular}
\end{document}

给出这个:

在此处输入图片描述

顶部列已对齐顶部。我如何才能将中间列垂直对齐到中间?并将底部列垂直对齐到底部?

答案1

这是一个更自动化的解决方案,不需要用户\parbox手动指定宽度。新命令\parboxc接受三个参数:

  1. 垂直对齐规范:tc, 或b
  2. 的高度\parbox
  3. 的内容\parbox

在此处输入图片描述

\documentclass{article}
\usepackage[a5paper]{geometry}

\newlength\mytemplength

\newcommand\parboxc[3]{%
    \settowidth{\mytemplength}{#3}%
    \parbox[#1][#2]{\mytemplength}{\centering #3}%
}

\begin{document}
\begin{tabular}{ | c | }
  \hline
  \parboxc{t}{8ex}{top}\\
  \hline
  \parboxc{c}{8ex}{center}\\
  \hline
  \parboxc{b}{8ex}{bottom}\\
  \hline
\end{tabular}
\end{document}

答案2

\documentclass{article}
\usepackage[a5paper]{geometry}
\usepackage{verbatimbox}
\begin{document}
\begin{tabular}{ | c | }
  \hline
  \addvbuffer[0ex 8ex]{top}\\
  \hline
  \addvbuffer[4ex]{center}\\
  \hline
  \addvbuffer[8ex 0ex]{bottom}\\
  \hline
\end{tabular}
\end{document}

在此处输入图片描述

答案3

您可以parbox在表格单元格中使用简单的 en:

\documentclass{article}
\usepackage[a5paper]{geometry}
\begin{document}
\begin{tabular}{ | c | }
  \hline
  \parbox[t][8ex]{8ex}{\centering top}\\
  \hline
  \parbox[c][8ex]{8ex}{\centering center}\\
  \hline
  \parbox[b][8ex]{8ex}{\centering bottom}\\
  \hline
\end{tabular}
\end{document}

不幸的是,您必须自己指定宽度,即8ex这些调用中的第二个。

相关内容