許多人都是用texstudio或者winedt配合texlive編寫 文檔,很長一段時間內texstudio是我惟一的編輯器,然而,顏控的我受不了那原始的界面,因而我看上了VSCode。漂亮、免費、開源是我選擇VSCode的主要緣由。git
網上有不少介紹VSCode+ 的文章,不過在配置外部閱讀器的介紹稍微有點少,我在網上找了好久纔在LaTeX Workshop做者的github主頁上找到方法,同時也萌發了寫一篇教程的想法。github
本文主要介紹使用VSCode編寫簡單的文檔以及設置外部PDF閱讀器的方法。編輯器
安裝texlive工具
加載texlive 2018的iso文件,ui
右鍵install-tl-advanced.bat,單擊以管理員身份運行,進入高級安裝界面。插件
能夠在「選擇安裝方案」和「Installation collections」選擇須要安裝的功能,TEXDIR修改安裝目錄。3d
不少宏包和功能我我的並不須要,所以我在這裏取消勾選,你們能夠根據須要勾選本身須要的功能,若是嫌麻煩所有安裝也能夠,並不消耗多少空間。code
等待安裝完成。orm
安裝VSCode上的 插件blog
與此同時,下載VSCode並安裝,VSCode的安裝很簡單,這裏就不嘮叨了。
VSCode安裝完成以後,在擴展商店安裝LaTeX Workshop插件。
安裝完成後,隨便打開一個tex源文件,
能夠看到,代碼已經被高亮顯示。
配置VSCode
將如下代碼放入VSCode的設置區內。
"latex-workshop.latex.tools": [ { // 編譯工具和命令 "name": "xelatex", "command": "xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "%DOC%" ] }, { "name": "pdflatex", "command": "pdflatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ] }, { "name": "bibtex", "command": "bibtex", "args": [ "%DOCFILE%" ] } ],
LaTeX Workshop默認的編譯工具是latexmk,你們根據須要修改所需的工具和命令,我不須要用到latexmk,所以我把其修改成中文環境最經常使用的xelatex,你們根據需求自行修改。
"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放到第一位,便可以默認工具編譯,但會比較慢。你們能夠根據須要自行按照格式添加本身須要的編譯鏈。
要使用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爲閱讀器預覽了。
右鍵編輯器空白處,單擊「Build LaTeX project」(可更改快捷鍵)就能夠以默認編譯工具xelatex編譯文件。
單擊右上角的按鈕便可打開SumatraPDF並預覽。
正向搜索
"latex-workshop.view.pdf.external.synctex": { "command": "E:/Programs/SumatraPDF/SumatraPDF.exe", "args": [ "-forward-search", "%TEX%", "%LINE%", "%PDF%" ] },
添加代碼進入設置區以配置正向搜索。「command」依舊是SumatraPDF.exe的存放位置,根據具體狀況修改。
右鍵文件空白處,單擊「SyncTeX from cursor」便可正向搜索。
能夠看到,光標所在的行的內容在PDF中高亮顯示。
反向搜索
打開SumatraPDF,進入設置->選項
填入Code.exe的所在位置,另外添加如下命令
-g "%f:%l"
(感謝
指出,若是不加雙引號,在文件路徑有空格的狀況下會致使沒法反向搜索)
雙擊PDF中的任意一處便可跳轉到VSCode中所對應的內容的源代碼處。
這樣VSCode+texlive就徹底配置好了。
注意事項
對於問題1,LaTeX Workshop的做者給出瞭解釋:
簡單地說,這是由於經過VSCode中預覽按鈕啓動的SumatraPDF是做爲VSCode的一個子進程運行的,這樣就沒法反過來調用Code.exe(後面這句是我猜的)。
這種問題目前沒法在插件層面解決,做者給出了一種解決方案,
使用CMD做爲命令而SumatraPDF.exe做爲參數,不過這種方法我尚未搞成功。
其餘設置
"latex-workshop.latex.autoBuild.onSave.enabled": false,