테이블을 회전하고 싶은데 옆으로 테이블 환경을 사용하면 테이블이 문서에서 사라지고 테이블 목록에서도 사라집니다. 아래와 같이 다양한 패키지를 사용해 보았습니다. 회전하려면 전체 테이블 환경(라벨, 캡션 등)이 필요합니다.
\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}
답변1
무엇을 했는지 보여주지 않아서 뭐가 문제인지는 알 수 없지만, 로 바꾸면 \begin{table}[H]
으로 바뀌게 \begin{sidewaystable}
됩니다 .\end{table}
\end{sidewaystable}
[H]
에 사용하는 경우sidewaystable
없이패키지 를 사용 float
하면 오류가 발생합니다
! LaTeX Error: Unknown float option `H'.
그러나 float 패키지가 로드되면 H
선택적 인수에서 허용되지만 실제로 작동하지 않아 sidewaystable
텍스트가 자동으로 삭제되므로 이상적이지 않습니다.
rotating
누군가는 이것이 또는 패키지 의 실패인지 논쟁할 수 있지만 float
나에게는 쓰기 액세스 권한만 있으므로 rotating
에 문제가 있다고 말할 것입니다 float
. 관리자에게 ping을 보내겠습니다....
답변2
일어나는 일은 대략 다음과 같습니다.
sidewaystable
실행하는 대신에 수행 한다는table
차이점이 있지만 본질적으로 유사합니다 .\@float{table}[<pref>]
\@float{table}[<pref>]\begin{lrbox}{\rot@float@box}
\end{sidewaystable}
가 발견 되면\end{lrbox}
완료되고 일부 유지 관리 작업이 뒤따르며 결국에는\end@float
.
위 코드에서 는 <pref>
명시적인 위치 지정 기본 설정 또는 기본 설정을 나타냅니다.
의 경우 \begin{sidewaystable}[H]
TeX는 다음을 찾습니다.
\@float{table}[H]\begin{lrbox}{\rot@float@box}
이제 float
시작됩니다. \@float
옵션을 검토하기 위해 변경됩니다. 발견 되면 H
그렇습니다
\@float@HH{sidewaystable}[H]
어느 것이 gobbles이고 [H]
, 그 중 일부 유지 관리 작업을 수행하고 그 중 \endsidewaystable
a \float@endH
를 \vbox
레지스터에 설정하기 시작합니다 \@currbox
.
스캔되는 순간 \end{sidewaystable}
두 개의 상자가 형성됩니다: \rot@float@box
및 \@currbox
. 그룹화를 통해 영리한 트릭을 수행 하므로 \begin{lrbox}
상자가 완성되고 그 후에도 \@currbox
. 그러나 상자를 회전해야 하는 표준 코드는 \endsidewaystable
결코 실행되지 않습니다(그리고 어쨌든 효과가 없습니다. 왜냐하면 가 닫히면 레지스터의 내용이 시작 전에 포함된 내용으로 복원되기 때문에 에 \@currbox
저장된 상자가 손실되기 때문입니다 . 비었다).\rot@float@box
\vbox\@currbox
[H]
해결책: 와 함께 사용하는 것은 의미가 없습니다 sidewaystable
.
더 말하고 싶습니다. a는 sidewaystable
가능한 한 피해야 하며 항상 페이지 부동이어야 합니다. 예를 들어, 이를 상단 부동으로 설정하면 독자가 테이블을 볼 때 어색한 움직임을 하게 됩니다. 게다가 가 sidewaystable
상단 플로트에 맞으면 표준(비회전)에도 맞을 가능성이 높습니다 table
.
답변3
나를 위해 작동합니다. siunitx
소수점에 숫자 볼륨을 정렬하는 데 사용할 기회를 얻었고 , 지정하지 않고도 캡션과 표 사이의 올바른 세로 간격에 대한 캡션을 로드하고 \vspace{2mm}
일부 오류/불일치를 수정했습니다. 특히 @David Carlisle이 지적한 대로 [H]
지정자를 와 함께 사용하면 안 됩니다 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}