使用‘hbox’和‘tcblisting’时出错

使用‘hbox’和‘tcblisting’时出错

以下示例似乎只有我删除该hbox选项后才有效。

\documentclass{article}

\usepackage{tcolorbox}
\tcbuselibrary{listings,skins}


\newtcblisting[auto counter,list inside=example]{example}[2][]{%
    title=#2,
    #1,
    %hbox,%hbox doesn't work?
    center,
    colback=green!20,
    colbacktitle=green!50,
    colframe=green,
    %listing only,
    lower separated=false,%remove lines inside
    fonttitle=\bfseries\sffamily\large,coltitle=black,titlerule=0pt,enhanced,drop fuzzy shadow}

\begin{document}

\begin{example}[listing side text]{An example}
\textbf{bold text}

\textit{italics text}
\end{example}

\end{document}

在此处输入图片描述

如果我包含hboxtcolorbox则会产生错误(Undefined control sequence. \end{example}),并且内容未对齐(左侧和右侧之间的空间太小):

在此处输入图片描述

如果我使用该选项listing only,一切都会正常工作。

答案1

在的文档中,tcolorbox您将发现以下方面capture=hboxhbox代表):

这是 的默认模式\tcbox。内容不能有下部,也不能被破坏。彩色框的大小根据内容的尺寸确定。

您使用的选项listing side text将输出 ( text) 排版为 tcolorbox 的下部/下框。这与“不能有下部”相矛盾。

因此,获得准确宽度调整的唯一方法是手动调整。自动化方法不适合您使用的情况。

相关内容