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