首頁  >  文章  >  開發工具  >  vscode如何寫latex

vscode如何寫latex

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-12-07 11:17:124784瀏覽

vscode如何寫latex

1、安裝 texlive

載入 texlive 2019 的 iso 檔案。

vscode如何寫latex

#右鍵 install-tl-windows,按一下以管理員身分執行,進入安裝介面。

vscode如何寫latex

可以點選「Advanced」進入進階安裝來取消你不需要安裝的巨集套件。

vscode如何寫latex

進階安裝介面

#點擊「Customize」來取消勾選不需要的巨集套件。

vscode如何寫latex

很多巨集套件和功能我個人並不需要,因此我在這裡取消勾選,大家可以根據需要勾選自己需要的功能,如果嫌麻煩全部安裝也可以,並不消耗多少空間。

設定完安裝路徑等選項之後點選“安裝”,之後靜坐 20 分鐘等待安裝完成。

2、安裝 VSCode 上的 Latex 外掛程式

同時,下載 VSCode 並安裝,VSCode 的安裝很簡單,這裡就不嘮叨了。

vscode如何寫latex

VSCode 安裝完成之後,在擴充功能商店安裝 LaTeX Workshop 外掛程式。

安裝完成後,隨便打開一個 tex 原始文件,

vscode如何寫latex

可以看到,程式碼已經被高亮顯示。

3、設定 VSCode 的 Latex 外掛程式

#將下列程式碼放入 VSCode 的設定區內。

"latex-workshop.latex.tools": [
    {
        // 编译工具和命令
        "name": "xelatex",
        "command": "xelatex",
        "args": [
            "-synctex=1",
            "-interaction=nonstopmode",
            "-file-line-error",
            "-pdf",
            "%DOCFILE%"
        ]
    },
    {
        "name": "pdflatex",
        "command": "pdflatex",
        "args": [
            "-synctex=1",
            "-interaction=nonstopmode",
            "-file-line-error",
            "%DOCFILE%"
        ]
    },
    {
        "name": "bibtex",
        "command": "bibtex",
        "args": [
            "%DOCFILE%"
        ]
    }
],

LaTeX Workshop 預設的編譯工具是latexmk,大家根據需要修改所需的工具和指令,我不需要用到latexmk,因此我把其修改為中文環境常用的xelatex,大家根據需要自行修改。 (感謝 huan Yu,將 tools 中的 %DOC%替換成%DOCFILE%就可以支援中文路徑下的檔案了)

"latex-workshop.latex.recipes": [
    {
        "name": "xelatex",
        "tools": [
            "xelatex"
        ]
    },
    {
        "name": "xe->bib->xe->xe",
        "tools": [
            "xelatex",
            "bibtex",
            "xelatex",
            "xelatex"
        ]
    }
],

用來設定編譯鏈,同樣地放入設定區。第一個recipe 為預設的編譯工具,如需要使用bibtex 可在編譯時點選VSCode 介面左下角的小勾,點選“Build LaTeX project”,選擇“xe->bib->xe-> xe”,另外的方法是使用右側欄,或者直接將“xe->bib->xe->xe”的Recipe 放到第一位,就可以作為默認Recipe 編譯了,但因為編譯次數比較多,速度會比較慢。大家可以依需求自行按照格式加入自己需要的編譯鏈。

vscode如何寫latex

要使用pdflatex,只需在tex 文件首加入以下程式碼:

%!TEX program = pdflatex

要使用SumatraPDF 預覽編譯好的PDF文件,新增以下程式碼進入設定區。

"latex-workshop.view.pdf.viewer": "external",
"latex-workshop.view.pdf.external.command": {
    "command": "E:/Programs/SumatraPDF/SumatraPDF.exe",
    "args": [
        "%PDF%"
    ]
},

「viewer」設定閱讀器為外部閱讀器,「command」為 SumatraPDF.exe 的路徑,根據具體情況修改。

現在就可以使用 VSCode 編譯 tex 檔案並以 SumatraPDF 為閱讀器預覽了。

vscode如何寫latex

外掛程式經過幾次更新之後已經去掉了右鍵選單選項,選項被移到了右側欄。點擊右側欄的 [公式] 圖標,再點擊你所想要使用的Recipe就可以編譯了,如果用快捷鍵則預設使用第一條 Recipe 編譯。或也可以使用快速鍵 Ctrl Alt V。

vscode如何寫latex

单击右上角的按钮即可打开 SumatraPDF 并预览。

4、配置正向搜索

"latex-workshop.view.pdf.external.synctex": {
    "command": "E:/Programs/SumatraPDF/SumatraPDF.exe",
    "args": [
        "-forward-search",
        "%TEX%",
        "%LINE%",
        "%PDF%"
    ]
},

添加代码进入设置区以配置正向搜索。“command”依旧是 SumatraPDF.exe 的存放位置,根据具体情况修改。

vscode如何寫latex

单击“SyncTeX from cursor”即可正向搜索。

vscode如何寫latex

可以看到,光标所在的行的内容在 PDF 中高亮显示。

5、配置反向搜索

打开 SumatraPDF,进入设置->选项->设置反向搜索命令行

vscode如何寫latex

添加以下命令:

"Code.exe" "resources\app\out\cli.js" -g "%f":"%l"

根据 VSCode 具体的安装位置将“Code.exe”和“resources\app\out\cli.js”换成 VSCode 在自己的电脑上的安装位置,例如:

"C:\Users\Marvey\AppData\Local\Programs\Microsoft VS Code\Code.exe" "C:\Users\Marvey\AppData\Local\Programs
\Microsoft VS Code\resources\app\out\cli.js" -g "%f":"%l"

(感谢Macrofuns指出,如果不加双引号,在文件路径有空格的情况下会导致无法反向搜索)

双击 PDF 中的任意一处即可跳转到 VSCode 中所对应的内容的源代码处。

vscode如何寫latex

这样 VSCode + texlive 就完全配置好了。

最好不要清理 xelatex 生成的 gz 后缀的临时文件,否则就不能进行正向和反向搜索;

之前的文章中,我提到了从 VSCode 预览按钮启动 SumatraPDF 会无法反向搜索的问题,现在已经解决,解决方法是在反向搜索命令中添加:

"resources\app\out\cli.js"

6、其他设置

LaTeX Workshop 默认保存的时候自动编译,如果不喜欢这个设置,可以添加以下代码进入设置区:

"latex-workshop.latex.autoBuild.run": "never",

附录

    // LaTeX
    "latex-workshop.latex.tools": [
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "%DOCFILE%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "xelatex",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "xe->bib->xe->xe",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        },
        {
            "name": "pdflatex",
            "tools": [
                "pdflatex"
            ]
        }
    ],
    "latex-workshop.view.pdf.viewer": "external",
    "latex-workshop.view.pdf.external.command": {            // **********
        "command": "C:/Program Files/SumatraPDF/SumatraPDF.exe", // 注意修改路径
        "args": [                                // **********
            "%PDF%"
        ]
    },
    
    "latex-workshop.view.pdf.external.synctex": {             // **********
        "command": "C:/Program Files/SumatraPDF/SumatraPDF.exe", // 注意修改路径
        "args": [                               // **********
            "-forward-search",
            "%TEX%",
            "%LINE%",
            "%PDF%"
        ]
    },

PHP中文网,有大量免费的vscode入门教程,欢迎大家学习!

以上是vscode如何寫latex的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn