Minted 没有在所需字符处换行

Minted 没有在所需字符处换行

我正在使用 minted 编写文档。我安装了 Python、pygmentize,一切都运行良好。但有一个行为我不明白。我想在字符“|”处中断 minted 环境中的文本。当我尝试在

\begin{minted}[breaklines, breakafter=|]{python}
some_string = 'SomeTextThat|GoesOnAndOnForSoLong|ThatItCouldNeverFitOnOneLine'
\end{minted}

LaTeX 在第二个 | 之后立即换行。但是用这段代码

\begin{minted}[breaklines, breakafter=|]{bash}
tail -n 39 $target | awk '{print($NF" "$0)}' | sort -g -t@ -k2 | cut -f2- -d' ' > /tmp/\ /"$NEWFILE" #@15
\end{minted}

它不起作用,在走出盒子之前,在最后一个空格后断线。 在此处输入图片描述 我哪里错了?

答案1

breakafter选项breakbefore允许指定断点位置此外到空格,而不是反而空格。您可以禁用空格作为换行位置。一种方法是将空格设置为可见,然后将空格字符定义为(不可见的)不换行空格。在这种情况下,您可能还想关闭前换行符号(breakaftersymbolpre)。

\begin{minted}[breaklines, breakafter=|, showspaces, space=~, breakaftersymbolpre={}]{bash}
tail -n 39 $target | awk '{print($NF" "$0)}' | sort -g -t@ -k2 | cut -f2- -d' ' > /tmp/\ /"$NEWFILE" #@15
\end{minted}

相关内容