我在表格中使用了 合并了列multicolumn
。我希望此多列中的文本垂直居中。这是 MWE:
\documentclass[14pt]{article}
\usepackage[left=2.54cm, right=2.54cm, top=3.17cm, bottom=3.17cm]{geometry}
\usepackage{tabu,longtable}
\begin{document}
\begin{longtabu} to \textwidth {|p{0.1\textwidth}|X|}
\hline
\textbf{1.} & stuff \\ \hline
\textbf{2.} & stuff \\ \hline
\multicolumn{2}{|l|}{\large{\textbf{Reports}}} \\[3ex] \hline
\end{longtabu}
\end{document}
这使:
我尝试了各种各样的组合,包括使用以下命令定义列类型:
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
和:
\usepackage{array}
\multicolumn{2}{|M{1cm}|}{\large{\textbf{Reports}}} \\[3ex] \hline
但这不起作用。我见过很多使用的例子,tabular
但我需要我的表格跨越多个页面。
答案1
新的 LaTeX3 软件包tabularray
是过时软件包的替代品:在环境tabu
内部垂直居中很容易。longtblr
\documentclass[14pt]{article}
\usepackage[left=2.54cm, right=2.54cm, top=3.17cm, bottom=3.17cm]{geometry}
\usepackage{tabularray}
\begin{document}
\begin{longtblr}[
caption = {Long Title},
label = {tblr:test},
]{
colspec = {|t{0.1\textwidth}|X|},
column{1} = {font=\bfseries},
row{3} = {3em},
cell{3}{1} = {c=2}{m,font=\large\bfseries}, % multicolumn
hlines,
}
1. & stuff \\
2. & stuff \\
Reports & \\
\end{longtblr}
\end{document}
答案2
我希望看到一个更通用的解决方案,但这对我有用:
\documentclass[14pt]{article}
\usepackage[left=2.54cm, right=2.54cm, top=3.17cm, bottom=3.17cm]{geometry}
\usepackage{tabu,longtable}
\begin{document}
\begin{longtabu} to \textwidth {|p{0.1\textwidth}|X|}
\hline
\textbf{1.} & stuff \\ \hline
\textbf{2.} & stuff \\ \hline
\multicolumn{2}{|l|} \\[1ex]
\multicolumn{2}{|l|}{\large{\textbf{Reports}}} \\[3ex] \hline
\end{longtabu}
\end{document}
我在更改了高度的行上方添加了一个缩放到正确大小的空行。