來打造一個舒適的Latex環(huán)境吧~

代碼黑科技的分享區(qū)
?作為一只大學(xué)僧,平常難免要寫寫作業(yè)或者paper啥的,難免要和公式打交道。對于一些簡單的小作業(yè),用Markdown也能應(yīng)付些許公式的編寫。比如之前我寫過一篇文章:
里面介紹了一些方法,對于日常寫寫少量公式還是夠用的。至于word自帶的公式編輯器,雖說現(xiàn)在能支持latex方式進行輸入了:

但依然不好用,也只是勉強到了能用的地步。而對于日常需要搞搞小科研的小編來說,配置一個好用的latex環(huán)境就很有必要了,我覺得一個好的latex環(huán)境應(yīng)該具有以下特點:
賞心悅目的界面能提高工作效率 代碼補全,單詞補全,latex常用符號公式能方便獲取 能夠使用版本控制工具(如Git)進行管理
一開始對latex還是一無所知的,只在去年的時候使用ctex寫過一點點(后來還是重新用word進行排版了。。),問了學(xué)長們,發(fā)現(xiàn)他們都在用tex studio+tex live這種方式寫的文檔。但是小編看了下,tex studio好像沒有版本控制功能,雖然外加一個Git也能實現(xiàn),但太麻煩了。。而且寫東西好像總有煩人的波浪線~

剛好看到vscode能配置latex環(huán)境,而vscode又是咱的老熟客了,干脆用他打造一個舒服的latex環(huán)境吧~

一、準備工作
(1) 安裝vscode
這個就不用我教啦!在下面鏈接下載你電腦對應(yīng)的版本安裝就行。
https://code.visualstudio.com/Download
(2) 安裝tex live
對于Windows用戶,這里提供一個騰訊的鏡像源:
https://mirrors.cloud.tencent.com/CTAN/systems/texlive/Images/
選擇合適的版本下載即可,注意是.iso后綴的約莫4GB的一個鏡像文件。下載完打開iso文件,以管理員身份運行install-tl-windows.bat文件,然后一路向西就可以啦(如果你C盤空間足夠大的話),注意盡量安裝在英文路徑中哦。
如果是Mac用戶,這里提供一個清華的鏡像源:
https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/mac/mactex/
同樣選擇合適的版本下載安裝即可,是pkg文件,打開即可安裝。
安裝完在命令行下輸入latex --version,能看到版本信息就成功了。如果提示找不到命令,可能你需要找到texlive的安裝目錄,將其添加到環(huán)境變量中去。

(3)安裝vscode插件LaTex Workshop
打開vscode的擴展庫,搜索latex,找到LaTex Workshop并進行安裝

二、配置LaTex Workshop
安裝好后,我們還得配置一下編譯的選項,因為tex文件的格式有很多很多種,編譯的系統(tǒng)也有好幾種,我們得配置一下,在vscode中按住ctrl + shift + P,打開settings.json:

然后把下面的代碼附加在你自定義的設(shè)置后面,注意加上逗號哦:

??"latex-workshop.latex.tools":?[
????{
??????"name":?"latexmk",
??????"command":?"latexmk",
??????"args":?[
????????"-synctex=1",
????????"-interaction=nonstopmode",
????????"-file-line-error",
????????"-pdf",
????????"%DOC%"
??????]
????},
????{
??????"name":?"xelatex",
??????"command":?"xelatex",
??????"args":?[
????????"-synctex=1",
????????"-interaction=nonstopmode",
????????"-file-line-error",
????????"%DOC%"
??????]
????},
????{
??????"name":?"pdflatex",
??????"command":?"pdflatex",
??????"args":?[
????????"-synctex=1",
????????"-interaction=nonstopmode",
????????"-file-line-error",
????????"%DOC%"
??????]
????},
????{
??????"name":?"bibtex",
??????"command":?"bibtex",
??????"args":?[
????????"%DOCFILE%"
??????]
????}
??],
??"latex-workshop.latex.recipes":?[
????{
??????"name":?"latexmk",
??????"tools":?[
????????"latexmk"
??????]
????},
????{
??????"name":?"xelatex",
??????"tools":?[
????????"xelatex"
??????]
????},
????{
??????"name":?"pdflatex?->?bibtex",
??????"tools":?[
????????"pdflatex",
????????"bibtex"
??????]
????},
????{
??????"name":?"pdflatex?->?bibtex?->?pdflatex*2",
??????"tools":?[
????????"pdflatex",
????????"bibtex",
????????"pdflatex",
????????"pdflatex"
??????]
????},
????{
??????"name":?"xelatex?->?bibtex?->?xelatex*2",
??????"tools":?[
????????"xelatex",
????????"bibtex",
????????"xelatex",
????????"xelatex"
??????]
????}
??],
??"latex-workshop.view.pdf.viewer":?"tab",
??"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.bibtex-format.tab":?"4?spaces",
這里呢解釋幾個texlive的命令:
latexmk - LaTeX 要生成最終的 PDF 文檔,如果含有交叉引用、BibTeX、術(shù)語表等等,通常需要多次編譯才行。而使用 Latexmk 則只需運行一次,它會自動幫你做好其它所有事情。默認情況下使用的是pdflatex命令進行編譯。關(guān)于latexmk的配置,詳情見參考鏈接Latex 編譯和編寫方案配置 — latexmk + latexworkshop。
pdflatex - 使用pdfTeX程序來編譯LaTeX格式的tex文件
xelatex - 使用XeTeX程序來編譯LaTeX格式的tex文件
而pdfTeX程序和XeTeX程序有什么區(qū)別呢?嗯……就不搬網(wǎng)上那些流傳的解釋了(因為點贊很高的那些解釋,無法經(jīng)過驗證)。簡單來說,pdfTeX不支持Unicode,但是支持的宏包更多,XeTeX支持Unicode,但是支持的宏包更少。pdfTeX程序能編譯的,一般XeTeX程序也能編譯(宏包支持的情況下)。
如果你寫英文的話,推薦用pdfTeX(因為現(xiàn)在很多外文期刊用的都是pdfTeX程序編譯)。寫中文的話,推薦用XeTeX,就這么簡單咯。
三、測試
環(huán)境配好了,我們抓個模板來看看吧。這里放一個INFORMS journals的模板,有需要的同學(xué)可以在公眾號后臺回復(fù)【tstp】即可下載。
用vscode打開該文件夾以后,點開myTemplate.tex文件,然后點擊vscode右邊的TEX字樣的按鈕:

點擊Recipe: latexmk, 表示使用latexmk進行編譯,編譯成功后點擊View Latex PDF即可在右邊預(yù)覽生成的PDF文件哦。

默認情況下是每保存一下就自動編譯刷新一次,如果你不喜歡這個選項就在settings.json文件中,進行如下配置:

never表示不自動編譯,onFileChange表示文件改變就自動編譯,onSave表示保存時自動編譯。
最后,還有一個非常重要的小技巧要告訴大家:VSCode 自帶pdf閱讀器的反向搜索:按住Ctrl點擊鼠標即可。就是說,按住ctrl,鼠標點擊右邊的某個地方,就會跳到左邊的源文件相應(yīng)位置哦。是不是非常方便呢!

四、版本控制
最后的最后,當然要講講如何配個vscode的版本控制功能進行版本管理。首先你得安裝一個Git。先在云端創(chuàng)建一個倉庫(注意倉庫公有還是私有哦),并clone到本地:


克隆到本地以后,將剛剛的模板文件夾放到克隆出來的文件夾中:

然后用vscode打開克隆下來的文件夾,就可以快樂的commit和push啦!



看完的小伙伴,幫我點個再看吧~
參考
xelatex 以及 latexmk 命令行編譯 Latex 編譯和編寫方案配置 — latexmk + latexworkshop VS Code配置LaTeX,正向搜索,反向搜索 PDFlatex與XeLaTex區(qū)別及注意事項 VSCode中使用LaTex的配置
推薦閱讀:
干貨 | 想學(xué)習(xí)優(yōu)化算法,不知從何學(xué)起?
干貨 | 運籌學(xué)從何學(xué)起?如何快速入門運籌學(xué)算法?
干貨 | 學(xué)習(xí)算法,你需要掌握這些編程基礎(chǔ)(包含JAVA和C++)
干貨 | 算法學(xué)習(xí)必備訣竅:算法可視化解密

