![列表列表不会在仅包含“*”的长行上中断](https://linux22.com/image/381656/%E5%88%97%E8%A1%A8%E5%88%97%E8%A1%A8%E4%B8%8D%E4%BC%9A%E5%9C%A8%E4%BB%85%E5%8C%85%E5%90%AB%E2%80%9C*%E2%80%9D%E7%9A%84%E9%95%BF%E8%A1%8C%E4%B8%8A%E4%B8%AD%E6%96%AD.png)
使用 lstlisting 环境时,我无法让它在仅包含字符的长行上中断*
。这是我的最小工作示例。它生成一个列表,其中的文本超出了列表的框架,并且没有产生正确的换行符。我该如何解决这个问题?我尝试了不同的参数\lstset
,但似乎没有任何效果。我如何告诉列表环境可以在 上中断*
?
\usepackage{listings}
\begin{document}
\lstset{%
breaklines=true,
breakatwhitespace=false,
postbreak=\space,
tabsize=2,
basicstyle=\ttfamily\footnotesize,
showspaces=false,
showstringspaces=false,
extendedchars=true,
frame=single,
frameround=ffff,
aboveskip=1.5em
}
\begin{lstlisting}
**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** hello world
\end{lstlisting}
\end{document}
答案1
环境中文本的断行方式listings
取决于所选的源代码语言。如果您不想更改语言设置,您可以添加选项literate={*}{*\allowbreak}1
,将每个*
字符替换为允许在其后立即换行的版本。
更新示例:
\documentclass{article}
\usepackage{listings}
\begin{document}
\lstset{%
breaklines=true,
breakatwhitespace=false,
postbreak=\space,
tabsize=2,
basicstyle=\ttfamily\footnotesize,
showspaces=false,
showstringspaces=false,
extendedchars=true,
frame=single,
frameround=ffff,
aboveskip=1.5em,
literate={*}{*\allowbreak}1 % ADDED
}
\begin{lstlisting}
**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** hello world
\end{lstlisting}
\end{document}