ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Windows下通过VSCode编写latex

2021-10-31 14:05:40  阅读:81  来源: 互联网

标签:latex name 编译 Windows latexmk VSCode workshop xelatex


Windows下通过VSCode编写latex

为什么需要latex

你都有这个需求了,那肯定就是因为latex很牛撒。在我看来,它牛在:

  1. 自动排版格式
  2. 在投稿论文的时候,可以直接借用相关期刊提供的模板,填充信息即可。

如何安装配置latex

这里讲的配置,主要针对的是windows平台下的latex配置。学过编程的可以这样理解。我们需要对tex语言进行编译相关的工作。比如g++,gcc。而我们写c,c++的工具或者说编程环境会选择用vscode,clion。那么对于latex,我们就主要需要安装两部分东西。texlive(类似于windows下的mingw)以及texstudio(clion等)。
怎么安装,我依然要贴我觉得很nice的一个教程
【texlive 和 texstudio 】及【VSCode 编写 LaTeX】安装与设置 - YuanXin的文章 - 知乎

这时候,其实就可以用texstudio直接写latex了。很长一段时间我都是这么做的。现在想用vscode编写latex。原因有几点:

  1. 我在texstudio上写的时候没办法提示补全
  2. 操作没有多么渐变(如果用vscode,还可以用vim编辑模式)

如何在vscode中安装latex必要的插件

这也有很多比较完善的教程。

  1. 使用VSCode编写LaTeX - Marvey的文章 - 知乎

这里,我只想着重分享一下教程没有提到的注意事项。

快捷键设置

首先看下我的完整的配置:

{
    // "latex-workshop.latex.autoBuild.run": "never", // 是否保存后自动编译
    "latex-workshop.message.error.show": false,
    "latex-workshop.message.warning.show": false,
    "latex-workshop.view.pdf.viewer": "external", 
    "latex-workshop.view.pdf.external.viewer.command": "E:/Program Files/SumatraPDF/SumatraPDF.exe", // 注意修改路径
    "latex-workshop.view.pdf.external.viewer.args": [
        "%PDF%"
    ],
    "latex-workshop.view.pdf.external.synctex.command": "E:/Program Files/SumatraPDF/SumatraPDF.exe", // 注意修改路径
    "latex-workshop.view.pdf.external.synctex.args": [
        "-forward-search",
        "%TEX%",
        "%LINE%",
        "-reuse-instance",
        "-inverse-search",
        //"\"E:\\Program Files (x86)\\Microsoft VS Code\\Code.exe\" -r -g \"%f:%l\"", //无cli版本,需外界启动
        "\"E:\\Program Files (x86)\\Microsoft VS Code\\Code.exe\" \"E:\\Program Files (x86)\\Microsoft VS Code\\resources\\app\\out\\cli.js\" -r -g \"%f:%l\"", //有cli,必须内部启动
        "%PDF%"
    ],
    // 编译工具配置(命令及参数):pdflatex还是xelatex还是latexmk
        "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%"
            ]
        },
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "%DOCFILE%",
            ]
        },
    ],
    // 根据配置好的工具tools,进行顺序调用执行。
    // 一般情况下,建议将"latexmk"放在第一个,就是默认编译方式
    "latex-workshop.latex.recipes": [
    {
            "name": "xe->bib->xe->xe",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        },
        { // latexmk编译方式
            "name": "latexmk",
            "tools": [
                "latexmk"
            ]  
        },
        { // xelatex编译方式
            "name": "xelatex",
            "tools": [
                "xelatex",
            ]
        },
        { // pdflatex编译方式
            "name": "pdflatex",
            "tools": [
                "pdflatex"
            ]
        },
        
    ],
}

在完成以上的设置之后,我们的tex插件就会呈现出下图中的编译方案。
在这里插入图片描述
与我们的recipes的顺序相对应。并且,默认为第一个xe->bib->xe->xe。因此,可以根据自己的情况调整顺序。一般情况下,默认用latexmk,可以避免很多不必要的麻烦。只是编译时间会比较久。

正反方向搜索

这个也是很牛皮的东西。没有什么好说的。看教程即可。

通过vim模式快速编写latex文档

留个尾巴,下次更新如何实现这一功能。
以及如何在vim通过ESC退出到normal模式下,自动切换为英文。使得我们可以方便的操作,而不用进行一次额外的输入法切换工作。而在insert模式下,默认为中文输入。方便我们编写中文文档。

标签:latex,name,编译,Windows,latexmk,VSCode,workshop,xelatex
来源: https://blog.csdn.net/weixin_42686879/article/details/121029361

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有