横向きコマンドを使用するとテーブルが消える

横向きコマンドを使用するとテーブルが消える

表を回転させたいのですが、横向きの表環境を使用すると、表がドキュメントから消え、表の一覧からも消えてしまいます。以下のように、さまざまなパッケージを試してみました。回転させるには、表環境全体 (ラベル、キャプションなど) が必要です。

\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。 のメンテナーに連絡します...

答え2

大まかに次のようなことが起こります:

  1. sidewaystableは本質的には と似ていますが、実行するtable代わりに\@float{table}[<pref>]

    \@float{table}[<pref>]\begin{lrbox}{\rot@float@box}
    
  2. \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]

これは、 を貪り食い、を[H]再定義するなどのメンテナンス作業を実行し、レジスタにを設定し始めます。\endsidewaystable\float@endH\vbox\@currbox

がスキャンされる時点では、と の\end{sidewaystable}2 つのボックスが形成されています。はグループ化に関して巧妙なトリックを実行するため、ボックスは で終了し、その後 も になります。ただし、ボックスを回転させる標準のコードは実行されません (また、 の終了時に、レジスタの内容が の開始前の状態 (つまり、空) に復元されるため、に保存されたボックスは失われるため、いずれにしても効果はありません)。\rot@float@box\@currbox\begin{lrbox}\@currbox\endsidewaystable\@currbox\rot@float@box\vbox\@currbox

[H]解決策:を with で使用するのは意味がありませんsidewaystable

さらに言うと、 a はsidewaystableできる限り避け、常にページ フロートにする必要があります。たとえば、 a をトップ フロートとして設定すると、読者はテーブルを見るために不自然な動きを強いられます。また、 a が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} 

ここに画像の説明を入力してください

関連情報