当我使用侧面命令时表格消失

当我使用侧面命令时表格消失

我想旋转表格,当我使用侧向表格环境时,表格会从文档中消失,也会从表格列表中消失。我尝试了很多不同的可能的软件包,如下所示。我需要旋转整个表格环境(标签、标题等)。

\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。我会 ping 它的维护者....

答案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},有两个框正在形成:\rot@float@box\@currbox。由于\begin{lrbox}在分组方面做了巧妙的技巧,框已完成,之后 也\@currbox。但是应该旋转框的标准代码\endsidewaystable从未执行过(并且无论如何也不会产生任何效果,因为在 结束时\@currbox, 中保存的框\rot@float@box会丢失,因为寄存器的内容会恢复为 开始之前的内容\vbox\@currbox(即为空)。

[H]解决方案:使用with没有意义sidewaystable

我还要说:sidewaystable应尽可能避免使用 a ,并且它应始终是页面浮动。例如,将其设置为顶部浮动会迫使读者做出尴尬的动作来查看表格;此外,如果 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} 

在此处输入图片描述

相关内容