vscode只有utf8_基于VSCode搭建LaTeX写作环境
前言
由于要進(jìn)行畢業(yè)設(shè)計(jì),配置了一套VSCode環(huán)境以便于“優(yōu)雅的”書寫代碼和論文
LaTeX常用于排版學(xué)術(shù)論文,它可以讓我們專心于內(nèi)容而不用費(fèi)心于排版或字體。LateX有TeX Studio等類似于IDE一類的編輯器,但是總感覺這類工具功能的確完善,但總有些別扭(丑),加上一些其他因素,我就把注意打到了VSCode上,期望打造一個(gè)一體化的開發(fā)寫作環(huán)境。
內(nèi)容
環(huán)境->基礎(chǔ)配置->正反向搜索
環(huán)境及版本
注意:未來(lái)的版本更新可能導(dǎo)致本文章失效- 操作系統(tǒng):Windows 10
- Visual Studio Code 1.14.1
- Tex Live 2019(清華鏡像)
- LaTeX Workshop 8.6.0 (VSCode擴(kuò)展)
- SumatraPDF (非必需,內(nèi)置實(shí)現(xiàn)更好用,感謝 @曾旋 )
配置
首先在VSCode中安裝LaTeX Workshop
VSCode擴(kuò)展之后進(jìn)入首選項(xiàng)進(jìn)行配置,找到擴(kuò)展LaTeX中的Tools或Recipes,進(jìn)入settings.json
首先配置工具和編譯鏈
將下方內(nèi)容填充進(jìn)settings.json:
如果實(shí)在不知道應(yīng)當(dāng)放在那里可以查一下settings.json的格式,本文最后會(huì)放上一個(gè)完整的配置"latex-workshop.latex.tools": [{// 編譯工具和命令"name": "pdflatex","command": "pdflatex","args": ["-synctex=1","-interaction=nonstopmode","-file-line-error","%DOCFILE%"]},{"name": "xelatex","command": "xelatex","args": ["-synctex=1","-interaction=nonstopmode","-file-line-error","-pdf","%DOCFILE%"]},{"name": "bibtex","command": "bibtex","args": ["%DOCFILE%"]}],"latex-workshop.latex.recipes": [{//編譯鏈"name": "xelatex","tools": ["xelatex"]},{"name": "pdflatex","tools": ["pdflatex"]},{"name": "xe->bib->xe->xe","tools": ["xelatex","bibtex","xelatex","xelatex"]}]這里只是簡(jiǎn)單配置了幾種編譯鏈,具體寫文章時(shí)應(yīng)按需要到這里配置新的編譯鏈。
此時(shí)可以新建tex文件,嘗試一下編譯生成pdf了,保存文件時(shí)會(huì)自動(dòng)編譯,點(diǎn)擊右上方的預(yù)覽按鈕查看pdf,默認(rèn)使用內(nèi)置窗口。
%test.tex documentclass[UTF8]{ctexart} begin{document} 你好,world! end{document}根據(jù)我上方的配置文件,默認(rèn)采用xelatex編譯。可以在左面LaTeX面板中看到配置的編譯鏈。
或者在命令面板Ctrl+Shift+P中選擇Build with recipe
至此,一個(gè)簡(jiǎn)易的LaTeX寫作環(huán)境已經(jīng)搭建完成,還需要根據(jù)需要再自定義編譯工具和工具鏈。
通過內(nèi)置PDF瀏覽器實(shí)現(xiàn)正反向搜索
感謝評(píng)論區(qū)提示。
通過SumatraPDF實(shí)現(xiàn)正反向搜索(不推薦)
最開始并不打算使用外置PDF閱讀器,但內(nèi)置PDF只能實(shí)現(xiàn)正向搜索,而Adobe Acrobat又不支持SyncTex,只能采用開源的SumatraPDF。
由于VSCode的子進(jìn)程機(jī)制導(dǎo)致現(xiàn)在使用反向搜索有點(diǎn)奇怪,要么必須從VSCode右上角的預(yù)覽按鈕啟動(dòng)閱讀器,要么必須自己?jiǎn)?dòng)PDF。下面會(huì)將兩種配置寫在一起供自己選擇,配置里帶cli.js的語(yǔ)句是只能在VSCode內(nèi)啟動(dòng)預(yù)覽,不帶cli的必須在外面啟動(dòng)PDF閱讀器,注釋掉其中一句就行。這個(gè)問題具體可見Github上的issue:Synctex inverse search doesn't work half the time
打開VSCode的settings.json,加入以下內(nèi)容:
注意下面所有的路徑要修改為自己設(shè)備上的安裝目錄 "latex-workshop.view.pdf.viewer": "external", "latex-workshop.view.pdf.external.viewer.command": "D:/SumatraPDF/SumatraPDF.exe", // 注意修改路徑"latex-workshop.view.pdf.external.viewer.args": ["%PDF%"],"latex-workshop.view.pdf.external.synctex.command": "D:/SumatraPDF/SumatraPDF.exe", // 注意修改路徑"latex-workshop.view.pdf.external.synctex.args": ["-forward-search","%TEX%","%LINE%","-reuse-instance","-inverse-search",//""D:Microsoft VS CodeCode.exe" -r -g "%f:%l"", //無(wú)cli版本,需外界啟動(dòng)""D:Microsoft VS CodeCode.exe" "D:Microsoft VS Coderesourcesappoutcli.js" -r -g "%f:%l"", //有cli,必須內(nèi)部啟動(dòng)"%PDF%"]之后在SumatraPDF的設(shè)置中,設(shè)定反向搜索命令行,要和剛才的cli選擇一致,注意更換安裝目錄
有cli.js:
"D:Microsoft VS CodeCode.exe" "D:Microsoft VS Coderesourcesappoutcli.js" -r -g "%f:%l"無(wú)cli.js:
"D:Microsoft VS CodeCode.exe" -r -g "%f:%l"配置完之后最好將兩個(gè)軟件全關(guān)掉,使用“正常(妥協(xié))的方法”:
- 命令行有cli的在VSCode內(nèi)啟動(dòng)預(yù)覽
- 沒有cli的自行打開SumatraPDF
之后就能享受到正反向搜索了,正向在VSCode內(nèi)的快捷鍵為Crtl+Alt+J,反向在SumatraPDF內(nèi)雙擊內(nèi)容即可。
如果之后反向搜索功能間歇性抽搐的話還是要重啟一下應(yīng)用看看是不是沒有用“正確的方法”。
總結(jié)
VSCode的擴(kuò)展性的確很強(qiáng),盡管在反向搜索上有點(diǎn)問題,但不影響它的主要功能,不需要反向搜索用內(nèi)置的分屏瀏覽也完全足夠。
在Windows上如果想要有更好的體驗(yàn)可以將編輯器的中文字體更換一下,這里推薦一個(gè)更紗黑體,其他操作系統(tǒng)也可以參考一下,畢竟VSCode是全平臺(tái)的編輯器,只不過反向搜索的SumatraPDF只有Windows版,其他操作系統(tǒng)需要尋找替代品。
這里再放一個(gè)完整的配置:
"latex-workshop.view.pdf.viewer": "external", "latex-workshop.view.pdf.external.viewer.command": "D:/SumatraPDF/SumatraPDF.exe", // 注意修改路徑"latex-workshop.view.pdf.external.viewer.args": ["%PDF%"],"latex-workshop.view.pdf.external.synctex.command": "D:/SumatraPDF/SumatraPDF.exe", // 注意修改路徑"latex-workshop.view.pdf.external.synctex.args": ["-forward-search","%TEX%","%LINE%","-reuse-instance","-inverse-search",//""D:Microsoft VS CodeCode.exe" -r -g "%f:%l"", //無(wú)cli版本,需外界啟動(dòng)""D:Microsoft VS CodeCode.exe" "D:Microsoft VS Coderesourcesappoutcli.js" -r -g "%f:%l"", //有cli,必須內(nèi)部啟動(dòng)"%PDF%"],"latex-workshop.latex.tools": [{// 編譯工具和命令"name": "pdflatex","command": "pdflatex","args": ["-synctex=1","-interaction=nonstopmode","-file-line-error","%DOCFILE%"]},{"name": "xelatex","command": "xelatex","args": ["-synctex=1","-interaction=nonstopmode","-file-line-error","-pdf","%DOCFILE%"]},{"name": "bibtex","command": "bibtex","args": ["%DOCFILE%"]}],"latex-workshop.latex.recipes": [{//編譯鏈"name": "xelatex","tools": ["xelatex"]},{"name": "pdflatex","tools": ["pdflatex"]},{"name": "xe->bib->xe->xe","tools": ["xelatex","bibtex","xelatex","xelatex"]}]總結(jié)
以上是生活随笔為你收集整理的vscode只有utf8_基于VSCode搭建LaTeX写作环境的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乌鲁木齐公园悦府林香苑是哪个开发商?
- 下一篇: kali如何安装netcat_Netca