tcolorbox 内的列表:如何调整宽度以适应自然列表宽度?

tcolorbox 内的列表:如何调整宽度以适应自然列表宽度?

我想创建一个,tcolorbox其宽度是根据我列出的代码中最长的行计算的。我知道可以根据标题调整宽度。是否也可以根据内容进行调整?

\PassOptionsToPackage {usenames,dvipsnames}{xcolor}
\documentclass{standalone}

\usepackage{tcolorbox}
\tcbuselibrary{listings}
\usepackage{tikz}

\begin{document}
\begin{tcblisting}{
      arc=7pt,
      outer arc=7pt,
      top=1mm,
      bottom=1mm,
      left=1mm,
      right=1mm,
      boxrule=0.6pt,
      colback=yellow!5,
      colframe=yellow!50!black,
      fonttitle=\bfseries,
      listing only,
}
    int main(int ac, char *av[], char **ep) {
      printf("Hello, World\n");
      return 0;
    }
\end{tcblisting}
\end{document}

在此处输入图片描述

答案1

您可以简单地添加选项hbox

\PassOptionsToPackage {usenames,dvipsnames}{xcolor}
\documentclass{standalone}

\usepackage{tcolorbox}
\tcbuselibrary{listings}
\usepackage{tikz}

\begin{document}
\begin{tcblisting}{
      arc=7pt,
      outer arc=7pt,
      top=1mm,
      bottom=1mm,
      left=1mm,
      right=1mm,
      boxrule=0.6pt,
      colback=yellow!5,
      colframe=yellow!50!black,
      fonttitle=\bfseries,
      listing only,
      hbox
}
    int main(int ac, char *av[], char **ep) {
      printf("Hello, World\n");
      return 0;
    }
\end{tcblisting}
\end{document} 

在此处输入图片描述

请注意,如果你想得到以下结果

在此处输入图片描述

你必须删除行中的前导空格

    int main(int ac, char *av[], char **ep) {
      printf("Hello, World\n");
      return 0;
    }

是逐字列出内容的内容。

相关内容