vscode配置latex的代码高亮(minted)

1. 绪言

  • 最近写毕业论文,使用的是latex,自己都是因为写毕业论文才用它的,仅限于照葫芦画瓢。
  • 有时,想实现某种格式,发现费劲得很,自己都怀疑是不是应该回去用word。

2. 关于listings

2.1 listings包不好用

  • 今天想为某个概念的说明添加代码,网上大部分都是推荐使用listings包。

  • 自己参考了博客:LaTex:插入代码的listings包和lstlisting环境

  • 最后发现,效果很一般。虽然它支持很多语言,但并没有自动实现代码高亮,字体大小、代码块边框、行号、关键字颜色什么的都要自己去设置。

  • 最烦的是,我的英文引号明明打的好好的,咋编译出来就不对了😂

    \begin{lstlisting}[language = python]
    import numpy as np
    import matplotlib.pyplot as plt
    
    X = np.linspace(-6, 6, 200)
    Y = 1 / (1 + np.exp(-X))
    plt.figure()
    print("hello")
    \end{lstlisting}
    

在这里插入图片描述

2.2 listings包相关知识

  • listings包支持的语言、它允许的设置等都可以参考网页:LaTeX/Source Code Listings

  • 自定义颜色需要引入color包,使用小数定义和整数定义颜色,他们的代码不一样:

    \definecolor{dkgreen}{rgb}{0,0.6,0}
    \definecolor{gray}{RGB}{244,244,244}
    
  • 定义字号(可能是自己太挫了,只找到了这种笨办法):

    basicstyle=\fontsize{10.5pt}{10.5pt}\selectfont
    

3. 使用minted

  • 最后自己以latex code highlighting查到了minted包,发现这次不错啊,可以自动实现语法高亮,但就是配置过程太曲折了。

    \begin{minted}{c++}
    int main() {
        printf("hello, world");
        return 0;
    }
    \end{minted}
    

在这里插入图片描述

  • 下定决心了,就用它了!!!

3.1 代码准备

  • 使用minted包,还是需要额外引用:

    \usepackage{minted}
    
  • 插入的代码如上所示,编译报错:

    You must invoke LaTeX with the -shell-escape flag
    

3.2 添加-shell-escape编译参数

  • 通过查阅资料,自己尝试在settings.json中的添加这个编译参数。

    // Latex workshop
    "latex-workshop.latex.tools": [
      {
        "name": "latexmk",
        "command": "latexmk",
        "args": [
        "-shell-escape",//添加参数
        ...
        ]
      },
      {
        "name": "xelatex",
        "command": "xelatex",
        "args": [
        "-shell-escape",  //添加参数
        ...
          ]
      },          
      {
        "name": "pdflatex",
        "command": "pdflatex",
        "args": [
        "-shell-escape",//添加参数
        ...
        ]
      },
    
  • 再次编译,仍然报错:

    You must have `pygmentize' installed to use this package.
    

3.3 安装Pygments

  • py开头的,一看就知道跟python有关。

  • 因此,首先需要安装python,我的win10之前就已经安装过python3.7了。

  • python的安装方法请自己百度,网上应该很多的,而且在windows上安装python完全就是next、next,最后系统环境别人都可以自动配好。

  • 以管理员身份运行命令提示符,输入以下命令安装Pygments

    pip install Pygments
    
  • Pygments安装好后,可以使用以下命令,查看支持的语言:

    pygmentize -L lexers
    
  • 更多操作都可以参考博客:minted使用

  • 官方文档:The minted package: Highlighted source code in LATEX

3.4 解决常见错误

  • 如果编译以后出现以下错误,可以考虑以下原因:
    1. 自己的latex语法不对:比如,\begin{minted}\end{mineted}的参数不一致。

    2. 自己以前的缓存影响了此次编译:先把插入代码的语法注释掉,重新编译正确后,再加入插入代码的语法。

      Package tocbibind Note: Using chapter style headings, unless overridden.
      
      ) (d:/texlive/2019/texmf-dist/tex/latex/everypage/everypage.sty) (d:/texlive/2019/texmf-dist/tex/latex/tocloft/tocloft.sty) (d:/texlive/2019/texmf-dist/tex/latex/subfigure/subfigure.sty
      ****************************************
      * Local config file subfigure.cfg used *
      ****************************************
      
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值