列表中输入的第一个数字与步骤号冲突的行范围

列表中输入的第一个数字与步骤号冲突的行范围

如果我创建一个代码,包括如下内容:

\lstinputlisting[linerange=39-46, firstnumber=39]{./Matlab/script.m}

并在 lstset 中将 stepnumber 设置为 5:

\lstset{...,stepnumber = 5, ...}

第 40、45 和 39 行已编号,但我只想编号第 1、5、10 行等。因此,在此示例中不应显示 39。Firstnumber=auto 不是从真正的行号开始的。

答案1

以下工作按要求进行:

\documentclass{article}% at line 39
\usepackage{listings}
\begin{document}

\lstset{stepnumber=5}
\lstinputlisting[
  language={[LaTeX]TeX},
  linerange=39-46,
  firstnumber=39,
  numbers=left,
]{test.tex}

\end{document}

结果

仅显示行号40和。45

或者,如果编号应从 1 开始 ( firstnumber=1),并且第一行也应编号 ( numberfirstline):

\documentclass{article}% at line 39
\usepackage{listings}
\begin{document}

\lstset{stepnumber=5,numberfirstline}
\lstinputlisting[
  language={[LaTeX]TeX},
  linerange=39-46,
  firstnumber=1,
  numbers=left,
]{test.tex}

\end{document}

结果

软件包版本listings为 2007/02/22 v1.4。

相关内容