帮助保持长表在各个页面上连续

帮助保持长表在各个页面上连续

我使用 tabularray 包中的环境创建了一个长表longtblr,该表跨越 10 页。此外,我还有一个较小的tblr表需要放在底部。

我遇到的问题是,在最后一页(第 10 页),长表被拆分,小表插入在中间,导致长表不连续。我尝试使用命令\\*来防止长表在某些点处断裂,但小表仍然插入在中间。

我怎样才能确保长表保持完整,并且中间没有插入任何东西?不幸的是,我无法提供最小工作示例 (MWE)。

很抱歉回复延迟。我一直在创建 MWE。虽然我的实际文档类是 IEEEtran,但我在使用该类创建 MWE 时遇到了一些困难。作为临时解决方案,我为 MWE 使用了文章类。这两个表应该放在附录部分最后一页的文章底部。

在此处输入图片描述

% \documentclass{IEEEtran}
\documentclass{article}
\usepackage{tabularray}
\usepackage{graphicx}
\usepackage{adjustbox}

\begin{document}

\onecolumn
\adjustboxset{width=\linewidth, valign=M}
    \begin{longtblr}[]{
    hlines,
    vlines,
    }
      a & b \\
      a & b \\
      a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
    \end{longtblr}
% second small table
 \adjustboxset{width=0.6\linewidth, valign=M}
 \begin{table*}
   \caption{This is a small table} \label{tab:label}
   \begin{tblr}{
       hlines,
       colsep=3pt,
       colspec= {c *{2}{X[c,m]} },
       rowsep = 3pt,
     }
No  &   A   &  $ABC$   \\
 1   & \adjincludegraphics{example-image-a}
            
                     & \adjincludegraphics{example-image-a}  \\
 2   & \adjincludegraphics{example-image-a}
            
                     & \adjincludegraphics{example-image-a}  \\
   \end{tblr}
 \end{table*}
\end{document}

答案1

不清楚为什么在文档仍处于单列模式时,在命令后面的长表中\onecolumn插入浮动。在此模式下,您可以使用简单模式,并向其中添加放置选项。例如:figure*table[htb]

\documentclass{IEEEtran}
%\documentclass{article}
\usepackage{tabularray}
\usepackage[export]{adjustbox}
\usepackage{stfloats}

\usepackage{lipsum}

\begin{document}
\lipsum[1]
\onecolumn
\adjustboxset{width=\linewidth, valign=M}
    \begin{longtblr}[
caption = {long table, span over two columns}
        ]{hlines,vlines,
          colspec = {XX}  
          }
      a & b \\
      a & b \\
      a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
      a & b \\        a & b \\
    \end{longtblr}
% second small table
  \begin{table}[ht]
   \caption{This is a small table} \label{tab:label}
\adjustboxset{width=0.6\linewidth, valign=M}
   \begin{tblr}{
       hlines,
       colsep=3pt,
       colspec= {c *{2}{X[c,m]} },
       rowsep = 3pt,
     }
No  &   A   &  $ABC$   \\
 1   & \adjincludegraphics{example-image-a}

                     & \adjincludegraphics{example-image-a}  \\
 2   & \adjincludegraphics{example-image-a}

                     & \adjincludegraphics{example-image-a}  \\
   \end{tblr}
 \end{table}
 % \twocolumn ?
\end{document}

在此处输入图片描述

如果文章恢复为两列模式,则使用table*是有意义的。在这种情况下,表格将从下一页的顶部开始。

相关内容