我在表格中使用“多行”,但无法让列正确居中。有人能帮忙吗?我的代码如下,还有它给我的表格的屏幕截图。
谢谢你!
\begin{table}[ht]{}
\caption{Results of Conceptual Design}
\centering
\def\arraystretch{1.5}
\begin{tabular}{c@{\qquad}ccc@{\qquad}ccc}
\hline\hline
\multirow{2}{*}{\raisebox{-\heavyrulewidth}{Material}} & \multicolumn{3}{c}
{Thickness Breakdown (\%)} & \multirow{2}{*}{\raisebox{-\heavyrulewidth}
{Total Thickness (mm)}} & \multirow{2}{*}{\raisebox{-\heavyrulewidth}{Lost
Profit (\pounds)}}\\
\cmidrule{2-4}
& 0\degree & 45\degree & 90\degree & \\
\hline
a & 1 & 1 & 1 & 1 & 1 \\
b & 1 & 1 & 1 & 1 & 1 \\ [1ex]
\hline
\end{tabular}
\label{table:conresults}
\end{table}
答案1
像这样吗?
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs, makecell, multirow}
\renewcommand{\theadfont}{\small}
\renewcommand{\theadgape}{}
\begin{document}
\begin{table}[ht]
\caption{Results of Conceptual Design}
\label{table:conresults}
\centering
\setlength\tabcolsep{12pt}
\begin{tabular}{c ccc cc}
\toprule
\multirow{3}{*}[3pt]{Material}
& \multicolumn{3}{c}{\thead{Thickness\\ Breakdown (\%)}}
& \multirow{3}{*}{\thead{Total\\ Thickness\\ (mm)}}
& \multirow{3}{*}{\thead{Lost\\ Profit\\ (\pounds)}}\\
\cmidrule(lr){2-4}
& \SI{0}{\degree} & \SI{45}{\degree} & \SI{90}{\degree} & \\
\midrule
a & 1 & 1 & 1 & 1 & 1 \\
b & 1 & 1 & 1 & 1 & 1 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
- 使用
multirow
与列居中无关。你的问题是multicolumn
标题太长,所以它下面的最后一列比它的自然宽度更宽 - 你应该总是提供完整的小文档,就像我在上面的代码中所做的那样(从头开始写序言中应该有什么内容,检查你的代码是找不到的,这是可以测试的)