記錄一下如何用 VSCode 寫 paper

前言

為了測完整的安裝流程,我用 virtualbox 裝了一個乾淨的 windows 10。記錄到可以編譯 latex 的最簡化流程就好,所以本篇的終端機使用的是 powershell 而不是 WSL。在 Ubuntu 理論上也可以套用這個方法,不過安裝的套件就不同,例如: MikTex 就要換成 Tex Live 1

本篇範例使用 ACM 釋出的模板 2,因此 IEEE 或是學校畢業論文的模板可能會有所不同。

因為圖太多了,所以使用 “示意圖” 按鈕來隱藏圖片,想參考時打開即可。

LaTeX Cheat sheet

安裝套件

安裝順序應該沒關係,本篇測試順序是 VSCode → MikTex → Perl。

Perl

這裡直接安裝推薦的版本: Strawberry Perl,選 64-bit 版本。

示意圖
Strawberry Perl

Strawberry Perl

OuO

MikTeX

這個是 Latex 編譯器包,安裝網址: https://miktex.org/download

安裝完後會跳出提醒來安裝所有更新。

示意圖
安裝所有更新

安裝所有更新

OuO

打開 powershell 輸入 latexmk.exe 確認安裝正確。可能會先跳出一個視窗要安裝新套件,點選 install 即可。

示意圖
powershell

powershell

OuO

VSCode

建議安裝時打開 “以 Code 開啟” 的功能。

示意圖
以 Code 開啟

以 Code 開啟

OuO

外掛

理論上必要的只有 latex-workshop 和 preview-pdf,其他的選用。

  • james-yu.latex-workshop
  • analytic-signal.preview-pdf
  • mhutchie.git-graph
  • coenraads.bracket-pair-colorizer (已內建)
  • valentjn.vscode-ltex: 英文文法檢查,需要安裝 Java (已停止維護)
  • znck.grammarly: 上官網申請免費帳號後用 grammarly.login 登入 (2024 已無法使用QQ3)
  • 英文文法檢查暫時改用 ltex-plus.vscode-ltex-plus
  • vscode-icons-team.vscode-icons
示意圖
vscode 外掛

vscode 外掛

OuO

latex-workshop 設定

使用 Ctrl-Shift-P,輸入 setting,打開 json 檔。經過下方設定可以在 pdf 顯示視窗點兩下就連結回對應位置的 tex 程式碼;反之,在 tex 程式碼可以使用 Ctrl-Alt-j 前往 pdf 對應位置。

{
    "latex-workshop.hover.preview.enabled": true,
    "latex-workshop.hover.preview.scale": 2,
    "latex-workshop.message.error.show": true,
    "latex-workshop.message.warning.show": false,
    "latex-workshop.synctex.afterBuild.enabled": true,
    "latex-workshop.view.outline.sections": [
        "part",
        "chapter",
        "section",
        "subsection",
        "subsubsection",
        "paragraph"
    ],
    "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
    "latex-workshop.view.pdf.viewer": "tab",
}

VSCode 針對 latex 文字顯示設定

同樣 json 設定檔。可加入如下設定,這樣只會針對 latex 設定,而不會影響程式編輯。

{
    "[latex]": {
        "editor.fontFamily": "'Georgia','iA Writer Duospace', 'Dejavu Sans Mono'",
        "editor.fontSize": 22,
        "editor.formatOnSave": false,
        "editor.letterSpacing": 0.2,
        "editor.lineHeight": 44,
        "editor.lineNumbers": "on",
        "editor.wordWrap": "bounded",
        "editor.wordWrapColumn": 100
    },
}
示意圖
setting.json

setting.json

OuO

latex setting

latex setting

OuO

範例 (optional)

這裡直接使用 git 來拉範例 (使用 ACM 模板),因此會需要用到 git,可直接安裝 git for windows,或直接上 github 下載也可以。若已經有其他範例可以直接用 code 打開該資料夾。

示意圖
git for windows

git for windows

OuO

直接在 powershell 執行下面指令 (前方 > 不需要複製),就會看到 vscode 打開範例資料夾。

> git clone https://github.com/aben20807/paper-template.git
> code .\paper-template\

點開 paper.tex 檔案後,左方會出現 TEX 的圖示,點開後執行編譯的 recipe (最長那個)。這時候會跳出安裝套件的視窗。

示意圖
編譯

編譯

OuO

如果不想要一個一個點的話可以從開始選單中找 “MiKTex Console”,在 setting 中把自動安裝套件改成 Always。

示意圖
MiKTex Console

MiKTex Console

OuO

最後就成功把範例編譯完成

完成

完成

OuO

錯誤排除

  • 有時候 pdf viewer 在編譯後不會自動更新,這時候要先關閉那個分頁,再重新打開即可。
  • 編譯失敗時會出現打開錯誤訊息的視窗,或是可以直接開啟 LaTeX Compiler 的 Output,如上圖 (完成) 下方視窗所示。
  • ⊛ Back to top
  • ⊛ Go to bottom