此前會議論文寫作,由於需要即時協作,所以對overleaf依賴比較高。而近期要開始寫畢業論文,學院要求中文,組內要求60頁,考慮到大文件用overleaf編譯會比較慢,而在寫作過程中也不需要協作,所以打算遷移到本地VSC,我目前使用的是雙屏雙系統,所以都弄一下,做個簡易教程吧。此外,我增加了github和gitee雲端版本管理,方便后續。
本文以Mac Visual Studio Code配置為主線,如果windows上有其他特殊事項,則會單獨注明。
使用設備說明:
- Mac: macOS 12.2.1 (mac mini M1 2020)
- Windows: Windows 11 (i7-9700KF)
一、 安裝 TeX 語言編譯器
TeX是一門具有優良格式的語言,其自帶一套語法,需要對應的編譯器進行編譯。正如C語言需要gcc。
- Mac:推薦安裝 MacTeX,選擇MacTeX Download即可。
- Windows:推薦通過中科大源安裝TeX Live,texlive.iso文件即可。
二、 安裝 Visual Studio Code(VSC)及插件
作為一款輕便的編輯器,功能全面,加上良好的插件庫,可以高度定制化個人的開發環境。推薦
-
VSC下載鏈接:https://code.visualstudio.com/
-
插件:
- latex-workshop: 本文主角,latex萬花筒
- chinese language pack:中文語言包
- vim(可選):vsc的vim模擬器
三、 VSC配置LaTeX Workshop插件
打開設置的文本界面: 快捷鍵(Command/Ctrl + shift + P) ==> 輸入 open settings(json)
vsc的配置文件是一個json文件,只需要在最外層的花括號內,增加鍵值。
latex 一般會使用.bib文件,所以需要四次編譯,即latex -> bibtex -> latex -> latex。這里latex可以是pdfLaTeX、XeLaTeX等,區別是pdf只支持英文,而XeLaTeX支持中文編碼。latex-workshop默認采用pdflatex,所以若要使用xelatex,則需要單獨在tools中添加xelatex的指令,然后在recipes中,添加新的一組指令。
在配置文件中,我給pdflatex和xelatex都設置了tools,然后采用組合命令recipes進行一鍵編譯。
VSC添加配置: (添加鍵值時,注意逗號!json文件采用鍵值和逗號區分,縮進不影響。)
{
"*": "*", // 這里指代其他已有的字典鍵值,保留,在其下增加新鍵值
"latex-workshop.latex.recipe.default": "xelatex -> bibtex -> xelatex*2",
// 設置默認編譯指令,根據name在下方recipes取具體的先后執行命令
"latex-workshop.latex.recipes": [
{"name": "pdflatex -> bibtex -> pdflatex*2",
"tools": ["pdflatex", "bibtex", "pdflatex", "pdflatex",],},
// 對應具體的執行命令集合,這些命令pdflatex/bibtex從下方tools取
{"name": "xelatex -> bibtex -> xelatex*2",
"tools": ["xelatex", "bibtex", "xelatex", "xelatex",],},
],
"latex-workshop.latex.tools": [
{"name": "pdflatex", "command": "pdflatex",
"args": ["-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOCFILE%",],},
{"name": "bibtex", "command": "bibtex",
"args": ["%DOCFILE%",],},
{"name": "xelatex", "command": "xelatex",
"args": ["-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOCFILE%",],},
],
"latex-workshop.view.pdf.viewer": "tab", // 標簽模式打開pdf
"latex-workshop.synctex.afterBuild.enabled": true, // 啟用反向搜索
"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click", // 雙擊反向搜索(反向搜索見下文解釋)
// 以下是其他配置,推薦但非必須
"editor.formatOnPaste": true, // 粘貼到VSC,立即格式化粘帖內容;為了bibtex格式化
"editor.formatOnSave": true, //文件保存時,自動格式化,配合bib按bibkey排序使用,很方便,以及latex 公式模塊縮進;
"editor.wordWrap": "on", // 行視距內自動換行(防止長行出現)
"latex-workshop.bibtex-fields.sort.enabled": true, // .bib每個item按field自定義排序
"latex-workshop.bibtex-fields.order": ["title", "author", "booktitle", "journal", "year", "volume", "page"],
"latex-workshop.bibtex-format.sort.enabled": true, // 對.bib所有item排序
"latex-workshop.bibtex-format.sortby": ["booktitle", "journal", "year"],
"latex-workshop.intellisense.package.enabled": true,
"latex-workshop.latex.autoClean.run": "onBuilt", // 編譯完成后清理多余文件
"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"
],
}
本人MAC VSC完整版配置。,僅供參考。(如果覺得有用,請賜star)
以上,完成以上配置后,即可正常編譯了。
注操作快捷鍵:
- 編譯: Command/Ctrl + Option/Alt + B
- 顯示PDF:Command/Ctrl + Option/Alt + V
- 正向搜索(tex位置->pdf位置):Command/Ctrl + Option/Alt + J
- 反向搜索(pdf位置->tex位置):Command/Ctrl + Option/Alt + 點擊 (或者直接雙擊pdf位置)
四、 配置Git
和一般的倉庫初始化git一樣,具體操作可查看我的另一篇文章Git 基本操作
這里貼一下.gitignore
__*
*.aux
*.gz
.vscode/
*.aux
*.bbl
*.blg
*.idx
*.ind
*.lof
*.lot
*.out
*.toc
*.acn
*.acr
*.alg
*.glg
*.glo
*.gls
*.ist
*.fls
*.log
*.fdb_latexmk
*.log
.DS_Store
.directory
以上都完成了! Enjoy your Writing!Ahhhhh!