我目前将[H]
其用作附录中表格列表的浮动参数。这样做的目的是使附录中的表格在每一页上都从相同的垂直距离开始(多个连续表格的垂直对齐)。
现在的问题是,[H]
表格被拉伸,因为行距变大。这从何而来?
相反,我只想使用[H]
来消除浮动行为,但同时保持格式一致。请参见以下示例来说明问题。您可以交换[H]
,!h
这样两个表看起来就完全一样了,就像您想要的那样,但与顶部的垂直距离被破坏了。
\documentclass[a4paper, 12pt, headsepline, headings=small,]{scrreprt}
\usepackage[onehalfspacing]{setspace}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{float}
\begin{document}
\chapter{Tables}
\begin{table}[!h]
\centering
\caption{Table caption}
\label{magic numbers}
{\scriptsize
\begin{tabular}{l*{7}{c}}
\toprule
& \multicolumn{1}{c}{A} & \multicolumn{1}{c}{B} &
\multicolumn{1}{c}{C} & \multicolumn{1}{c}{D} & \multicolumn{1}{c}{E} & \multicolumn{1}{c}{F} & \multicolumn{1}{c}{G} \\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
\end{tabular}
}
\end{table}
\vspace*{18pt}
\begin{table}[H]
\centering
\caption{Table caption}
\label{magic numbers}
{\scriptsize
\begin{tabular}{l*{7}{c}}
\toprule
& \multicolumn{1}{c}{A} & \multicolumn{1}{c}{B} &
\multicolumn{1}{c}{C} & \multicolumn{1}{c}{D} & \multicolumn{1}{c}{E} & \multicolumn{1}{c}{F} & \multicolumn{1}{c}{G} \\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
A & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
B & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
C & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
D & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
E & 54.42 & 54.42 & 54.42 & 54.42 & 54.42& 54.42& 54.42\\
\end{tabular}
}
\end{table}
\end{document}
因此,最终目标是一致地对齐多个表格(在附录中),即从顶部的同一点开始。也许有办法手动实现这一点?我可以手动为各个表格执行此操作,解决方案实际上不必自动化。此外,我只想在附录中实现此行为,而不是在主文档中实现此行为,因为那里的浮动运行良好。
谢谢。
答案1
这是包的加载顺序问题。您需要setspace
在之后加载float
;它们都与内部 LaTeX 命令交互\@xfloat
。
错误:\usepackage[onehalfspacing]{setspace}
之前\usepackage{float}
就\usepackage{float}
在之前\usepackage[onehalfspacing]{setspace}
\documentclass[a4paper]{book}
\usepackage{float}
\usepackage[onehalfspacing]{setspace}
\begin{document}
\chapter{Tables}
\begin{table}[H]
\centering
\begin{tabular}{c}
1\\
1\\
1
\end{tabular}
\end{table}
\begin{table}[h]
\centering
\begin{tabular}{c}
1\\
1\\
1
\end{tabular}
\end{table}
\end{document}