LaTeX platziert die Tabelle außerhalb des Seitenrands

LaTeX platziert die Tabelle außerhalb des Seitenrands

Ich verwende die KOMA-Klasse scrbook mit der Schriftart Tex Gyre Pagella (11pt) und halbem Zeilenabstand. Ich platziere einen Tabellen-Float mit den Positionsoptionen „htb“, aber sowohl pdflatex als auch lualatex platzieren die Tabelle außerhalb des Textkörpers. Die Tabelle wird unten auf der Seite positioniert, reicht aber weit in den unteren Rand hinein.

Ich verwende TeXLive 2014 auf Archlinux x64. lualatex --versiondruckt Version beta-0.79.1 (TeX Live 2014/Arch Linux) (rev 4971).

MWE (einschließlich Tex Gyre Pagella und einem halben Abstand). Ich habe showframemir die Ränder folgendermaßen vorgestellt:

\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}

Die Tabelle wird innerhalb des Seitenrandes positioniert

Kann mir jemand helfen?

PS: Das Ausprobieren verschiedener Platzierungsoptionen wie „bt“ oder „tb“ hilft in diesem MWE, ändert aber nichts daran, dass das Verhalten bei Verwendung von „htb“ nicht erwartet wird. Ich kann nicht jeden Float ändern.

PPS: Je nach Textgröße habe ich bei Latex den Float auch über den Text setzen lassen: Tabelle wird über Text positioniert

Antwort1

Die Verwendung \centeringvon anstelle von \begin{center}...\end{center}hat das Problem behoben (Miktex mit Lualatex unter Windows) [2].

Bei Verwendung \begin{center}...\end{center}wird innerhalb der Float-Umgebung zusätzlicher vertikaler Raum eingefügt. Ich vermute, dass dies die Randberechnungen von LaTeX beeinträchtigen könnte.

Im Allgemeinen \begin{center}...\end{center}wird die Verwendung von in Floating-Umgebungen nicht empfohlen. Verwenden Sie \centeringstattdessen[1].

Aktualisieren:

Wie vom Benutzer egreg vorgeschlagen, ist die Kombination des setspacePakets und der centerUmgebung in Floats besonders gefährlich. Obwohl die Positionierung der Tabelle mithilfe der centerUmgebung beim Entfernen des Pakets funktioniert setspace, würde ich empfehlen, dabei zu bleiben \centering, um zukünftige Kopfschmerzen zu vermeiden.


Beispielverwendung von\centering

\begin{table}[htb]
    \caption{Table caption}
    \label{tab:label1}
    \centering
    Descriptive text
    \begin{tabular}{cccc}
        ...
    \end{tabular}
\end{table}

[1] Abschnitt 3.1 von „Ein grundlegender Leitfaden zur Verwendung von LATEX 2ε - Veraltete Befehle und Pakete“ (http://mirrors.ctan.org/info/l2tabu/english/l2tabuen.pdf)

[2]

Positionierung des Festtisches

verwandte Informationen