Abschnittsüberschrift und gedrehte Tabelle auf derselben Seite

Abschnittsüberschrift und gedrehte Tabelle auf derselben Seite

Ich habe eine Tabelle, die aufgrund ihrer Größe gedreht werden muss. Außerdem ist sie in meinem Dokument die erste Tabelle im Anhang und muss daher hinter der Abschnittsüberschrift stehen. Sidewaystable erlaubt es nicht, sowohl die Abschnittsüberschrift als auch die gedrehte Tabelle auf derselben Seite zu haben. Daher habe ich die Pakete hvfloat sowie rotfloat / varwidth ausprobiert, beide führen jedoch nicht zu einer perfekten Lösung:

\documentclass[12pt,a4paper]{article}

\usepackage{hvfloat}
\usepackage{rotfloat}
\usepackage{varwidth}
    
\begin{document}

\section{Test Section 1}
\begin{center}
\hvFloat[nonFloat=true, capPos=t, rotAngle=90, objectPos=c]%
{table}%
{\begin{tabular}{lll}
column 1a & column 2a & column 3a \\
column 1b & column 2b & column 3b \\
column 1c & column 2c & column 3c \\
\end{tabular}}
{A rotated table}
{tab:test1}
\end{center}

\newpage
\section{Test Section 2}       
\begin{table}[H]
\begin{center}
\rotatebox{90}{%
\begin{varwidth}{\textheight}
\caption{Another rotated table}\label{tab:test2}
\begin{tabular}{lll}
column 1a & column 2a & column 3a \\
column 1b & column 2b & column 3b \\
column 1c & column 2c & column 3c \\
\end{tabular}
\captionsetup{font=footnotesize}  
\caption*{This table is just a test.}
\end{varwidth}}
\end{center}
\end{table}

\end{document}

In beiden Fällen erreiche ich, dass die Tabellen auf derselben Seite stehen wie die Abschnittsüberschrift, aber:

Im Fall von hvfloat (1) capPos=tbleibt die Überschrift trotz Verwendung der Option immer auf der linken Seite der Tabelle. Ich habe die Dokumentation gelesen, weiß aber nicht, was ich hier falsch mache. (2) Ich kann keine Option zum Hinzufügen von Tabellennotizen finden (in der Tabellenumgebung würde ich Folgendes verwenden:\caption*{Table Notes} aber das funktioniert hier nicht). Die Tabelle als solche ist vertikal und horizontal positioniert, wie ich es gerne hätte.

Im Fall der Rotatebox gelingt es mir, die Überschrift über die Tabelle und die Tabellennotizen unter die Tabelle zu bekommen, aber was auch immer ich mache, die Tabelle bleibt unten auf der Seite (obwohl sie horizontal zentriert sein und vertikal der Abschnittsüberschrift folgen sollte).

Ich bin für jeden Hinweis sehr dankbar. Vielen Dank.

Antwort1

Die Verwendung capPos=topvon anstelle von capPos=tführt zu folgender Ausgabe:

Bildbeschreibung hier eingeben

\documentclass[12pt,a4paper]{article}

\usepackage{hvfloat}
\usepackage{rotfloat}
\usepackage{varwidth}
    
\begin{document}

\section{Test Section 1}
\begin{center}
\hvFloat[nonFloat=true, capPos=top, rotAngle=90, objectPos=c]%
{table}%
{\begin{tabular}{lll}
column 1a & column 2a & column 3a \\
column 1b & column 2b & column 3b \\
column 1c & column 2c & column 3c \\
\end{tabular}}
{A rotated table}
{tab:test1}
\end{center}
\end{document}

Mit tabular*und a \multicolumnfür die Tabelle ntes:

Bildbeschreibung hier eingeben

\documentclass[12pt,a4paper]{article}

\usepackage{hvfloat}
\usepackage{booktabs}

\begin{document}

\section{Test Section 1}
\begin{center}
\hvFloat[nonFloat=true, capPos=top, rotAngle=90, objectPos=c]%
{table}%
{\begin{tabular*}{7cm}{@{\extracolsep{\fill}}lll@{}}
\toprule
column 1a & column 2a & column 3a \\
column 1b & column 2b & column 3b \\
column 1c & column 2c & column 3c \\
\bottomrule
\multicolumn{3}{@{}p{7cm}@{}}{these are some table notes these are some table notes these are some table notes these are some table notes these are some table notes}\\
\end{tabular*}}
{A rotated table}
{tab:test1}

\end{center}
\end{document}

Antwort2

Das Hauptproblem beim Hinzufügen einer \sectionÜberschrift ist, dass dadurch der verbleibende Platz (Breite vor der Drehung) reduziert wird. Außerdem ist es einfacher, eine Miniseite wie eine Tabelle zu verwenden (siehe\setcaptype ), als eine Tabelle wie eine Miniseite.

Beachten Sie, dass dies \centeringdie vertikale Position (nach dem Drehen) beeinflusst, während das dritte optionale Argument der Miniseite die horizontale Positionierung (nach dem Drehen) beeinflusst.

\documentclass[12pt,a4paper]{article}

\usepackage{adjustbox}
\usepackage{threeparttable}
\usepackage{showframe}% MWE only

\newsavebox{\tempbox}

\newcommand{\setcaptype}[1]% #1 = figure or table
  {\expandafter\def\csname @captype\endcsname{#1}\ignorespaces}
    
\begin{document}

\setbox\tempbox=\vbox{\section{Test Section 2}}% measure size of section title
\usebox\tempbox

\rotatebox{90}{\begin{minipage}[c][\textwidth][c]{\dimexpr \textheight-\ht\tempbox-\dp\tempbox-\baselineskip-\parskip}
\setcaptype{table}\centering
\begin{threeparttable}
\caption{Another rotated table}\label{tab:test2}
\begin{tabular}{lll}
column 1a & column 2a & column 3a \\
column 1b & column 2b & column 3b \\
column 1c & column 2c & column 3c \\
\end{tabular}
\begin{tablenotes}
\item The first note.
\end{tablenotes}
\end{threeparttable}
\end{minipage}}

\end{document}

verwandte Informationen