我尝试在环境内部放置talltblr
环境。但是,这会弄乱其上方表格的分页符。它不知何故最终位于 内。当我更改为时,也会发生同样的事情。我假设环境会给我更好的页面布局(垂直空间、位置等)。不建议在环境内部放置 吗?Tabularray
table
longtblr
longtblr
talltblr
tblr
table
tblr
table
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}
答案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
环境的位置,您可能会看到以下问题的答案:
在环境之前清除浮动也存在一个问题longtblr
: