tabularray (tblr) 表格内带标题的图形

tabularray (tblr) 表格内带标题的图形

我正在尝试为表格内的图片添加标题,但无法做到。我研究过这个解决方案但灵活的X列并不像描述的那样工作。

当前输出看起来像这样。 在此处输入图片描述

有问题的代码。

\documentclass[margin=2in]{article}

\usepackage{tabularray}
\usepackage{graphicx}
\usepackage{caption}

\begin{document}
    \begin{figure}[h]
        \begin{tblr}{X[2,r] X[-1,r]}
            \includegraphics[width=2in]{example-image-a}
            \captionof{figure}{Figure A}
            &
            \includegraphics[width=2in]{example-image-b}
        \end{tblr}
    \end{figure}
\end{document}

错误输出:

You can't use `\hrule' here except with leaders. \end
Missing number, treated as zero. \end
Illegal unit of measure (pt inserted). \end
Missing \endgroup inserted. \end
Missing } inserted. \end
Use of \??? doesn't match its definition. \end
Extra \endgroup. \end
Too many }'s. \end

我也尝试过用captioncaption*代替captionof。如能得到帮助,我将不胜感激。

答案1

您可以将它们放在 \parbox 中:

\documentclass[margin=2in]{article}

\usepackage{tabularray}
\usepackage{graphicx}
\usepackage{caption}

\begin{document}
    \begin{figure}[h]
        \begin{tblr}{X[2,r] X[-1,r]}
            \parbox[t]{\linewidth}{%
            \includegraphics[width=2in]{example-image-a}
            \captionof{figure}{Figure A}}
            &
            \includegraphics[width=2in]{example-image-b}
        \end{tblr}
    \end{figure}
\end{document}

答案2

您需要添加两个库:(counter用于正确的标题编号),varwidth(用于消除错误)和 tblr选项 measure = vbox

\documentclass{article}

\usepackage{graphicx}
\usepackage[skip=1ex]{caption}

\usepackage{tabularray}              % version 2021P
\UseTblrLibrary{counter,varwidth}    % <===

\begin{document}
    \begin{figure}[ht]
\begin{tblr}{colspec={Q[c, wd=2in]  Q[c, wd=2in]},
             measure = vbox}         % <===
\includegraphics[width=\linewidth]{example-image-a}
\caption{Figure A}
    &   \includegraphics[width=\linewidth]{example-image-b} 
\end{tblr}
    \end{figure}
\end{document}

在此处输入图片描述

编辑:

注意,对于上述解决方案,您需要使用tabularray软件包版本 2021P,该版本支持/包含库countervarwidth应包含tblr选项measure = vbox。旧版本(2021N 之前)不支持/启用上述所有内容。

如果您有旧版本的软件包(它仍在快速开发中),我建议您升级它。此外,最新版本还修复了一些错误并改进了文档。

您可以使用或来代替Q[c, wd=1in](宽度取自图像宽度) 。在这种情况下,编译将引发警告。X[c]X[h]

相关内容