LaTeX:用 minted 插入代码

简介: LaTeX 使用 minted 需要先安装 `pygments`,这是一个 Python 的库

1. 配置 minted

LaTeX 使用 minted 需要先安装 pygments,这是一个 Python 的库,在 Ubuntu 上可以通过下列命令安装,

sudo apt-get install python-pygments

在 Windows 上则可以通过 pip 安装

pip install pygments

安装完毕后在命令行上输入

pygmentize -V

Pygments version 2.7.3, (c) 2006-2020 by Georg Brandl.

如果输出了版本信息则代表安装成功。

安装完毕后,需要在编译器上添加参数 -shell-escape

在使用 XeLaTeX + minted 的时候,有可能会将 tab 编译成 ^^I 的情况,可以在编译选项上加上 -8bit 参数,如图
在这里插入图片描述

1.1. VSCode 上

在 VSCode 上需要在 setting.json 上设置,首先 Ctrl + , 打开 Settings,然后搜索 latex,找到 Edit in settings.json,打开之后给编辑器加上参数,如下

        {
          "name": "xelatex",
          "command": "xelatex",
          "args": [
          "-shell-escape", 
          ...
            ]
        }, 
        

1.2. TeXstudio 上

1.2.1. Windows 系统

在 TeXstudio 上 Options -> Configure TeXstudio... -> Commands 上添加

在这里插入图片描述
在 Build 里面,可以将默认编译器设置为 XeLaTeX,这个对于中文的排版比较好
在这里插入图片描述
然后右下角展示高级设置(Show Advanced Options),设置编译路径

在这里插入图片描述
这个路径是看自己的 Python 安装的路径的,自行把自己的路径放进去,你的一定和我的不一样。

1.2.2. macOS 上

注意:在 macOS 上要用 minted 记得文件名称不要包含 空格, ' 等符号,否则会报错,要用空格可以用 _ 代替。

command + , 打开配置,在 Commands 上为自己的常用编译方式添加 -shell-escape 参数(我用的是 XeLaTeX)
在这里插入图片描述

然后在 Build 上设置默认编译器(Default Compiler):在这里插入图片描述

然后左下角展开高级设置(Show Advanced Options),添加 Python 和 Pygmentize 的路径:

如果不知道怎么看自己的路径,可以打开终端(Terminal),输入 which pythonwhich pygmentize 查看
在这里插入图片描述

在这里插入图片描述

: 前面的就是 Python 和 Pygmentize 的路径,都放在 bin 里,后面的是 LaTeX 的路径,多个路径用 : 分隔开。

2. minted 的使用

使用之前导入包 \usepackage{minted},还能够设置代码的高亮格式:

\usepackage{minted} 
\usemintedstyle{xcode}
minted 支持的代码高亮格式可以使用 pygmentize -L styles 进行查看

2.1. 基本方式

    \begin{minted}{python}
    import numpy as np


    print("Hello World!")
    \end{minted}

还有一种是行内的代码,

% \mintinline{language}{your code}
\mintinline{python}{import numpy as np}
    \begin{minted}[mathescape,
        linenos,
        numbersep=5pt,
        gobble=2,
        frame=lines,
        framesep=2mm]{python}
    import numpy as np


    print("Hello World!")
    \end{minted}

在这里插入图片描述

2.2. 更简便的方式 —— 定义全局命令

如果想要简便的使用可以使用全局定义:格式为行内代码 \newmintinline{language}{options},段落代码 \newminted{language}{options},甚至可以直接导入代码文件

\newmintinline{python}{breaklines,breakanywhere,python3}
%用法:\pythoninline{code}

\newminted{python}{breakanywhere,breaklines,python3,linenos}
%用法:\begin{pythoncode}\end{pythoncode}

\newmintedfile{python}{breakanywhere,breaklines,python3,linenos}
%用法:\pythonfile{file.py}

其中选项(options)有许多选择:

  • breaklines:在 minted 环境中自动折断比较长的行
  • python3:为 python 指定 Python3 高亮
  • firstline:设置代码的第一行的数字。如果设置为 4,则代码行号从 4 开始算起
  • showtabs(bool):显示 tab
  • linenos:在代码前设置数字表示代码的第几行(显示行号)
  • mathescape:用来在代码段中插入公式
  • tabsize=4:设置 Tab 的宽度为 4 个空格
目录
相关文章
通过python-docx给word文档中的指定位置添加表格
1.读取一个已有的word文档。docx格式。 2.在该word文档中,通过一个给定的文字。找到该位置。在该位置的下方添加一个表格。例如在图中“BUG情况表”的下方插入一个表格
2693 1
通过python-docx给word文档中的指定位置添加表格
|
1月前
【Latex 格式】Markdown或者LaTeX在单个字母上加一横、一点、两点、三角
Markdown或者LaTeX在单个字母上加一横、一点、两点、三角
103 8
|
4月前
|
Python
python去除word中多余换行符(向下箭头)
python去除word中多余换行符(向下箭头)
99 0
|
9月前
|
Dart Shell pouch
markdown中快速插入Emoji表情包语法速查表!!!
markdown中快速插入Emoji表情包语法速查表!!!
|
10月前
|
Python
python操作Excel插入n行后粘贴复制数据
python操作Excel插入n行后粘贴复制数据
156 0
|
12月前
|
Python
Python3,区区10行代码,批量把图片插入Excel指定单元格中,省下时间去烫头发。
Python3,区区10行代码,批量把图片插入Excel指定单元格中,省下时间去烫头发。
117 0
|
自然语言处理 Python
【Python办公自动化】python实现将图片插入到word中指定位置并将word转换为图片
【Python办公自动化】python实现将图片插入到word中指定位置并将word转换为图片
309 0
markdown 里的上标以及下标写法
markdown 里的上标以及下标写法
125 0
markdown 里的上标以及下标写法
Markdown 语法一共有哪些?如何使用?
Markdown 语法一共有哪些?如何使用?
129 0
|
IDE 开发工具
在微软Word中插入代码并保持代码样式
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396722 打开word文档,插入,对象,新建,OpenDocument文本,这里等待粘入代码。
5236 0