任何人都可以向我推荐一个好的模板来包含带有行号的C源代码 在乳胶?例如,采用经典的Hello world程序,我想使它看起来如下:
(1) /* Hello World program */
(2)
(3) #include<stdio.h>
(4)
(5) main()
(6) {
(7) printf("Hello World");
(8) }
典型的,我总是使用逐字环境,但我想知道是否有更好更好的方法来做到这一点。
非常感谢 理查德
答案 0 :(得分:9)
您可能想查看listings
package。它非常灵活且易于使用。
答案 1 :(得分:9)
正如其他人所说,listings
包可能会使用以下内容执行您想要的操作:
\lstset{
language=C, % choose the language of the code
numbers=left, % where to put the line-numbers
stepnumber=1, % the step between two line-numbers.
numbersep=5pt, % how far the line-numbers are from the code
backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color}
showspaces=false, % show spaces adding particular underscores
showstringspaces=false, % underline spaces within strings
showtabs=false, % show tabs within strings adding particular underscores
tabsize=2, % sets default tabsize to 2 spaces
captionpos=b, % sets the caption-position to bottom
breaklines=true, % sets automatic line breaking
breakatwhitespace=true, % sets if automatic breaks should only happen at whitespace
title=\lstname, % show the filename of files included with \lstinputlisting;
}
\lstinputlisting{HelloWorld.c}
更强大的替代方法是使用minted
软件包,虽然这会比您当前要求的更多,因为它使用/要求在系统上安装pygments以便它可以完全标记化你提供的代码。
答案 2 :(得分:1)
看看http://www.tex.ac.uk/cgi-bin/texfaq2html?label=codelist。你会在那里找到几种替代品。
答案 3 :(得分:0)
CWEB有一个不错的C格式化程序。
答案 4 :(得分:0)
使用lgrind包装来制作乳胶。它将您的代码转换为.tex文件