“无法在内部垂直模式下使用 \vadjust”由两行悬挂字幕触发,使用 adjustbox、字幕包

“无法在内部垂直模式下使用 \vadjust”由两行悬挂字幕触发,使用 adjustbox、字幕包

我想要:一个table带有标题的浮动(带有悬挂缩进),这样table和标题都被一个用背景色填充的框架包围。

在此处输入图片描述

我的环境层次结构是table» adjust box» \caption» tabular

我正在使用该caption包来格式化字幕,这里最重要的是使用format=hang选项。

在以下 MWE 中,该\caption命令触发

You can't use '\vadjust' in internal vertical mode

错误,但如果出现以下任一情况,该错误就会消失:

  • 我缩短了标题文本,以便它不会流到第二行。
  • 我删除format=hang\captionsetup

为什么会发生这种情况?(我不知道\vadjust发生在哪里或为什么会引发错误。)

或者,更一般地说,一种替代解决方案既允许(a)表格和标题周围的彩色框架,又允许(b)标题的悬挂缩进?

我意识到我可以放弃显式的table环境,让adjustbox环境 (a) 浮动表格和 (b) 格式化标题。问题是我的彩色框架将不包含标题(因为,根据adjust box,§4.13,用于将调整后的框变为浮点数的键“也允许使用标题……必须最后使用,并且之后不能再使用其他普通键,否则将由于添加的浮动环境再次被装箱而发生错误”)。

\documentclass[12pt]{article}
\usepackage{adjustbox}
\usepackage{xcolor}
\usepackage{caption}
\captionsetup{margin=2em, labelfont={bf},format=hang,justification=raggedright}
\begin{document}
\begin{table}
    \begin{adjustbox}{varwidth=\textwidth,padding=1em,bgcolor=pink,frame=1pt,center}
        \caption{A caption designed to be long enough that it flows to the next line}
        \begin{tabular}[t]{cc}
            Column1 & Column2 \\
            \hline
            $x$ & $y$ \\
        \end{tabular}
    \end{adjustbox}
\end{table}
\end{document}

答案1

为什么不是一个小型页面?

\documentclass[12pt]{article}
\usepackage{adjustbox}
\usepackage{xcolor}
\usepackage{caption}

\captionsetup{margin=2em, labelfont={bf},format=hang,justification=raggedright}

\begin{document}

\begin{table}
\begin{adjustbox}{padding=1em,bgcolor=pink,frame=1pt,center}
\begin{minipage}{\dimexpr\textwidth-1pt-1em}
  \caption{A caption designed to be long enough that it flows to the next line}
  \begin{tabular}[t]{cc}
  Column1 & Column2 \\
  \hline
  $x$ & $y$ \\
  \end{tabular}
\end{minipage}
\end{adjustbox}
\end{table}

\end{document}

在此处输入图片描述

相关内容