LaTeX的listings包在列表中忽略最后一行空行。

17

我使用LaTeX listings宏包中的\lstinputlisting命令从外部文件中显示文本。该文件包含以空行结尾的数据格式描述。该宏包会忽略空行。如何在代码清单中显示空行?

代码清单目前的显示效果:

1 lorem ipsum...
2 more lorem ipsum
3 lorem lorem ipsum

我想要的是:

1 lorem ipsum
2 more lorem ipsum
3 lorem lorem ipsum
4
2个回答

26

请查看文档的第4.4节。

`showlines=(true|false) 或 showlines (默认为 false)

如果为true,则该软件包会在清单结尾处打印空行。否则,这些行将被删除(但它们将计入行编号)。

尝试在列表之前添加此内容:

\lstset{
   showlines=true
}

2
不,这并不像预期的那样工作。至少在使用 \lstinputlisting 进行外部文件输入时是如此。 - Sney
1
对我来说使用内联列表很有效(但我不会添加行号...)。 - Rudy Matela

6
你可以通过指定转义字符来从 listings 转到 LaTeX,方法如下:
\lstset{numbers=left, stepnumber=1, frame=none,basicstyle = \ttfamily}
\begin{lstlisting}[escapechar=\%]
codeline1
codeline2
%
\end{lstlisting}

转化为:

1 codeline1
2 codeline2
3

我知道这不是 \lstinputlisting,但希望它仍然能够对您有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接