我想整理一个 TeX 文档,并且好奇您是否可以使用\lstinputlisting
或类似的功能来包含源代码文件的某个部分。
例如,我有一个大约 500 行的源文件,我只想包含第 300 至 400 行。
有没有办法做到这一点?
答案1
每个“列表”环境都了解firstline
和lastline
键:
\lstinputlisting[firstline=300,lastline=500]{file.cc}
答案2
listings 不仅支持 和 的行范围firstline
(lastline
参见 egregs 的回答),甚至还支持 的行范围linerange={<first1>-<last1>,<first2>-<last2> …}
。请注意,first2
必须大于 等等last1
。所以
\lstinputlisting[linerange={1-4,7-9}]{file.cc}
是有效的,但是
\lstinputlisting[linerange={7-9,1-4}]{file.cc}% Don't do this!!!
不允许!
有关详细信息,请参阅第 4.3.3 节“打印范围”。清单手册。
答案3
作为 egreg 答案的附录:如果您正在排版行号并希望这些数字反映物理行号,那么关键firstnumber
在于帮助您:
\lstinputlisting[numbers=left,firstnumber=300,firstline=300,lastline=500]{file.cc}