tabularray,包括 X 列中的 \linewidth 图形会导致较大的垂直空间

tabularray,包括 X 列中的 \linewidth 图形会导致较大的垂直空间

如何正确地在某些X单元格中插入图像,其宽度由单元格宽度决定?

\documentclass{article}
\usepackage{geometry}
\usepackage[export]{adjustbox}
\usepackage{tabularray}

\setlength\parindent{0pt}

\begin{document}
case 1:
    \begin{center}
    \adjustboxset{height=0.15\textwidth,  % determined by trial
                  keepaspectratio,
                  valign=M}
\begin{tblr}{hlines, vlines,
             colspec={X[0.6,l,m] *{3}{X[1,c,m]}},
             rowsep=4pt,
             }
some description of images
    &   \adjincludegraphics{example-image-duck}
        &   \adjincludegraphics{example-image-duck} 
            &   \adjincludegraphics{example-image-duck} \\
\end{tblr}
    \end{center}
case 2:
    \begin{center}
    \adjustboxset{width=\linewidth,
                  keepaspectratio,
                  valign=M}
\begin{tblr}{hlines, vlines,
             colspec={X[0.6,l,m] *{3}{X[1,c,m]}},
             rowsep=4pt,
             }
some description of images
    &   \adjincludegraphics{example-image-duck}
        &   \adjincludegraphics{example-image-duck}
            &   \adjincludegraphics{example-image-duck} \\
\end{tblr}
    \end{center}
\end{document}

第一种情况下的结果符合预期,但第二种情况下,图像上方和下方插入了巨大的空间。第一种情况下所示的写表(其中通过猜测明确确定图像的高度)非常烦人,因此第二种情况(其中图像的宽度由列的宽度定义)是写表的首选方式,但结果很糟糕。我希望第二种情况下 MWE 的结果与第一种情况相同。

所以问题是,为什么第二种情况下的代码没有给出与第一种情况下相同的结果

如果在第二种情况下使用tabularx表格,则不会出现此类问题,甚至在这种情况下,为了获得更好的效果,应该添加一些小的垂直空间。我预计,类似的情况也会发生tabularray

我是否遗漏了tabularray设置中的某些内容,或者这是错误,或者它尚未具有此属性?

在此处输入图片描述

答案1

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

当我们第一次测量单元格宽度时,\linewidth等于\textwidth。但是当我们稍后用 排版单元格时\parbox\linewidth等于计算出的列宽。这些差异导致了问题。解决方案是@row-height在调整X列宽后重置。

此错误已修复。您可以从以下位置下载最新的软件包文件

https://github.com/lvjr/tabularray/raw/main/tabularray.sty

或者等待2021N9月1日发布的下一个版本。

在此处输入图片描述

相关内容