LaTeX包以各种语言对代码进行语法高亮显示

我正在寻找代码上的语法突出显示的LaTeX包。 例如,现在我使用逐字块来编写代码:

\begin{verbatim} <html> <head> <title>Hello</title> </head> <body>Hello</body> </html> \end{verbatim} 

这工作正常,以显示我的文件上的代码。 但是,假设我想在输出文档中突出显示IDE标记的HTML标记? 有没有可以帮忙的包?

我想对各种语言,如Java,C#,HTML,CSS等都做同样的事情。

你可以使用列表包。 它支持许多不同的语言,并有很多选项来定制输出。

 \documentclass{article} \usepackage{listings} \begin{document} \begin{lstlisting}[language=html] <html> <head> <title>Hello</title> </head> <body>Hello</body> </html> \end{lstlisting} \end{document} 

在问了一个类似的问题之后,我创build了另一个使用Pygments的包,并提供了比texments更多的选项。 它被称为minted ,是相当稳定和可用。

只是为了展示它,下面是一个代码突出显示的代码:

示例代码

我推荐Pygments 。 它接受任何语言的一段代码,并输出语法高亮的LaTeX代码。 它使用fancyvrb和颜色包来产生它的输出。 我个人比较喜欢上市套餐。 我认为fancyvrb创造更多漂亮的结果。

LGrind这样做。 这是一个成熟的LaTeX软件包,因为adam是一个牛仔,并且支持许多编程语言。

我主要在论文中使用lstlistings,但对于彩色输出(对于幻灯片),我使用pygments代替。

我会使用开发商康拉德·鲁道夫(Konrad Rudolph)提到的铸造包来代替上市包 。 这是为什么:

上市包

该列表软件包默认不支持颜色。 要使用颜色,您需要包含颜色包,并使用\ lstset命令自定义颜色规则,如此处为matlab代码所解释的。

另外,这个列表包不能和unicode一起工作,但是你可以像这里和这里所解释的那样解决这些问题。

下面的代码

 \documentclass{article} \usepackage{listings} \begin{document} \begin{lstlisting}[language=html] <html> <head> <title>Hello</title> </head> <body>Hello</body> </html> \end{lstlisting} \end{document} 

产生以下图像:

在这里输入图像说明

包装

铸造包支持颜色,unicode和看起来真棒。 但是,为了使用它,你需要有python 2.6和pygments 。 在Ubuntu中,你可以用terminal在terminal上检查你的python版本

 python --version 

你可以安装pygments

 sudo apt-get install python-pygments 

然后,由于铸造调用pygments,你需要像这样用-shell-escape编译它

 pdflatex -shell-escape yourfile.tex 

如果你使用像TexMaker这样的胶乳编辑器,我build议添加一个用户命令,这样你仍然可以在编辑器中编译它。

下面的代码

 \documentclass{article} \usepackage{minted} \begin{document} \begin{minted}{html} <!DOCTYPE html> <html> <head> <title>Hello</title> </head> <body>Hello</body> </html> \end{minted} \end{document} 

产生以下图像:

在这里输入图像说明

我build议根据下面的tex代码定义你自己的软件包; 这给你完全的自由。 http://ubuntuforums.org/archive/index.php/t-331602.html