表格标题垂直居中对齐

表格标题垂直居中对齐

我正在使用下面提到的 LaTeX 代码创建表头:

\begin{center}
\begin{tabular}{|c|l|c|c|c|c|}
\hline
$\textbf{Q }$&$\textbf{Header one}$&$\textbf{Test} $&$\textbf{Test1}$&$\textbf{Test2}$&$\textbf{Test3}$\\
$ $&$ $&$\textbf{Text4} $&$\textbf{Text5}$&$\textbf{Text6}$&$\textbf{Text7}$\\
$ $&$ $&$ $&$$&$$&$\textbf{Text8}$\\
\hline
\end{tabular}
\end{center}$

您能否建议我如何将其垂直对齐?[注意:我正在寻找将标题内的文本居中对齐的选项,标题目前分布在三行上。]

答案1

经过澄清后,这是一个新版本。没有使用其他软件包。每列都是一个单独的表。$留下了,但并不需要。

\documentclass{article} 

\begin{document}

\def\barr{\begin{tabular}{l}}
\def\earr{\end{tabular}}

\begin{tabular}{|c|l|c|c|c|c|}
\hline
$\textbf{Q }$&
\barr 
$\textbf{Header one}$
\earr &
\barr
$\textbf{Test}$\\
$\textbf{Text4} $\\
\earr &
\barr
$\textbf{Test1}$\\
$\textbf{Text5}$
\earr &
\barr
$\textbf{Test2}$\\
$\textbf{Text6}$
\earr &
\barr
$\textbf{Test3}$\\
$\textbf{Text7}$\\
$\textbf{Text8}$
\earr\\
\hline
\end{tabular}


\end{document}

在此处输入图片描述

答案2

这可能就是你想要的:

在此处输入图片描述

代码:

\documentclass[12pt,a4paper]{report}
\usepackage{array}
\newcolumntype{M}{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{1.5cm}}

\begin{document}

\begin{center}
\begin{tabular}{|M|m{3cm}|M|M|M|M|}
\hline
\textbf{Q} &
\textbf{Header one} &
\textbf{Test \newline Text4} &
\textbf{Test1 \newline Text5} &
\textbf{Test2 \newline Text6} &
\textbf{Test3 \newline Text7 \newline Text8}\\
\hline
\end{tabular}
\end{center}

\end{document} 

如果你想要不同的列宽,你可以声明\newcolumntype一个可选参数,例如

\newcolumntype{M}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

另外,如果您希望整个表格都以粗体显示,您可以\bfseries在该声明中添加

\newcolumntype{M}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}\bfseries}m{#1}}

因此,上面的代码可以修改为

\documentclass[12pt,a4paper]{report}
\usepackage{array}
\newcolumntype{M}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}\bfseries}m{#1}}
\newcolumntype{N}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}\bfseries}m{#1}}

\begin{document}

\begin{center}
\begin{tabular}{|M{1cm}|N{3cm}|M{1.5cm}|M{1.5cm}|M{1.5cm}|M{1.5cm}|}
\hline
Q &
Header one &
Test \newline Text4 &
Test1 \newline Text5 &
Test2 \newline Text6 &
Test3 \newline Text7 \newline Text8\\
\hline
\end{tabular}
\end{center}

\end{document}

结果是

在此处输入图片描述

答案3

如果我正确理解了您的问题,您正在寻求创建一种可以换行并且使列内容居中的列类型。

实现此目的的一种方法就是利用array软件包(据我所知,所有 LaTeX 发行版都包含该软件包),创建一个名为“C”的新列类型来完成此工作。当然,您应该设置列的宽度以满足您的特定需求。

顺便说一句,不需要封装\textbf在数学模式中设置的材料。

在此处输入图片描述

\documentclass{article}
\usepackage{array}
\newcolumntype{C}{>{\centering\arraybackslash}p{1.25cm}}
\begin{document}
\begin{center}
\begin{tabular}{|c|l|C|C|C|C|}
\hline
\textbf{Q} & 
\textbf{Header one} & 
\textbf{Test Text4} & 
\textbf{Test1 Text5} & 
\textbf{Test2 Text6} & 
\textbf{Test3 Text7 Text8}\\
\hline
\end{tabular}
\end{center}
\end{document}

相关内容