我使用这个listings
包。如果在多个单词内出现换行符\lstinline{}
,我会在新行的开头看到令人讨厌的空格:
page left page right
| |
|normal text normal text IF|
| FORALL normal text |
IF FORALL
在里面\lstinline{}
。
如何避免之前的空格FORALL
?
谢谢!
编辑:我不介意详细说明。我正在输入包含一些内联代码片段的文档。我用它\lstinline{}
来排版它们(因为我也在lstlisting
我的文档中使用它们)。
上图显示的是 Latex 代码的结果:
normal text normal text \lstinline{IF FORALL} normal text
现在如果IF FORALL
它适合一行,我得到
|normal text normal text IF FORALL normal|
|text |
在我的页面上,这很好。|
标记页边距的开始。
如果IF FORALL
将其分解为多行,我会得到上面显示的结果。我更希望有:
|normal text normal text IF|
|FORALL normal text |
希望这能让您更清楚。谢谢。
答案1
这个空格是 IF 和 FORALL 之间的空格。我不知道是否可以以某种方式吃掉它,但你至少可以往后移动一点:
\documentclass{book}
\usepackage{listings}
\lstset{breaklines,postbreak=\kern-1ex}
\textwidth=4cm
\parindent=0cm
\begin{document}
normal text normal text \lstinline{IF FORALL} normal text
\end{document}
补充:我刚刚意识到,如果使用 \lstset{breaklines,breakatwhitespace},空格也会消失
补充 2:避免所有与空白有关的麻烦的一个显而易见的解决方案是使用两个 \lstinline 命令:\lstinline{IF} \lstinline{FORALL}。
答案2
这本身并不能回答您的问题,但我所做的是重写文本,使列表适合一行,或者如果出于某种原因无法做到这一点,则使其成为非浮动列表。这会占用一些额外的空间,但我认为这比打破它更具可读性。
答案3
目前这显然尚未实施。