如果我创建一个代码,包括如下内容:
\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。