内联代码列表中的空白处换行

内联代码列表中的空白处换行

如何在空格处自动中断以下内联代码?

问题是我必须使用breaklines=false

\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{listings}
\usepackage{blindtext}

\lstset{breaklines=false,
        literate={,}{}{0\discretionary{,}{}{,}}}

\begin{document}
\lstinline{ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC}\\
\blindtext
\end{document}

编辑

literate从另一个示例中调整了参数,但它不适用于空格。

答案1

这有效:

literate={\ }{}{0\discretionary{}{}{\mbox{ }}}

但最好\lstinlinesloppypar环境中插入以避免文本超出边距。

梅威瑟:

\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{listings}
\usepackage{blindtext}

\lstset{breaklines=false,
        literate={\ }{}{0\discretionary{}{}{\mbox{ }}}}

\begin{document}
\begin{sloppypar}
\lstinline{ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC, ABC}
\end{sloppypar}
\blindtext
\end{document} 

输出:

在此处输入图片描述

无论如何,我想知道为什么你不能使用这些选项

breaklines=true,breakatwhitespace=true

对于具体的\lstinline

相关内容