考虑以下 MWE:
\documentclass{article}
\usepackage[export]{adjustbox}
\usepackage{rotating, makecell}
\usepackage{tabularray}
\usepackage[skip=0.5ex, belowskip=1ex]{subcaption}
\renewcommand*{\thesubfigure}{\arabic{subfigure}}
\begin{document}
\begin{figure}
\settowidth\rotheadsize{3em} % from makecell
\adjustboxset{width=\linewidth, valign=c} % from adjustbox
\begin{tblr}{%hlines, vlines,
colspec={r X[c,h]X[c,h]X[c,h]X[c,h]},
colsep=3pt,
column{1}={cmd=\rotcell, font=\bfseries},
row{1}={font=\bfseries},
}
& A & B & C & D \\[-2ex]
one
& \subfloat[\label{fig5a1}]{\adjincludegraphics{example-image-duck}}
& \subfloat[\label{fig5b1}]{\adjincludegraphics{example-image-duck}}
& \subfloat[\label{fig5c1}]{\adjincludegraphics{example-image-duck}}
& \subfloat[\label{fig5d1}]{\adjincludegraphics{example-image-duck}} \\
two
& \subfloat[\label{fig5a2}]{\adjincludegraphics{example-image-duck}}
& \subfloat[\label{fig5b2}]{\adjincludegraphics{example-image-duck}}
& \subfloat[\label{fig5c2}]{\adjincludegraphics{example-image-duck}}
& \subfloat[\label{fig5d2}]{\adjincludegraphics{example-image-duck}} \\
\end{tblr}
\end{figure}
\end{document}
subfloat
为什么字幕的编号从41开始?即使我在编译前删除了文件.aux
和.log
,结果还是一样。
如果我用tabularx
表格(查看答案),标题编号正确。所以我想知道,tabularray
设置中是否遗漏了某些内容,或者它以意想不到的方式与之交互subcaption
(subfig
相同)?
在编译中我使用tabularray
2021N 版本(暂时可用github 参见链接 2021N) 将于 9 月 1 日上映。
答案1
于 2021-09-10 更新:我已将counter
库添加到tabularray
到包中,以便在需要时重置 LaTeX 计数器。这个错误应该已经修复。您可以从下载最新的包文件
https://github.com/lvjr/tabularray/raw/main/tabularray.sty
并测试是否还存在其他问题。
\documentclass{article}
\usepackage[export]{adjustbox}
\usepackage{rotating, makecell}
\usepackage{tabularray}
\UseTblrLibrary{counter}
\usepackage[skip=0.5ex, belowskip=1ex]{subcaption}
\renewcommand*{\thesubfigure}{\arabic{subfigure}}
\begin{document}
\begin{figure}
\settowidth\rotheadsize{3em} % from makecell
\adjustboxset{width=\linewidth, valign=c} % from adjustbox
\begin{tblr}{%hlines, vlines,
colspec={r X[c,h]X[c,h]X[c,h]X[c,h]},
colsep=3pt,
column{1}={cmd=\rotcell, font=\bfseries},
row{1}={font=\bfseries},
}
& A & B & C & D \\[-2ex]
one
& \subfloat[\label{fig5a1}]{\adjincludegraphics{example-image-duck}}
& \subfloat[\label{fig5b1}]{\adjincludegraphics{example-image-duck}}
& \subfloat[\label{fig5c1}]{\adjincludegraphics{example-image-duck}}
& \subfloat[\label{fig5d1}]{\adjincludegraphics{example-image-duck}} \\
two
& \subfloat[\label{fig5a2}]{\adjincludegraphics{example-image-duck}}
& \subfloat[\label{fig5b2}]{\adjincludegraphics{example-image-duck}}
& \subfloat[\label{fig5c2}]{\adjincludegraphics{example-image-duck}}
& \subfloat[\label{fig5d2}]{\adjincludegraphics{example-image-duck}} \\
\end{tblr}
\end{figure}
\end{document}
这是一个最近才发现的错误(参见https://github.com/lvjr/tabularray/discussions/83)。
为了构建一个漂亮的表格,tabularray
需要对每个单元格进行多次测量,因此单元格内的计数器将增加多次。
正如 David Carlisle 在那里评论的那样,tabularx
有一些代码可以保存所有 LaTeX 计数器的值并在每次试验时重置它们。因此计数器tabularx
是正确的。
我需要一些时间来研究这个问题。而且对于版本来说已经太晚了2021N
。解决这个问题后我会更新这个答案。