![當我使用橫向指令時表格消失](https://rvso.com/image/348607/%E7%95%B6%E6%88%91%E4%BD%BF%E7%94%A8%E6%A9%AB%E5%90%91%E6%8C%87%E4%BB%A4%E6%99%82%E8%A1%A8%E6%A0%BC%E6%B6%88%E5%A4%B1.png)
我想旋轉表格,當我使用橫向表格環境時,表格會從文件中消失,也會從表格清單中消失。我嘗試了很多不同的可能的軟體包,如下所示。我需要旋轉整個表格環境(標籤、標題等)。
\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
這會導致文字被靜默刪除,這並不理想。
有人可能會爭論這是否是rotating
或float
包中的一個失敗,但由於我只有寫入權限,rotating
我會說這是float
.我會聯絡它的維護者......
答案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]
它吞噬了[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}