表格单元格的垂直对齐

表格单元格的垂直对齐

我正在尝试将表格单元格中的文本垂直居中,但无法使它与我当前的表格配合使用。这是我到目前为止使用该m参数进行的设置,我尝试通过查看这里

\documentclass[10pt,a4paper]{article}

\usepackage[usenames,dvipsnames,svgnames,table]{xcolor} % use color
\usepackage{booktabs} % commands for table rules
\usepackage{tabularx}
\usepackage{lipsum}

\newcommand{\scell}[1]{\cellcolor{black!25} \bfseries #1 }
\newcommand{\slcell}[1]{\cellcolor{black!25} #1 }


\begin{document}

\begin{tabular}{|>{\arraybackslash}m{1.8cm}|>{\centering\arraybackslash}m{3.5cm}|>{\centering\arraybackslash}m{2.8cm}|>{\centering\arraybackslash}m{2.8cm}|>{\centering\arraybackslash}m{2.8cm}|}
\hline 
& \textbf{Given names}  &  \multicolumn{3}{c|}{\textbf{\centering Testing}} \tabularnewline
\hline
\multicolumn{5}{|l|}{  \scell{Category 1}}   \tabularnewline
\hline 
 & Person 1  & \multicolumn{3}{p{9cm}|}{\lipsum[1] }  \tabularnewline
\hline 
\end{tabular}


\end{document}

这给出了以下结果:

在此处输入图片描述

答案1

使用\multicolumn3{m{9cm}}{…}而不是p{9cm}。由于您的表格太宽,无法容纳边距,我借此机会使用 进行了更改tabularx。另请注意usenames的选项xcolor已过时:它现在是默认选项。

\documentclass[10pt,a4paper]{article}
\usepackage[showframe]{geometry} %
\usepackage[dvipsnames,svgnames,table]{xcolor} % use color
\usepackage{booktabs} % commands for table rules
\usepackage{tabularx}
\usepackage{lipsum}

\newcommand{\scell}[1]{\cellcolor{black!25} \bfseries #1 }
\newcommand{\slcell}[1]{\cellcolor{black!25} #1 }


\begin{document}

\noindent
\begin{tabularx}{\linewidth}{|>{\arraybackslash}m{1.5cm}|>{\centering\arraybackslash}X|>{\centering\arraybackslash}m{2.8cm}|>{\centering\arraybackslash}m{2.8cm}|>{\centering\arraybackslash}m{2.8cm}|}
\hline
& \textbf{Given names} & \multicolumn{3}{c|}{\textbf{\centering Testing}} \tabularnewline
\hline
\multicolumn{5}{|l|}{ \scell{Category 1}} \tabularnewline
\hline
 & Person 1 & \multicolumn{3}{m{9cm}|}{\lipsum[1] } \tabularnewline
\hline
\end{tabularx}

\end{document} 

在此处输入图片描述

相关内容