如何利用VSCode書寫Latex並進行編譯


1.安裝Textlive

markdown作為一種非常適於書寫筆記的文本語言,但是當需要書寫論文的時候,markdown就有些力不從心,這個時候,LaTex就是一種不錯的選擇。

然而,textstudio的界面十分原始,並且顏值不高,而且軟件比較大,因此,為什么不選擇最好的文本編輯器之一Visual Studio Code呢?

當然,你需要首先下載Textlive,建議從國內的鏡像下載。

華為鏡像:https://mirrors.huaweicloud.com/CTAN/systems/texlive/Images/
阿里雲鏡像:https://mirrors.aliyun.com/CTAN/systems/texlive/Images/

例如,進入華為鏡像之后


下載最新版即可。

之后找到這個文件,右鍵點擊裝載,找到install-tl-windows,右鍵管理員身份運行。

進入安裝界面,點擊左下角的“Advanced”進入高級安裝來取消你不需要安裝的宏包。

在這里,你可以更改你所需要安裝的宏包和語言,並更改安裝位置等等

點擊“Customize”來取消勾選不需要的宏包,這里可以取消不需要的語言,減少一定的空間。

之后安靜等待,安裝的過程比較漫長。筆者大概花費了20-30分鍾。

安裝完成之后,可以在命令行輸入xelatex -v來檢查是否安裝成功。

2.安裝VSCode插件——LaTeX Workshop

這一步很簡單,進入VSC的擴展商店,找到,安裝即可。

這個時候,創建一個tex文件,你會發現,VSC已經可以為你自動提示並且高亮。

3.配置你的LaTeX插件,設置配置文件

在 VSCode 界面下按下 F1,然后鍵入“setjson”,點擊“首選項: 打開設置(JSON)”

你會發現,你的文件夾下已經生成了一個.vscode的文件夾,這里即存儲着你的配置文件(json)

我們要做的就是配置好json文件。

3.1整體json代碼

我們首先放出所有的配置文件,並在下一節進行逐步說明。

{
    "latex-workshop.latex.autoBuild.run": "never",
    "latex-workshop.showContextMenu": true,
    "latex-workshop.intellisense.package.enabled": true,
    "latex-workshop.message.error.show": false,
    "latex-workshop.message.warning.show": false,
    "latex-workshop.latex.tools": [
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "-outdir=%OUTDIR%",
                "%DOCFILE%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "XeLaTeX",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "PDFLaTeX",
            "tools": [
                "pdflatex"
            ]
        },
        {
            "name": "BibTeX",
            "tools": [
                "bibtex"
            ]
        },
        {
            "name": "LaTeXmk",
            "tools": [
                "latexmk"
            ]
        },
        {
            "name": "xelatex -> bibtex -> xelatex*2",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        },
        {
            "name": "pdflatex -> bibtex -> pdflatex*2",
            "tools": [
                "pdflatex",
                "bibtex",
                "pdflatex",
                "pdflatex"
            ]
        },
    ],
    "latex-workshop.latex.clean.fileTypes": [
        "*.aux",
        "*.bbl",
        "*.blg",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        "*.toc",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.ist",
        "*.fls",
        "*.log",
        "*.fdb_latexmk"
    ],
    "latex-workshop.latex.autoClean.run": "onFailed",
    "latex-workshop.latex.recipe.default": "lastUsed",
    "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click"
}

如果您不想了解這里的配置文件,直接調到第4節即可。

3.2配置文件解釋

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

自動編譯選項,never: 從不自動編譯

"latex-workshop.showContextMenu": true

上下文LaTeX菜單,設置為true之后,右擊,你會發現多出了兩個選項。

之后我們的編譯就是使用這里的“Build LaTex Project”選項,或者右上角的編譯按鈕。

"latex-workshop.intellisense.package.enabled": true

設置為true,則該拓展能夠從使用的宏包中自動提取命令和環境,從而補全正在編寫的代碼。

"latex-workshop.message.error.show"  : false,
"latex-workshop.message.warning.show": false

這兩個命令是設置當文檔編譯錯誤時是否彈出顯示出錯和警告的彈窗。
關閉這些彈窗,這些錯誤和警告信息就能夠從終端中獲取。

"latex-workshop.latex.tools": [
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "-outdir=%OUTDIR%",
                "%DOCFILE%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        }
    ]

這一步是設置編譯工具。

這里不做過多說明,使用%DOCFILE可以將文件所在路徑設置為中文,%DOC則不可以,如果為你規范,設置%DOC即可。

如果你想了解看到,請看這個插件的官方說明:

https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#placeholders

"latex-workshop.latex.recipes": [
        {
            "name": "XeLaTeX",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "PDFLaTeX",
            "tools": [
                "pdflatex"
            ]
        },
        {
            "name": "BibTeX",
            "tools": [
                "bibtex"
            ]
        },
        {
            "name": "LaTeXmk",
            "tools": [
                "latexmk"
            ]
        },
        {
            "name": "xelatex -> bibtex -> xelatex*2",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        },
        {
            "name": "pdflatex -> bibtex -> pdflatex*2",
            "tools": [
                "pdflatex",
                "bibtex",
                "pdflatex",
                "pdflatex"
            ]
        }
    ]

定義編譯鏈。

"latex-workshop.latex.clean.fileTypes": [
        "*.aux",
        "*.bbl",
        "*.blg",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        "*.toc",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.ist",
        "*.fls",
        "*.log",
        "*.fdb_latexmk"
    ]

設置編譯后要自動清除的輔助文件類型。

"latex-workshop.latex.autoClean.run": "onFailed"

設置是否要清理編譯后的輔助文件(包括上面提到的文件類型)。

  • onFailed : 當編譯失敗時,清除輔助文件;
  • onBuilt : 無論是否編譯成功,都選擇清除輔助文件;
  • never : 無論何時,都不清除輔助文件。

onBuilt會讓你的目錄很干凈,但是單有些時候需要保留一些編譯文件,所以onFailed是不錯的選擇,失敗則清除,成功則保留。

"latex-workshop.latex.recipe.default": "lastUsed"

設置默認編譯鏈

  • first:使用第一條編譯鏈
  • lastUsed:使用最近一次編譯所用的編譯鏈

二者各有優勢,請自行選擇。

"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click"

反向同步,即點擊編譯后的pdf可以跳到相應的代碼位置。

  • ctrl-click:Ctrl/cmd+鼠標左鍵單擊
  • double-click:雙擊

例如

4.編譯測試

新建一個tex測試文件,例如

\documentclass{article}
\usepackage{lipsum}
\begin{document}

    $ x_{ij}^{2}+y_{ij}^{2}=ab $

\end{document}

然后你可以在這里選擇編譯鏈並進行編譯。

為了更方便進行編譯,可對其設置快捷鍵,設置快捷鍵步驟如下:

之后,按住你設置的快捷鍵。

就可以選擇你的編譯鏈進行編譯。

開始你的測試吧!

相信你已經成功了!

本篇博客參考了https://zhuanlan.zhihu.com/p/166523064,你可以在那里看到更加詳細的說明


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM