Mac配置支持中文的LaTex+VScode环境

5,895 阅读2分钟

Mac配置支持中文的LaTex+VScode环境

下载MacTex

进入MacTex下载网址进行安装包下载,然后直接点开安装

检查MacTex是否安装成功

安装成功后,能够看到以下软件
image.png

打开Mac自带的终端Terminal,输入tex -v,查看Latex版本,只要不报错并且显示一些信息即表示安装成功 image.png

下载VScode必要插件

点开VSCode的Extensions界面,就是那个俄罗斯方块图标

image.png

搜索LaTex WorkShop,选择作者James Yu的插件,反正他的插件下载量最高
点击Install,进行安装

image.png

修改VScode的json配置文件

从左下角的齿轮图标打开setting

image.png

然后得到这样的界面

image.png

点击右上角的图标,用来打开设置的json文件

image.png

此时你可能会遇到两种情况:

  1. json文件中没有东西

image.png

这种情况下直接复制下面这串代码

{
     //LaTex配置
    "editor.language.brackets": [],
    "[latex]": {
        "editor.quickSuggestions": {
        "comments": "on",
        "strings": "on",
        "other": "on"
        }
    },
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-xelatex",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "lualatexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-lualatex",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "xelatexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-xelatex",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "latexmk_rconly",
            "command": "latexmk",
            "args": ["%DOC%"],
            "env": {}
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": ["%DOCFILE%"],
            "env": {}
        },
        {
            "name": "rnw2tex",
            "command": "Rscript",
            "args": [
                "-e",
                "knitr::opts_knit$set(concordance = TRUE); knitr::knit('%DOCFILE_EXT%')"
            ],
            "env": {}
        },
        {
            "name": "jnw2tex",
            "command": "julia",
            "args": ["-e", "using Weave; weave(\"%DOC_EXT%\", doctype=\"tex\")"],
            "env": {}
        },
        {
            "name": "jnw2texminted",
            "command": "julia",
            "args": [
                "-e",
                "using Weave; weave(\"%DOC_EXT%\", doctype=\"texminted\")"
            ],
            "env": {}
        },
        {
            "name": "pnw2tex",
            "command": "pweave",
            "args": ["-f", "tex", "%DOC_EXT%"],
            "env": {}
        },
        {
            "name": "pnw2texminted",
            "command": "pweave",
            "args": ["-f", "texminted", "%DOC_EXT%"],
            "env": {}
        },
        {
            "name": "tectonic",
            "command": "tectonic",
            "args": ["--synctex", "--keep-logs", "%DOC%.tex"],
            "env": {}
        }
    ]
}
  1. json文件中已经有东西

image.png

找到最外层的两个小括号,如果在小括号内最后一行的末尾没有逗号就加上逗号,不用管其他的东西是什么。

image.png

加上逗号

image.png

然后在逗号后面加入下列代码

     //LaTex配置
    "editor.language.brackets": [],
    "[latex]": {
        "editor.quickSuggestions": {
        "comments": "on",
        "strings": "on",
        "other": "on"
        }
    },
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-xelatex",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "lualatexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-lualatex",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "xelatexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-xelatex",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "latexmk_rconly",
            "command": "latexmk",
            "args": ["%DOC%"],
            "env": {}
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": ["%DOCFILE%"],
            "env": {}
        },
        {
            "name": "rnw2tex",
            "command": "Rscript",
            "args": [
                "-e",
                "knitr::opts_knit$set(concordance = TRUE); knitr::knit('%DOCFILE_EXT%')"
            ],
            "env": {}
        },
        {
            "name": "jnw2tex",
            "command": "julia",
            "args": ["-e", "using Weave; weave(\"%DOC_EXT%\", doctype=\"tex\")"],
            "env": {}
        },
        {
            "name": "jnw2texminted",
            "command": "julia",
            "args": [
                "-e",
                "using Weave; weave(\"%DOC_EXT%\", doctype=\"texminted\")"
            ],
            "env": {}
        },
        {
            "name": "pnw2tex",
            "command": "pweave",
            "args": ["-f", "tex", "%DOC_EXT%"],
            "env": {}
        },
        {
            "name": "pnw2texminted",
            "command": "pweave",
            "args": ["-f", "texminted", "%DOC_EXT%"],
            "env": {}
        },
        {
            "name": "tectonic",
            "command": "tectonic",
            "args": ["--synctex", "--keep-logs", "%DOC%.tex"],
            "env": {}
        }
    ]

得到的结果如下所示

image.png

重启VScode,有时候不生效就是因为没有重启

测试案例

随便打开一个目录,使用command+o或者通过左上角的file->open

image.png

我这里只是打开了一个新创建的目录,不用紧张

image.png

新建一个LaTex文件,后缀为tex

image.png

输入以下的测试案例

\documentclass[UTF8]{ctexart}
\begin{document}
hello, world
你好,世界
\end{document}

image.png

进行编译,点开左边的TEX图标

image.png

点击Build LaTex project,进行编译

image.png

然后点击View LaTex PDF进行查看

image.png