用minted宏包在TeXWorks中插入代码高亮

时间:2021-02-01 21:40:58

安装texlive时没有用自带的Texworks编辑器的请看这篇文章
http://blog.csdn.net/gogdizzy/article/details/9136239)这是WinEdt编辑器下的操作。

一. minted宏包的使用

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

效果如下
用minted宏包在TeXWorks中插入代码高亮

二.使用过程遇到的报错

  1. 安装texlive,选择自带的Texworks编辑器,最近的新版本都自带了minted宏包
  2. 安装Python,在这里下载(https://www.python.org/downloads/
    并为Python设置好环境变量,这个自行百度,就是把
    D:\Python34\;D:\Python34\Scripts;加到系统环境变量path里面
  3. 安装Pygments
    可以看我这个笔记,windows下用easy_install安装Pygments
    完了之后运行上面给出的代码还得报错,提示说“minted Error: You must invoke LaTeX with the -shell-escape flag”这时得启用shell escape
  4. 启用shell escape
    我是TeXWorks所以很简单,“编辑器”->”首选项”->”排版”在“处理工具”那一栏的右边点加号,新建一个XeLatex+shellescape的配置,可以参照列表里的XeLatex配置,“程序”填xelates.exe,加入三个参数 synctexoptionshellescape fullname,点击确定保存。如图所示
    用minted宏包在TeXWorks中插入代码高亮
    然后编译的时候选择新建的这个工具,如图
    用minted宏包在TeXWorks中插入代码高亮
    如果你的是WinEdt编辑器,请参照这篇启用shell escape
    http://blog.csdn.net/gogdizzy/article/details/9136239
    也可以参考国外官网论坛的帖子How to invoke latex with the -shell-escape flag in TeXMakerX?
  5. 注意\begin{minted}{c++} 这句中的c是小写的
  6. minted支持300中语言的高亮,Pygments语法高亮工具提供了不同的高亮风格,具体配置见minted参考文档
    还有博客Jekyll 中的语法高亮:Pygments

二.其他语法高亮方案

  1. listings
    listings 是专用于代码排版的 LaTeX宏包,可对关键词、注释和字符串等使用不同的字体和颜色或颜色,也可以为代码添加边框、背景等风格。
    但是这种方法相对于minted来说稍显麻烦,语法高亮需要自己设置。
    下面给出一份用于排版 C 语言 HelloWorld 程序代码的完整的 LaTeX 文档:
\documentclass{ article} 
\usepackage{ listings} 
\begin{ document} \begin{ lstlisting}[ language=C] int main(int argc, char ** argv) { printf("Hello world! \n"); 
return 0; 
} 
\end{ lstlisting} \end{ document}

注意,要使用 listings 宏包提供的语法高亮,需要 xcolor 宏包支持。
具体请看博客在LaTeX中插入程序代码