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情况表”的下方插入一个表格
2854 1
通过python-docx给word文档中的指定位置添加表格
|
2月前
|
IDE 开发工具 Python
Python自动化操作word--批量替换word文档中的文字
Python自动化操作word--批量替换word文档中的文字
161 0
|
4月前
【Latex 格式】Markdown或者LaTeX在单个字母上加一横、一点、两点、三角
Markdown或者LaTeX在单个字母上加一横、一点、两点、三角
386 8
|
Dart Shell pouch
markdown中快速插入Emoji表情包语法速查表!!!
markdown中快速插入Emoji表情包语法速查表!!!
|
前端开发 JavaScript 算法
如何在页面展示数学公式之Latex语法
最近在做markdown 算法文章分享,算法肯定会涉及到数学复杂度,比如: O(log_nX) 等数学公式的展示,但是如果写成这样子lognX,估计很难准确表达,因此上网搜索了一下数学表达式在前端页面如何展示的相关技术。
247 0
|
自然语言处理 Python
【Python办公自动化】python实现将图片插入到word中指定位置并将word转换为图片
【Python办公自动化】python实现将图片插入到word中指定位置并将word转换为图片
379 0
Markdown 语法一共有哪些?如何使用?
Markdown 语法一共有哪些?如何使用?
139 0
|
IDE 开发工具
在微软Word中插入代码并保持代码样式
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396722 打开word文档,插入,对象,新建,OpenDocument文本,这里等待粘入代码。
5360 0
|
Python
Python 技术篇-操作word文档插入图片和表格实例演示
Python 技术篇-操作word文档插入图片和表格实例演示
292 0
Python 技术篇-操作word文档插入图片和表格实例演示
ADI
[记录] MarkDown用法
[记录] MarkDown用法
ADI
78 0