LaTeX中使用对C语言代码高亮显示

这几天研究了如何在latex中显示代码颇有收获,现简单的记录一下,在LaTeX中对C语言进行代码高亮显示,可以用两种方式一个是用listings宏包对代码进行显示,另一种方式是用Highlight软件生成相应的LaTeX/TeX代码,再嵌入到你的文档当中。

1.使用Listings宏包对代码进行高亮显示

用Listings宏包对代码进行高亮显示的效果如下图所示

image

而上面的效果的代码也相当容易理解,listings对代码进行高亮要使用xcolor宏包

 1 \documentclass[a4paper]{article}
 2 \usepackage{listings}
 3 \usepackage{xcolor}
 4 \lstset{
 5   %行号
 6   numbers=left,
 7   %背景框
 8   framexleftmargin=10mm,
 9   frame=none,
10   %背景色
11   %backgroundcolor=\color[rgb]{1,1,0.76},
12   backgroundcolor=\color[RGB]{245,245,244},
13   %样式
14   keywordstyle=\bf\color{blue},
15   identifierstyle=\bf,
16   numberstyle=\color[RGB]{0,192,192},
17   commentstyle=\it\color[RGB]{0,96,96},
18   stringstyle=\rmfamily\slshape\color[RGB]{128,0,0},
19   %显示空格
20   showstringspaces=false
21   }
22 
23 \begin{document}
24 \begin{lstlisting}[language={C}]
25 int main(int argc, char ** argv)
26 {
27 //Print Hello world
28   printf("Hello world!\n");
29   int i;
30   for(int j=0;j<10;j++)
31   {
32     printf("hello");
33   }
34   return 0;
35 }
36 \end{lstlisting}
37 \end{document}

2. 使用Highlight对代码进行高亮处理

Highlight是一个相当强大的代码高亮软件,它支持多种计算机语言,并且可以输出为多种格式,比如LaTeX/TeX,HTML,XHTML,RTF等,使用它对上述的LaTeX代码高亮的效果如下图:

highlight

再看一个C语言的效果,

image

而Highlight的使用也相当简单,其软件界面如图:

Highlight软件界面

 

3.两种方式的对比

使用listings相当简便,要配置的东西并不多,而且效果并不差,只是效果没有Highlight那么丰富,而使用Highlight的话,可以得到很好的效果,并且支持中文注释,只是要真正使用Highlight生成的代码与latex很好地配合起来还是很复杂的。

posted @ 2009-12-30 14:05  Walter L  阅读(8795)  评论(0编辑  收藏  举报