當我使用橫向指令時表格消失

當我使用橫向指令時表格消失

我想旋轉表格,當我使用橫向表格環境時,表格會從文件中消失,也會從表格清單中消失。我嘗試了很多不同的可能的軟體包,如下所示。我需要旋轉整個表格環境(標籤、標題等)。

\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'.

然而,當載入浮動包時,H可選參數允許但實際上不起作用,sidewaystable這會導致文字被靜默刪除,這並不理想。

有人可能會爭論這是否是rotatingfloat包中的一個失敗,但由於我只有寫入權限,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在暫存器中設定 a \@currbox

此時\end{sidewaystable}掃描,有兩個框正在形成:\rot@float@box\@currbox。由於\begin{lrbox}巧妙地進行了分組,盒子就完成了,之後也完成了\@currbox。但是\endsidewaystable應該旋轉盒子的標準代碼永遠不會執行(並且無論如何都不會產生任何效果,因為在 關閉時\@currbox,保存的盒子\rot@float@box會丟失,因為寄存器的內容恢復到開始之前包含的內容\vbox\@currbox(即是空的) 。

[H]解決方案:使用with沒有意義sidewaystable

我想說的是: asidewaystable應該盡可能長時間地避免,並且它應該始終是頁面浮動。例如,將其設置為頂部浮動會迫使讀者在看桌子時做出尷尬的動作;此外,如果 asidewaystable適合作為頂部浮動,它很可能適合作為標準(未旋轉)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} 

在此輸入影像描述

相關內容