LaTEX 与 vs code 的完美搭配

写科研论文的,总是离不开使用LaTEX进行论文写作和排版。这个过程其实挺漫长和痛苦的(对我而言)。以往使用Latex套件进行编辑、排版和编译,往往使用的是CTEX套件。里面附带的是WinEdt编辑界面,使用起来体验非常差。现在主要的问题是CTEX已经好久不更新了,WinEdt往往还要注册才能用的安心。经过漫长时间的选择和切换,现在我的编辑系统已经切换为TexLive+vscode+LatexWorkshop 套装,在功能上基本和以往的系统一致,而且用户体验要比传统系统提升很多,先放个界面截图给大家看看:

LaTEX 与 vs code 的完美搭配_第1张图片

我参照了知乎上的帖子:使用VSCode编写LaTeX的 配置过程,基本配置步骤没有改变。首先是安装Texlive套件,这个系统比较大,安装过程可以选择linux风格的命令行界面,或者使用图形界面,都是可以的,具体步骤细节不再这里赘述了

然后是vscode的安装,真心为这两年发展迅速的vscode感到骄傲,可以说,他是一款非常优秀的编辑工具,如果不是考虑比较大的系统话工程的话,真心可以Hold了全平台,全语言。具体安装也没什么好说的,傻瓜式的过程。

LaTEX Workshop的安装,这个插件使得vscode能够支持TEx文档的编辑、编译和排版。由于版本迭代的原因,截止2020.02.10,当前的版本是8.7.1。在Latex设置方面,已经和知乎上帖子地址所列配置信息略有差别了,尤其是Tex正向搜索(Synctex from cursor)的功能,我在以往的配置中一直也没有生效。这次我认真的阅读了插件开发者的官网网址。参照上面所列的参数,基本上实现了vscode插件的常用功能,并给出了一些使用过程中方便调试、运行的小贴士。

1.有关编译工具的设置(没有改变),在vscode中选择“文件”->"首选项"->"设置“,在界面中找到”在settings.json中编辑",就是下图所示的界面:

打开settings.json文件后,在其中输入如下脚本代码段,指定TEX编译时使用的环境(无变化)。

    "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%"
            ]
          }
        ],

2.设置编译管道(recipes),也就是使用什么顺序编译TEX文件。一般我常用的是一次xelatex,一次bibtex,再两次xelatex。所以管道可以这么设置(无变化):

    "latex-workshop.latex.recipes": [
          {
            "name": "xelatex",
            "tools": [
            "xelatex"
                        ]
                  },
                  
          {
            "name": "xelatex -> bibtex -> xelatex*2",
            "tools": [
            "xelatex",
            "bibtex",
            "xelatex",
            "xelatex"
                        ]
                  },

          {
            "name": "latexmk",
            "tools": [
            "latexmk"
                        ]
          }
        ],

3.指定重新编译过程中,需要清理的临时文件类型(无变化):

    "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"
          ],

4.指定编译后预览使用的PDF软件。这里面推荐使用SumatrPDF,可以非常便捷地进行反向搜索,也就是鼠标点击PDF正文时,相应光标定位到对应的TEX代码段中,方便定位内容,在写大文章时,这个功能真心好用。

// 指定使用外部PDF阅读器打开    
"latex-workshop.view.pdf.viewer": "external",  
// 指定外部阅读器的类型,文件路径
    "latex-workshop.view.pdf.external.viewr.command": {
        "command": "%your SumatraPDF PATH%/SumatraPDF.exe",
        "args": [
            "%PDF%"
        ],       
    },

其中要注意的是”%your SumatraPDF PATH%“意思是你安装的SumatraPDF文件路径,比如"D:/Program Files/SumatraPDF"。

5. 配置正向搜索。这个和原文中略有差别。我是参照LaTEX Workshop官网中的设置,具体细节可以参照官方文档。

//Forward Searching
    "latex-workshop.view.pdf.external.synctex.command": "%Your SumatraPDF PATH%/SumatraPDF.exe",
    "latex-workshop.view.pdf.external.synctex.args": [
          "-forward-search",
          "%TEX%",
          "%LINE%",
          "-reuse-instance",
          "-inverse-search",
          "code \"%Your vscode PATH%\\resources\\app\\out\\cli.js\" -r -g \"%f:%l\"",
          "%PDF%"
    ],

注意%Your SumatraPDF PATH%依旧代表你自己系统内的SumatraPDF文件安装路径,而""%Your vscode PATH%"一般指的是类似"C:\\Program Files\\Microsoft VS Code"格式的路径,注意是"\\",代表绝对路径。使用时,在TEX文档中选择相应的代码段落,然后点击左侧工具栏上的TEX图标,在TEX Workshop列表里选择”Synctex from cursor“,可以在SumatraPDF定位到PDF中相应的段落位置。相应的效果如下图:

LaTEX 与 vs code 的完美搭配_第2张图片

6. 在SumaPDF中设置反向选择:在选项里面,下方的输入框中输入:

code "%Your VSCode PATH%\resources\app\out\cli.js" -r -g "%f:%l"

LaTEX 与 vs code 的完美搭配_第3张图片

反向选择的效果:

LaTEX 与 vs code 的完美搭配_第4张图片

 7.有关LaTEXT Workshop的一些常用快捷键:

7.1 编译文件的话,可以使用ctrl+alt+b

7.2 正向搜索时,快捷键 ctrl+alt+j

最后,祝大家vscode使用愉快,多发论文。


参考文档:

https://github.com/James-Yu/LaTeX-Workshop/wiki

https://zhuanlan.zhihu.com/p/38178015

 

你可能感兴趣的:(Latex,vscode,latex,workshop,反向选择)