在 lstlisting 环境中为换行符添加前缀

在 lstlisting 环境中为换行符添加前缀

我已经用 定义了自己的 lstlisting 环境\lstnewenvironment。现在我想在代码的每个新行前面加上任意文本(bash 光标)。

基本上我喜欢这个

\begin{commands}
Whatever
foo
\end{commands}

给我这个

#> Whatever
#> foo

有办法实现这个吗?

答案1

请发布完整且可编译的最小工作示例(MWE)您的下一个问题。这减少了其他人帮助您的努力,并且通常增加了您获得答案的机会。

下面的代码可以满足您的要求。在环境中commands,我们覆盖\thelstnumber命令,该命令listings在内部用于排版行号。新版本改为排版前缀:

\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{listings}

\lstnewenvironment{commands}[1][]{%
  \renewcommand{\thelstnumber}{\#>}
  \lstset{numbers=left,basicstyle=\ttfamily,#1}%
}{%
}

\begin{document}

\begin{commands}
Whatever
foo
\end{commands}

\end{document}

在此处输入图片描述

相关内容