我正在使用 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}
^^^^