现在的位置: 首页 > 综合 > 正文

LaTeX下代码高亮(关键字,CTeX, WinEdt, minted, highlight)

2013年07月16日 ⁄ 综合 ⁄ 共 1297字 ⁄ 字号 评论关闭

今天想在LaTeX插入代码,高亮显示,网上基本上都建议使用listings宏包,但是试用了一下,发现效果一般。

后来发现了另一个叫minted的宏包,使用简单,效果好,c++的效果如下:

但是需要安装很多东西,下面整理一下安装流程。

我的环境是win7-64bit,已经安装了CTeX套装,平时使用WinEdt来编辑(就是如何在WinEdt上添加命令行参数困扰了我半天)。

1 如果已经安装了CTeX套装,minted宏包已经有了,不需要额外下载。

minted具体信息在:http://ctan.org/pkg/minted

可以下载其文档看看。

2 需要安装python,下载地址:http://python.org/download/releases/2.7.5/

因为安装文档说的是python2,就没有下载python3,怕不兼容,假设安装路径为“C:\Python27”,将这个路径加入系统变量的Path中。

3 安装easy_install,这是一个傻瓜式安装包,有了它就可以简单的安装后面的包。

下载地址:https://pypi.python.org/pypi/setuptools/0.7.4#windows

下载这个文件:ez_setup.py

在命令行运行:python ez_setup.py

这样easy_install工具就安装好了,可以看到C:\Python27中多出一个Scripts文件夹,将“C:\Python27\Scripts”加入系统变量的Path中。

4 安装Pygments(如想看介绍可以看这里:http://pygments.org/download/,不是必看)

直接在命令行运行:easy_install Pygments

这时会自动帮你下载和安装,所以是傻瓜式的,最后安装结果在“C:\Python27\Scripts”中。

5 这时直接在WinEdt写LaTeX代码,如下:

\documentclass[CJK]{cctart}
\usepackage{minted}
\begin{document}
\begin{minted}{c++}
int main() {
    printf("hello, world");
    return 0;
}
\end{minted}
\end{document}

发现是编译不了的,因为缺少-shell-escape参数

如何添加费了我好大的力,最后终于发现,在WinEdt》Options》Execution Modes》Console Applications,左侧有一栏是各种命令,这些命令可以选择,然后在下面的parameters中修改参数,我目前用的是PDFTeXify,所以在这个命令的parameters添加“--tex-option=-shell-escape”就好了,如图:

这样就可以编译了(之前我一直在latex命令后面添加,不起任何作用)。

6 最后的一个问题是,编译通过,但是显示的pdf是一片空白,这个原因可能是使用minted的时候,\begin{minted}{language}中的language写错了,例如我把小写的c写成了大写的C,就无法显示代码。

抱歉!评论已关闭.