Ich möchte eine Tabelle drehen. Wenn ich die seitliche Tabellenumgebung verwende, verschwindet die Tabelle aus dem Dokument und auch aus der Tabellenliste. Ich habe viel mit verschiedenen möglichen Paketen wie unten ausprobiert. Ich muss die gesamte Tabellenumgebung (Beschriftung, Überschrift usw.) drehen.
\documentclass[12pt]{report}
\renewcommand{\baselinestretch}{1.5}
\usepackage[top=1in, bottom=1in, left=1.25in, right=0.75in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{csvsimple}
\usepackage{amssymb}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{adjustbox}
\usepackage{placeins}
\usepackage{float}
\usepackage{wrapfig}
\usepackage{array}
\usepackage{tabularx}
\usepackage{tabu}
\usepackage{setspace}
\usepackage{multirow}
\usepackage{rotating}
\usepackage{multirow}
\usepackage{longtable}
\usepackage{enumitem}
\usepackage{pifont}
\usepackage{natbib}
\usepackage{booktabs}
\usepackage{collcell}
\usepackage{datatool}
\usepackage{pdflscape}
\usepackage{graphics}
\begin{document}
\begin{sidewaystable}[H]
\centering
\caption{Set table like this}
\vspace{2mm}
\begin{tabular}{cccccccccc}\toprule
& & Data set 1 & & & Data set 2 & & & Data set 3 & \\ \cmidrule(lr){2-4} \cmidrule(lr){5-7} \cmidrule(lr){8-10}
Estimators & $ n=10 $ & $ n=15 $ & $ n=20 $ & n=10 & $ n=15 $ & $ n=20 $ & $ n=10 $ & $ n=15 $ & $ n=20 $\\ \midrule
$ \hat{M}_{01} $ & 100.451 & 101.658 & 100.012 & 103.402 & 119.517 & 311.625 & 110.256 & 126.864 & 157.835 \\
$ \hat{M}_{02} $ & 59.146 & 7407.001 & 1508.683 & 448.119 & 326.131 & 788.717 & 189.374 & 153.392 & 285.499 \\
$ \hat{M}_{03} $ & 2896.694 & 2828.759 & 1154.403 & 974.536 & 1931.318 & 12350 & 1150.055 & 2778.052 & 1245.779 \\ \bottomrule
\end{tabular}%
\label{tex table}%
\end{sidewaystable}%
\end{document}
Antwort1
Sie zeigen nicht, was Sie getan haben, daher ist es nicht möglich zu sagen, was daran falsch ist, aber wenn Sie \begin{table}[H]
zu \begin{sidewaystable}
und \end{table}
zu ändern \end{sidewaystable}
, erhalten Sie
Wenn Sie [H]
aufsidewaystable
ohneWenn Sie das Paket verwenden float
, erhalten Sie eine Fehlermeldung
! LaTeX Error: Unknown float option `H'.
Beim Laden des Float-Pakets H
wird es jedoch im optionalen Argument zugelassen, funktioniert aber nicht, sidewaystable
was dazu führt, dass der Text stillschweigend gelöscht wird, was nicht ideal ist.
Man könnte darüber streiten, ob dies ein Fehler im Paket rotating
oder ist float
, aber da ich nur Schreibzugriff auf habe, rotating
würde ich sagen, dass es ein Problem mit ist float
. Ich werde den Betreuer anpingen …
Antwort2
Was passiert, ist ungefähr Folgendes:
sidewaystable
ist im Wesentlichen ähnlich zu , mit dem Unterschied, dass estable
statt auszuführen\@float{table}[<pref>]
\@float{table}[<pref>]\begin{lrbox}{\rot@float@box}
Wenn
\end{sidewaystable}
gefunden wurde,\end{lrbox}
wird es erledigt, gefolgt von einigen Wartungsarbeiten und schließlich von\end@float
.
Im obigen Code <pref>
steht für die expliziten oder die Standardpositionierungseinstellungen.
Im Falle von \begin{sidewaystable}[H]
findet TeX
\@float{table}[H]\begin{lrbox}{\rot@float@box}
und tritt nun float
ein. Es ändert sich, \@float
um die Optionen zu prüfen; wenn H
gefunden wird, tut es
\@float@HH{sidewaystable}[H]
welches es verschlingt [H]
, einige Wartungsarbeiten durchführt, darunter die Neudefinition \endsidewaystable
von be \float@endH
und mit dem Setzen eines Werts \vbox
im Register beginnt \@currbox
.
In dem Moment \end{sidewaystable}
, in dem gescannt wird, werden zwei Boxen gebildet: \rot@float@box
und \@currbox
. Da \begin{lrbox}
clevere Tricks mit der Gruppierung verwendet werden, ist die Box fertig und danach auch \@currbox
. Aber der Code des Standards \endsidewaystable
, der die Box drehen soll, wird nie ausgeführt (und hätte sowieso keine Wirkung, weil beim Schließen von \@currbox
die in gespeicherte Box \rot@float@box
verloren geht, da der Inhalt des Registers auf den Stand vor dem Start von zurückgesetzt wird \vbox\@currbox
(also leer ist).
[H]
Lösung: Die Verwendung mit ist nicht sinnvoll sidewaystable
.
Ich würde sogar noch mehr sagen: a sidewaystable
sollte so lange wie möglich vermieden werden und es sollte immer ein Seiten-Float sein. Wenn es beispielsweise als Top-Float eingestellt wird, würde der Leser umständliche Bewegungen ausführen müssen, um die Tabelle anzusehen. Außerdem sidewaystable
würde a, wenn es als Top-Float passt, höchstwahrscheinlich auch als Standard (ungedreht) passen table
.
Antwort3
Funktioniert bei mir. Ich habe die Gelegenheit genutzt, siunitx
für eine Ausrichtung numerischer Daten am Dezimalpunkt zu verwenden und für einen korrekten vertikalen Abstand zwischen Beschriftung und Tabelle „load caption“ zu laden, ohne angeben zu müssen \vspace{2mm}
, und einige Fehler/Inkonsistenzen korrigiert. Insbesondere sollte der Spezifizierer, wie von @David Carlisle angemerkt, [H]
nicht mit verwendet werden sidewaystable
.
\documentclass[12pt]{report}
\renewcommand{\baselinestretch}{1.5}
\usepackage[top=1in, bottom=1in, left=1.25in, right=0.75in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{csvsimple}
\usepackage{amssymb}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{adjustbox}
\usepackage{placeins}
\usepackage{float}
\usepackage{wrapfig}
\usepackage{array}
\usepackage{tabularx}
\usepackage{tabu}
\usepackage{setspace}
\usepackage{multirow}
\usepackage{rotating}
\usepackage{longtable}
\usepackage{enumitem}
\usepackage{pifont}
\usepackage{natbib}
\usepackage{booktabs}
\usepackage{collcell}
\usepackage{datatool}
\usepackage{pdflscape}
\usepackage{graphicx}
\usepackage{siunitx} %
\usepackage{caption} %
\begin{document}
\begin{sidewaystable}%[H]
\centering\sisetup{table-format =4.3, table-number-alignment=center}
\caption{Set table like this}
\begin{tabular}{c*{9}{S}}\toprule
& & {Data set 1} & & & {Data set 2} & & & {Data set 3} & \\ %\cmidrule(lr){2-4} \cmidrule(lr){5-7} \cmidrule(lr){8-10}
Estimators & {$n=10 $} & {$ n=15 $} & {$ n=20 $} & {n=10} & {$ n=15 $} & {$ n=20 $} & {$ n=10 $} & {$ n=15 $} & {$ n=20 $}\\ \midrule
$ \hat{M}_{01} $ & 100.451 & 101.658 & 100.012 & 103.402 & 119.517 & 311.625 & 110.256 & 126.864 & 157.835 \\
$ \hat{M}_{02} $ & 59.146 & 7407.001 & 1508.683 & 448.119 & 326.131 & 788.717 & 189.374 & 153.392 & 285.499 \\
$ \hat{M}_{03} $ & 2896.694 & 2828.759 & 1154.403 & 974.536 & 1931.318 & 12350 & 1150.055 & 2778.052 & 1245.779 \\ \bottomrule
\end{tabular}%
\label{tex table}%
\end{sidewaystable}%
\end{document}