Latex:在 lstlisting 中仅显示几行
为了仅显示几行源代码,lstlisting 有一个 linerange 键,它仅打印这些范围。
\documentclass[slidestop]{beamer}
\usepackage{listings}
\begin{document}
\begin{frame}[fragile]
\begin{lstlisting}[language=C,linerange={1-2,5-6}]
#include<stdio.h>
int void main(int argc, char **argv)
{
printf("hello world\n");
return 0;
}
\end{lstlisting}
\end{frame}
\end{document}
上面的清单显示了以下代码行,行之间没有任何空格。 :
#include<stdio.h>
int void main(int argc, char **argv)
return 0;
}
我真正想要的是
#include<stdio.h>
int void main(int argc, char **argv)
return 0;
}
我不希望显示第 3-4 行,但我需要该范围的空行。因此,前两行和最后两行显示之间应该有 2 个空行。
约束:
源代码不应更改,它 实际上是在一个单独的文件中 无法更改
我拥有的实际源代码是 相当大,所以使用多个 lst列出不同部分 源码很麻烦。
[更新]: 我的要求简而言之: “源代码中排除在给定范围内的行应打印为空行(即使它们在源代码中非空)”
For displaying only few lines of source code lstlisting has a linerange key which prints only those ranges.
\documentclass[slidestop]{beamer}
\usepackage{listings}
\begin{document}
\begin{frame}[fragile]
\begin{lstlisting}[language=C,linerange={1-2,5-6}]
#include<stdio.h>
int void main(int argc, char **argv)
{
printf("hello world\n");
return 0;
}
\end{lstlisting}
\end{frame}
\end{document}
The above listing displays following lines of code without any spaces in between the lines. :
#include<stdio.h>
int void main(int argc, char **argv)
return 0;
}
What I really want is
#include<stdio.h>
int void main(int argc, char **argv)
return 0;
}
I want the lines 3-4 not to be displayed but I need blank lines for that range. So there should be 2 blank lines between first two and last two displayed lines.
Constraints:
Source code should not be changed, it
is actually in a separate file which
can't be changedThe actual source code I have is
pretty big so using multiple
lstlisting for different parts of
source is cumbersome.
[Update]:
My requirement in short:
"lines in source code which are excluded in given range(s) should be printed as blank lines(even when they are non empty in source code)"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在序言中插入以下代码似乎可以解决问题。
Inserting the following piece of code in the preamble seems to do the trick.