ICode9

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

Windows下通过VSCode编写latex

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

标签: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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

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

ICode9版权所有