I'm just writing on my master thesis and have a (specific) problem with lstlisting
package in LaTeX.
I'm referring to the Random.class
-file in Java and only want to print some specific line-ranges, which is working fine with following lines for Latex:
\lstinputlisting[linerange={62-62,78-81,475-479},breaklines=true,language=Java, caption=Excerpt of Source Code of \texttt{Random}-class, label=list:excerptRandomCode, basicstyle=\ttfamily\tiny, captionpos=b,numbers=left,tabsize=2,float=t]{RandomClass.java}
The only problem is now, that this doesn't print the actual line numbers. It's starts with line number 1 and stops with line number 10 (thus as many lines I refer to).
How can I say, that he also prints the lines as I mentioned in the linerange
?
And it would be nice, if I could add one empty line without any reference between my three excerpts of the code.
Best Answer
The way to do it is to split into separate
lstinputlisting
commands and usefirstnumber
to set the line number of the first line for the givenlinerange
. Here is an example of showing lines 2-6 and 9-11. This also provides you with an empty line in between. It should be possible to write a macro that generates the requiredlstinputlisting
commands given a list of line ranges, but that should probably be a separate question as it is more related to macro processing than listings: