我正在使用下面提到的 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}