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很好地配合起来还是很复杂的。

你可能感兴趣的:(latex)