您的位置:首页 > 编程语言 > C语言/C++

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

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

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

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





而上面的效果的代码也相当容易理解,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代码高亮的效果如下图:





再看一个C语言的效果,





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





 

3.两种方式的对比

使用listings相当简便,要配置的东西并不多,而且效果并不差,只是效果没有Highlight那么丰富,而使用Highlight的话,可以得到很好的效果,并且支持中文注释,只是要真正使用Highlight生成的代码与latex很好地配合起来还是很复杂的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: