打破 tcolorbox 并删除后续的空行

打破 tcolorbox 并删除后续的空行

我有一些lstlisting块,我正在将它们排版为彩色文本框。其中一些块包含空行;其中一些块被手动拆分成跨页边界\tcbbreak。我想用\tcbbreak另一个发出命令的命令替换该命令\tcbbreak,然后删除所有后续空行(更好的方法是删除所有仅由空格组成的后续行,但我可以预处理我的文件以确保所有仅由空格组成的行都是空的)。

\documentclass{article}

\usepackage{listings}
\lstset{escapeinside=!!}
  
\usepackage[breakable,listings]{tcolorbox}
\renewtcblisting{lstlisting}{breakable,listing only}

\begin{document}
\begin{lstlisting}
  Lines of text
  Inside a TColorBox

  Burma Shave
\end{lstlisting}

\begin{lstlisting}
  Lines of text
  Inside a TColorBox !\tcbbreak!
  
  Burma Shave
\end{lstlisting}

\end{document}

在有人提出显而易见的建议(“放入时只需从源中删除空文件\tcbbreak”)之前,对于我的实际用例,我需要对分页输出(其中应该有换行符并且应该吞噬后续的空行)和非分页输出(其中不应该有换行符并且空行应该保持完整)使用相同的源。

相关内容