决定是否在列表列表中以字符结束一行

决定是否在列表列表中以字符结束一行

我需要编写一个文档,其中记录了 unix 命令行界面软件(通过 bash)的输入和输出。例如,我需要显示类似以下内容的内容:

$ git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short --all
* 1c0435a 2013-08-17 | Aggiunta del telefono (HEAD, master) 
* 928406c 2013-08-17 | Il mio primo commit modificato (v1, origin/master) 
* 8a3b838 2013-08-17 | Il mio primo commit (v1-beta)

其中第一行是 bash 提示符,第 2 至第 4 行是软件的输出(在本例中为 git)。

你知道,bash-prompt 的过长行需要用反斜杠 \ 作为回车符,否则 bash 不会将其算作一行,而是算作两行。所以,如果你需要中断第一行,你必须这样写

 $ git log --pretty=format:"%h %ad | %s%d [%an]" \
         --graph --date=short --all

显然,虽然您希望在提示符的断行上使用反斜杠,但您不希望在输出行上使用反斜杠。因此,即使您确实希望断开第 2 至第 4 行,您也不希望使用斜杠:

错误的

   * 1c0435a 2013-08-17 | Aggiunta del \
telefono (HEAD, master) 
    * 928406c 2013-08-17 | Il mio primo commit \
 modificato (v1, origin/master) 
    * 8a3b838 2013-08-17 | Il mio primo commit \
(v1-beta)

正确的

    * 1c0435a 2013-08-17 | Aggiunta del 
telefono (HEAD, master) 
    * 928406c 2013-08-17 | Il mio primo commit 
 modificato (v1, origin/master) 
    * 8a3b838 2013-08-17 | Il mio primo commit 
(v1-beta)

完美的解决方案是让我决定在哪里用反斜杠换行,在哪里不用反斜杠换行。你对如何实现这一点有什么想法吗?我的意思是

moredelim=[is][pbreak=\small\symbol{'134}]{§§}{§§}

(我知道这个例子不起作用,它只是为了让你知道我的意思:它的目的是用 \ 打破我在§§ 内转义的行)这是我的 lstset:

\lstset{ %
language=xml,                % choose the language of the code
basicstyle=\small\ttfamily,% \footnotesize,       % the size of the fonts that are used for the code
numbers=left,                   % where to put the line-numbers
numberstyle=\footnotesize,      % the size of the fonts that are used for the line-numbers
stepnumber=1,                   % the step between two line-numbers. If it is 1 each line will be numbered
numbersep=5pt,                  % how far the line-numbers are from the code
backgroundcolor=\color{white},  % choose the background color. You must add \usepackage{color}
showspaces=false,               % show spaces adding particular underscores
showstringspaces=false,         % underline spaces within strings
showtabs=false,                 % show tabs within strings adding particular underscores
frame=single,           % adds a frame around the code
tabsize=2,          % sets default tabsize to 2 spaces
captionpos=b,           % sets the caption-position to bottom
breaklines=true,        % sets automatic line breaking
prebreak=\small\symbol{'134},
breakatwhitespace=false,    % sets if automatic breaks should only happen at whitespace
moredelim=[is][\bfseries]{@@}{@@}
}

相关内容