Пакет листинговых листингов игнорирует последнюю пустую строку в листинге

Я использую 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

Ответ 1

Смотрите документацию, раздел 4.4

`showlines = (true | false) или showlines (по умолчанию = false)

Если true, пакет печатает пустые строки в конце списка. В противном случае эти строки отбрасываются (но они подсчитываются для нумерации строк).

Попробуйте добавить это до вашего объявления:

\lstset{
   showlines=true
}

Ответ 2

Вы можете сбежать в LaTeX из списков, назначив escape-символ следующим образом:

\lstset{numbers=left, stepnumber=1, frame=none,basicstyle = \ttfamily}
\begin{lstlisting}[escapechar=\%]
codeline1
codeline2
%
\end{lstlisting}

Выходит как:

1 codeline1
2 codeline2
3

Я знаю, что это не \lstinputlisting, но, надеюсь, это все равно поможет вам.