LaTeX下代碼高亮(關鍵字,CTeX, WinEdt, minted, highlight)

今天想在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,就無法顯示代碼。







發佈了99 篇原創文章 · 獲贊 98 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章