显示两个高度相同、行数不同的列表

显示两个高度相同、行数不同的列表

我正在尝试并排显示两个列表。我使用 minipage 实现了此目的:

\noindent\begin{minipage}[t]{0.45\textwidth}
\begin{lstlisting}[title=Bad]
some bad code
\end{lstlisting}
\end{minipage}
\noindent\begin{minipage}[t]{0.45\textwidth}
\begin{lstlisting}[title=Good]
some good code
and another good code
\end{lstlisting}
\end{minipage}

在这个例子中,左边的显示一行,右边的显示两行,所以两个列表的高度不一样。

例子

是否可以让较短的一个与较长的一个具有相同的高度,以便我可以得到如下结果:?

预期结果

答案1

一个具有和的解决方案tcbrasterraster equal height将的选项tcbraster提供给底层tcblisting环境,在那里可以使用本地选项,像往常一样,使用tcolorbox

如果使用lualatexxelatex,请务必添加listing options={}以删除tcblatex加载的默认样式inputenc

一行中的框数可以用来设置raster columns=2,例如,当然这取决于具体的需求,因为listings通常不使用环绕的文本行,所以2不建议超过列。

tcolorbox请注意,除了包裹在外部环境中的环境之外,不能有任何其他东西tcbraster

\documentclass{article}
\usepackage{listings}

\usepackage[most]{tcolorbox}


\begin{document}
\begin{tcbraster}[raster columns=2, raster equal height,enhanced, sharp corners,listing only,colbacktitle={yellow},coltitle=black,colback=white,boxrule=1pt]
\begin{tcblisting}{title=Bad}
some bad code
\end{tcblisting}
\begin{tcblisting}{title=Good}
some good code
and another good code
\end{tcblisting}
\end{tcbraster}
\end{document}

在此处输入图片描述

相关内容