我創建了這樣的配置
\SetTblrTemplate{middlehead, lasthead, foot}{empty}
\SetTblrStyle{head, caption}{halign=l}
\newlength\lwidth
\setlength\lwidth{0.7pt}
\NewDocumentEnvironment{tabl}{m +b}{
\begin{longtblr}[caption=#1]{hlines={\lwidth}, hline{2}={2\lwidth}, vlines={\lwidth}, columns={halign=c, valign=m, co=1}, width=\linewidth}
#2
\end{longtblr}
}{}
用法:
\begin{tabl}{caption}
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
\end{tabl}
它應該將標題左對齊但設置\SetTblrStyle{head, caption}{halign=l}
,但它不會這樣做。我得到:
我想知道是我理解錯了,還是bug?我發現有人寫了自己的配置來做到這一點這裡。
答案1
您可以使用caption
套件來配置您的標題和tblr-extras
標題庫以製作 tabularraylongtblr
並talltblr
使用這些標題。
\documentclass{article}
\usepackage{tabularray,tblr-extras}
\UseTblrLibrary{caption}
\captionsetup[table]{singlelinecheck=false,position=above,justification=raggedright}
\newlength\lwidth
\setlength\lwidth{0.7pt}
\SetTblrTemplate{middlehead, lasthead, foot}{empty}
\begin{document}
\begin{longtblr}[
caption={A caption example}
]{
colspec=ccc,
hlines={\lwidth},
hline{2}={2\lwidth},
vlines={\lwidth},
columns={halign=c, valign=m, co=1}, width=\linewidth,
}
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
\end{longtblr}
\bigskip
\captionsetup[table]{justification=raggedleft}
\begin{longtblr}[
caption={A caption example}
]{
colspec=ccc,
hlines={\lwidth},
hline{2}={2\lwidth},
vlines={\lwidth},
columns={halign=c, valign=m, co=1}, width=\linewidth,
}
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
\end{longtblr}
\captionsetup[table]{justification=centering}
\begin{longtblr}[
caption={A caption example}
]{
colspec=ccc,
hlines={\lwidth},
hline{2}={2\lwidth},
vlines={\lwidth},
columns={halign=c, valign=m, co=1}, width=\linewidth,
}
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
1 & 1 & 1 \\
\end{longtblr}
\end{document}