
我使用的是 KOMA 類 scrbook,字體為 Tex Gyre Pagella (11pt),半間距。我正在放置一個帶有位置選項“htb”的表格浮動,但是 pdflatex 和 lualatex 都將表格放置在文字主體之外。表格位於頁面底部,但進入底部邊距。
我在 archlinux x64 上使用 TeXLive 2014。lualatex --version
印刷Version beta-0.79.1 (TeX Live 2014/Arch Linux) (rev 4971)
。
MWE(包括 Tex Gyre Pagella 和二分之一間距)。我曾經showframe
想像過邊距:
\documentclass[paper=a4,
twoside=true,
parskip=half,
fontsize=11pt,
BCOR=3mm]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
% both font and onehalfspacing are imperative for this example
\usepackage{tgpagella}
\usepackage{setspace}
\onehalfspacing{}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{blindtext}
\usepackage{showframe}
\begin{document}
Dies hier ist ein Blindtext zum Testen von Textausgaben. Dies hier ist ein Blindtext zum Testen von Textausgaben.
Dies hier ist ein Blindtext zum Testen von Textausgaben. Dies hier ist ein Blindtext zum Testen von Textausgaben.
Dies hier ist ein Blindtext zum Testen von Textausgaben. Dies hier ist ein Blindtext zum Testen von Textausgaben.
Dies hier ist ein Blindtext zum Testen von Textausgaben. Dies hier ist ein Blindtext zum Testen von Textausgaben.
Dies hier ist ein Blindtext zum Testen von Textausgaben. Dies hier ist ein Blindtext zum Testen von Textausgaben.
Dies hier ist ein Blindtext zum Testen von Textausgaben. Dies hier ist ein Blindtext zum Testen von Textausgaben.
Dies hier ist ein Blindtext zum Testen von Textausgaben. Dies hier ist ein Blindtext zum Testen von Textausgaben.
Dies hier ist ein Blindtext zum Testen von Textausgaben. Dies hier ist ein Blindtext zum Testen von Textausgaben.
Dies hier ist ein Blindtext zum Testen von Textausgaben. Dies hier ist ein Blindtext zum Testen von Textausgaben.
Dies hier ist ein Blindtext zum Testen von Textausgaben. Dies hier ist ein Blindtext zum Testen von Textausgaben.
Dies hier ist ein Blindtext zum Testen von Textausgaben. Dies hier ist ein Blindtext zum Testen von Textausgaben.
\begin{table}[htb]
\caption{Table caption}
\label{tab:label1}
\vspace{2mm}
{\small
\begin{quote}
Dies hier ist ein Blindtext zum Testen von Textausgaben. Dies hier ist ein Blindtext zum Testen von Textausgaben.
Dies hier ist ein Blindtext zum Testen von Textausgaben. Dies hier ist ein Blindtext zum Testen von Textausgaben.
Dies hier ist ein Blindtext zum Testen von Textausgaben.
\end{quote}
}
\begin{center}
\begin{tabular}{cccc}
\toprule
\multirow{2}{*}{
Parameter~$b$
} & \multicolumn{3}{c}{Parameter $h$} \\
\cmidrule{2-4}
& 4 & 2 & 1\\ \midrule
360 & 0.0123 & 0.0123 & 0.0123\\[-2mm]
~ & {\scriptsize $\times 20$} & {\scriptsize $\times 20$}& {\scriptsize $\times 20$}\\[1mm]
360 & 0.0123 & 0.0123 & 0.0123\\[-2mm]
~ & {\scriptsize $\times 20$} & {\scriptsize $\times 20$}& {\scriptsize $\times 20$}\\[1mm]
360 & 0.0123 & 0.0123 & 0.0123\\[-2mm]
~ & {\scriptsize $\times 20$} & {\scriptsize $\times 20$}& {\scriptsize $\times 20$}\\[1mm]
360 & 0.0123 & 0.0123 & 0.0123\\[-2mm]
~ & {\scriptsize $\times 20$} & {\scriptsize $\times 20$}& {\scriptsize $\times 20$}\\
\bottomrule
\end{tabular}
\end{center}
\end{table}
\subsection{next subsection}
\blindtext{}
\end{document}
誰能幫我?
PS:嘗試不同的放置選項(例如“bt”或“tb”)有助於此 MWE,但這並不能改變使用“htb”的行為不是預期的事實。我無法改變每個浮動。
PPS:根據文字大小,我還讓乳膠將浮動放在文字上方:
答案1
使用\centering
而不是\begin{center}...\end{center}
修復問題(Windows 上的 Miktex 與 Lualatex)[2]。
當使用\begin{center}...\end{center}
額外的垂直空間時,會在浮動環境中引入額外的垂直空間。我懷疑這可能會影響 LaTeX 的邊距計算。
\begin{center}...\end{center}
一般來說,在浮動環境中不鼓勵使用,您應該改用\centering
[1]。
更新:
setspace
正如使用者egreg 所建議的,包裝與漂浮物中的環境結合center
尤其危險。儘管center
在移除包裝時可以使用環境定位桌子setspace
,但我建議堅持使用\centering
以避免將來出現麻煩。
範例用法\centering
\begin{table}[htb]
\caption{Table caption}
\label{tab:label1}
\centering
Descriptive text
\begin{tabular}{cccc}
...
\end{tabular}
\end{table}
[1] “LATEX 2ε 使用基本指南 - 過時的命令和套件”的第 3.1 節(http://mirrors.ctan.org/info/l2tabu/english/l2tabuen.pdf)
[2]