使用 lstlisting 和 tcolorbox 给我一个巨大的框

使用 lstlisting 和 tcolorbox 给我一个巨大的框

我正在使用 lstlisting 和 tcolorbox 来显示一些代码,但我遇到了框宽度问题。如果其中一行比文档宽度长,那么由于我将 breaklines 和 breakatwhitespace 设置为 true,代码会被拆分,但框的大小会保持原样,就像没有拆分一样。由于我的文档的特殊大小,这会导致框在文档结束时不会结束。如果将 colorbox 插入到调整框之间,您可以看到它有多长。我该如何解决这个问题?

PS. 如果删除“测试”字样,您可以看到框是如何缩小的。我可以使用固定大小的框来适应页面宽度吗?

\documentclass{article}

\usepackage[includehead,paperwidth=155mm, paperheight=235mm,left=17mm,right=23mm,top=7mm,bottom=23mm,headheight=9mm]{geometry}
\special{papersize=155mm,235mm}
\usepackage{times}
\usepackage [english] {babel}
\usepackage [T1]{fontenc}
\usepackage [utf8]{inputenc}
\selectlanguage{english} 
\usepackage{tcolorbox}  %For codes
\tcbuselibrary{listings,skins}  %For codes
\usepackage{adjustbox} 

\lstdefinestyle{code_bash}{
    language=bash,
    aboveskip=3mm,
    belowskip=3mm,
    showstringspaces=false,
    columns=fullflexible,
    basicstyle={\small\ttfamily},
    numbers=none,
    breaklines=true,
    breakatwhitespace=true,
    tabsize=3
}

\newtcblisting{bashcode}[2][]{
    arc=0pt, outer arc=0pt,
    listing only, 
    listing style=code_bash,
    title=#2,
    #1
}

\begin{document}
%\begin{adjustbox}{max width=\textwidth}
    \begin{bashcode}[hbox,enhanced,drop shadow]{Installing packages}
        sudo apt-get install build-essential
        sudo apt-get install cmake git test test  test test test test test test  test test  test test  test test  test test  
    \end{bashcode}
%end{adjustbox}

\end{document}

答案1

hbox从这里删除选项:

 \begin{bashcode}[hbox,enhanced,drop shadow]{Installing packages}
                  ^^^^

相关内容