我有一段很长但很窄的代码,我想在 tcolorbox 中排版。是否可以启用两列(或更多列)模式里面框(不打破框并将各部分相邻设置)。文档的其余部分是单列。如果可能的话,我希望它在启用时仍然是可浮动的,它不需要可打破。
编辑:这似乎不足以逃离\tcblower
该minted
部分。我尝试用包装来做这listings
件事,但它只是破坏了布局。
\documentclass{report}
\usepackage{tcolorbox}
\tcbuselibrary{minted}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{tcblisting}{title=This is source code in another language (XML),
minted language=XML,listing only}
<project
name="Package tcolorbox"
default="documentation"
basedir="."
>
</project>
<project
name="Package tcolorbox"
default="documentation"
basedir="."
>
</project>
<project
name="Package tcolorbox"
default="documentation"
basedir="."
>
</project>
\end{tcblisting}
\blindtext
\end{document}
答案1
它并不完美(我个人不喜欢代码如何切断中间标签)但它应该可以完成工作。
基本上,我解压了tcblisting
环境并添加了一个multicols
环境。
\documentclass{report}
\usepackage{tcolorbox}
\tcbuselibrary{minted}
\usepackage{blindtext}
\usepackage{multicol} % added package
\begin{document}
\blindtext
\begin{tcolorbox}[title=This is source code in another language (XML)]
%add special color box to list of listings
\makeatletter
\addcontentsline{lol}{subsection}{\kvtcb@title}
\makeatother
\begin{multicols}{2}
\begin{minted}{xml}
<project
name="Package tcolorbox"
default="documentation"
basedir="."
>
</project>
<project
name="Package tcolorbox"
default="documentation"
basedir="."
>
</project>
<project
name="Package tcolorbox"
default="documentation"
basedir="."
>
</project>
\end{minted}
\end{multicols}
\end{tcolorbox}
\blindtext
\end{document}