我有代码:
\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
接受三个参数:
- 垂直对齐规范:
t
,c
, 或b
; - 的高度
\parbox
; - 的内容
\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
这些调用中的第二个。