Это мой текущий код. И я не могу сделать так, чтобы столбцы low high в FPCR Prophet Update были выровнены. Также Pick-up наклоняется вправо, а не в середине low high. Как мне добиться лучшего выравнивания? Я пробовал chatgpt, но он мне ничего не дает.
\begin{table}[H]
\centering
\begin{tabular}{lllllllll}
\toprule
Model & \multicolumn{2}{r}{Pick-up} & \multicolumn{2}{r}{FPCR-Prophet} & \multicolumn{2}{r}{FPCR-Prophet-update} & \multicolumn{2}{r}{Prophet} \\
Version var. & low & high & low & high & low & high & low & high \\
\midrule
h=0 & 1.83 & 1.79 & 1.47 & 5.14 & 2.07 & 2.13 & 0.82 & 6.88 \\
h=1 & 2.74 & 2.67 & 1.32 & 5.52 & 1.97 & 3.17 & 0.83 & 6.12 \\
h=2 & 5.06 & 5.18 & 1.2 & 5.74 & 1.92 & 4.1 & 0.9 & 6.75 \\
h=3 & 8.57 & 9.91 & 1.13 & 6.45 & 2.69 & 5.86 & 0.92 & 7.43 \\
\bottomrule
\end{tabular}
\caption{Simulation results }
\label{your-label}
\end{table}
решение1
Выравнивание метки Prophet
происходит потому, что вы указываете r
в \multicolumn
; использовать c
вместо этого. Для других \multicolumn
s было бы желательно использовать c
тоже, но для более широких ( FPCR-Prophet
& FPCR-Prophet-update
) это не поможет, так как они просто слишком широкие, т. е. шире, чем два столбца под ними вместе взятые. LaTeX не имеет хороших положений для выполнения этого конда вложенных выравниваний, но я думаю, что простым решением было бы сместить два low
столбца немного вправо. Насколько, вы должны выяснить методом проб и ошибок. Я пробовал 3 мм и 9 мм соответственно. Это дает мне следующее решение:
\documentclass{article}
\usepackage{booktabs}
\usepackage{array}
\begin{document}
\begin{table}[h]
\noindent\rule{\textwidth}{1mm}\\
\centering
\begin{tabular}{lll>{\hspace{3mm}}ll>{\hspace{9mm}}llll}
\toprule
Model & \multicolumn{2}{c}{Pick-up} & \multicolumn{2}{c}{FPCR-Prophet} & \multicolumn{2}{c}{FPCR-Prophet-update} & \multicolumn{2}{c}{Prophet} \\
Version var. & low & high & low & high & low & high & low & high \\
\midrule
h=0 & 1.83 & 1.79 & 1.47 & 5.14 & 2.07 & 2.13 & 0.82 & 6.88 \\
h=1 & 2.74 & 2.67 & 1.32 & 5.52 & 1.97 & 3.17 & 0.83 & 6.12 \\
h=2 & 5.06 & 5.18 & 1.2 & 5.74 & 1.92 & 4.1 & 0.9 & 6.75 \\
h=3 & 8.57 & 9.91 & 1.13 & 6.45 & 2.69 & 5.86 & 0.92 & 7.43 \\
\bottomrule
\end{tabular}
\\\noindent\rule{\textwidth}{1mm}
\caption{Simulation results }
\label{your-label}
\end{table}
\end{document}
Два правила предназначены для отображения ширины текста, и, как вы видите, вся таблица становится слишком широкой с article
классом LaTeX.
Мы можем попробовать сделать таблицу немного меньше, используя шрифт \small
и удалив часть межколоночного пространства с помощью @{}
. Тогда сдвиги станут 1 мм и 7 мм.
\begin{table}[h]
\noindent\rule{\textwidth}{1mm}\\
\centering\small
\begin{tabular}{lll>{\hspace{1mm}}ll>{\hspace{7mm}}ll@{}ll}
\toprule
Model & \multicolumn{2}{c}{Pick-up} & \multicolumn{2}{@{}c}{FPCR-Prophet} & \multicolumn{2}{@{}c}{FPCR-Prophet-update} & \multicolumn{2}{@{}c}{Prophet} \\
Version var. & low & high & low & high & low & high & low & high \\
\midrule
h=0 & 1.83 & 1.79 & 1.47 & 5.14 & 2.07 & 2.13 & 0.82 & 6.88 \\
h=1 & 2.74 & 2.67 & 1.32 & 5.52 & 1.97 & 3.17 & 0.83 & 6.12 \\
h=2 & 5.06 & 5.18 & 1.2 & 5.74 & 1.92 & 4.1 & 0.9 & 6.75 \\
h=3 & 8.57 & 9.91 & 1.13 & 6.45 & 2.69 & 5.86 & 0.92 & 7.43 \\
\bottomrule
\end{tabular}
\\\noindent\rule{\textwidth}{1mm}
\caption{Simulation results }
\label{your-label}
\end{table}
решение2
Я бы использовал легенду вместо длинных заголовков.
\documentclass{article}
\usepackage{siunitx,booktabs}
\begin{document}
\begin{table}[htp]
\centering
\setlength{\tabcolsep}{0pt}
\begin{tabular*}{\textwidth}{
@{\extracolsep{\fill}}
c
*{8}{S[table-format=1.2]}
}
\toprule
\smash{\begin{tabular}[t]{c} Version \\ var. \end{tabular}} &
\multicolumn{8}{c}{Model} \\
\cmidrule{2-9}
&
\multicolumn{2}{c}{Pick-up} &
\multicolumn{2}{c}{FPCR-P} &
\multicolumn{2}{c}{FPCR-PU} &
\multicolumn{2}{c}{Prophet} \\
\cmidrule{2-3} \cmidrule{4-5} \cmidrule{6-7} \cmidrule{8-9}
& {low} & {high} & {low} & {high} & {low} & {high} & {low} & {high} \\
\midrule
$h=0$ & 1.83 & 1.79 & 1.47 & 5.14 & 2.07 & 2.13 & 0.82 & 6.88 \\
$h=1$ & 2.74 & 2.67 & 1.32 & 5.52 & 1.97 & 3.17 & 0.83 & 6.12 \\
$h=2$ & 5.06 & 5.18 & 1.2 & 5.74 & 1.92 & 4.1 & 0.9 & 6.75 \\
$h=3$ & 8.57 & 9.91 & 1.13 & 6.45 & 2.69 & 5.86 & 0.92 & 7.43 \\
\bottomrule
\multicolumn{1}{l}{\makebox[0pt][l]{%
\footnotesize FPCR-P: FPCR-Prophet;\qquad FPCR-PU: FPCR-Prophet-update%
}}
\end{tabular*}
\caption{Simulation results}
\label{your-label}
\end{table}
\end{document}