Tabularray:表格环境中的 tblr 影响 pagebreak longtblr 并混合两个表格

Tabularray:表格环境中的 tblr 影响 pagebreak longtblr 并混合两个表格

我尝试在环境内部放置talltblr环境。但是,这会弄乱其上方表格的分页符。它不知何故最终位于 内。当我更改为时,也会发生同样的事情。我假设环境会给我更好的页面布局(垂直空间、位置等)。不建议在环境内部放置 吗?Tabularraytablelongtblrlongtblrtalltblrtblrtabletblrtable

table参见下面的 MWE 以及有和没有环境包裹的结果图片(tall)tblr。蓝色标题为longtblr,红色标题为talltblr

\documentclass{article}

\usepackage{xcolor}% Colors
\usepackage{tabularray}%
    \UseTblrLibrary{amsmath,booktabs}%

%--------------------------------------------------------------%
\begin{document}
%--------------------------------------------------------------%
\section{Long table error}

Text needed 1?

\begin{longtblr}[
    caption = {Long tblr caption},% Caption
]{
    colspec = {lX},
    rowhead = 1,%               # rows footer, header
        hline{1,Z}  = {1pt},%   top & bottomrule
        hline{2}    = {0.3pt},% midrule
        row{1}      = {cyan},
}
% Header
    Head 1      & Head 2 \\
% Table
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
\end{longtblr}

Text needed 2?

\begin{table}
  \begin{talltblr}[
    caption = {Tall tblr caption},% Caption
]{
    colspec     = {ll},
        hline{1,Z}  = {1pt},%   top & bottomrule
        hline{2}    = {0.3pt},% midrule
        row{1}      = {purple},
}
% Header
    Head 1      & Head 2 \\
% Table
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
  \end{talltblr}
\end{table}

Text needed 3?

\end{document}

使用table环境: 蓝色标题longtblr, 红色标题talltblr附表1附表2

没有table环境: 蓝色标题longtblr, 红色标题talltblr无表 1无表 2

答案1

许多用户在某一天发现某个table环境的默认选项中tbp没有此项时,会认为这是一个陷阱h,它告诉 LaTeX 不要尝试将表格放在“这里”(当前位置)。

在大多数情况下,将table环境的放置选项设置为 是一个好主意!htbp。在此示例中,!hbp是一个更好的选择,因为它位于一个长表之后。

\documentclass{article}

\usepackage{xcolor}% Colors
\usepackage{tabularray}%
\UseTblrLibrary{amsmath,booktabs}%

%--------------------------------------------------------------%
\begin{document}
%--------------------------------------------------------------%
\section{Long table error}

Text needed 1?

\begin{longtblr}[
    caption = {Long tblr caption},% Caption
]{
    colspec = {lX},
    rowhead = 1,%               # rows footer, header
        hline{1,Z}  = {1pt},%   top & bottomrule
        hline{2}    = {0.3pt},% midrule
        row{1}      = {cyan},
}
% Header
    Head 1      & Head 2 \\
% Table
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
\end{longtblr}

Text needed 2?

\begin{table}[!hbp]
  \begin{talltblr}[
    caption = {Tall tblr caption},% Caption
]{
    colspec     = {ll},
        hline{1,Z}  = {1pt},%   top & bottomrule
        hline{2}    = {0.3pt},% midrule
        row{1}      = {purple},
}
% Header
    Head 1      & Head 2 \\
% Table
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
            \hline
    AA          & 1 \\
    BB          & 2 \\
    CC          & 3 \\
    DD          & 4 \\
  \end{talltblr}
\end{table}

Text needed 3?

\end{document}

在此处输入图片描述

为了更好地控制table环境的位置,您可能会看到以下问题的答案:

如何影响 LaTeX 中图形和表格等浮动环境的位置?

将表格/图片放在靠近提及的地方

在环境之前清除浮动也存在一个问题longtblr

https://github.com/lvjr/tabularray/issues/60

相关内容