LaTeX は表をページ余白の外側に配置する

LaTeX は表をページ余白の外側に配置する

私は、フォント Tex Gyre Pagella (11pt) と 1/2 間隔の KOMA クラス scrbook を使用しています。位置オプション "htb" でテーブル フロートを配置していますが、pdflatex と lualatex の両方でテーブルがテキスト本体の外側に配置されます。テーブルはページの下部に配置されていますが、下余白にかなり入り込んでいます。

lualatex --version私は、ArchLinux x64 で TeXLive 2014 を使用していますVersion beta-0.79.1 (TeX Live 2014/Arch Linux) (rev 4971)

MWE (Tex Gyre Pagella と 1/2 間隔を含む)。私は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: この MWE では、「bt」や「tb」などのさまざまな配置オプションを試すことが役立ちますが、「htb」を使用した動作が予想外であるという事実は変わりません。すべてのフロートを変更することはできません。

PPS: テキストのサイズに応じて、LaTeX でテキストの上にフロートを配置するようにしました。 表はテキストの上に配置されます

答え1

\centeringの代わりにを使用すると\begin{center}...\end{center}問題は解決しました(Windows上のMiktexとLualatex)[2]

追加の垂直スペースを使用すると、\begin{center}...\end{center}フロート環境内に導入されます。これにより、LaTeX のマージンの計算が失敗する可能性があると思われます。

\begin{center}...\end{center}一般的に、フローティング環境ではの使用は推奨されず、\centering代わりに[1]を使用する必要があります。

アップデート:

setspaceユーザー egreg が示唆しているように、フロート内のパッケージと環境の組み合わせは特に危険です。パッケージを削除するときに環境centerを使用してテーブルを配置することはできますが、将来の問題を避けるために、そのままにしておくことをお勧めします。centersetspace\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]

固定テーブルの配置

関連情報