论文写作的又一利器:VSCode + Latex Workshop + MikTex + Git

Posted 当年老王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文写作的又一利器:VSCode + Latex Workshop + MikTex + Git相关的知识,希望对你有一定的参考价值。

论文写作的又一利器:VSCode + Latex Workshop + MikTex +Git

摘要

本文介绍了Windows平台下面,Miktex+VSCode+Latex Workshop+Git配置用于撰写学术论文的方法。

对正反向搜索的配置也进行了介绍。

1.引言

学术论文写作,Latex是不二的选择。它是免费的并且拥有丰富的package资源包,能很好的满足学术写作的图表、格式、公式等各种要求, 而且是大多数学术刊物和学术团体指定的论文投稿标准格式。Latex的实现软件有Texlive, Miktex, CTex等。好用的Latex编辑器有很多,甚至传统的编辑器例如Vim, Emacs, WinEdt, TeXworks, TexStudio, Sublime, Atom, LyX等。

Visual Studio Code, 简称VSCode, 是微软出品的一款免费的文本和源代码编辑器。其支持丰富的各种扩展,来延伸其功能。配合其扩展 Latex Workshop,可以非常方便的编辑Latex文件和预览PDF论文。

Git是最常使用的分布式源代码管理工具,用它来管理Latex源文件可以起到追溯历史,修改订正,以及版本备份的作用。

下面以Miktex + VSCode + Latex Workshop + Git为例说明安装和配置过程。

2.软件安装和配置

依次安装如下软件并进行配置。

  1. Miktex安装

官网下载MikTex: Home 的安装包,然后点击安装。安装完成有运行"Miktex console"进行配置(选择"以管理员身份运行")。

点击"Packages"标签,然后依次安装ctex和CJK包(cjk/cjk-font/xecjk)等(或者待编译时再按需安装也可), 以便支持中文。

  1. Git安装

官网下载 Git windows 安装包,Git - Downloading Package , 然后点击安装。

开始菜单运行"Git Bash", 然后运行命令"CD" 切换到Home目录,在运行"ssh-keygen"生成ssh秘钥。

将用户目录(通常为"c:\\用户\\<你的用户名>\\.ssh\\id_rsa.pub")的公钥文件上传到你的github服务器上。后续的代码提交就可以不需要输入任何密码了。

  1. VSCode安装

官网下载VSCode安装包然后安装。Visual Studio Code - Code Editing. Redefined

然后运行"vscode", 安装其扩展Latex Workshop.

对于Miktex, 需要对Latex Workshop配置其编译方案(recipe)。这里以latex workshop 5.5为例配置,如下:

//下面配置了3个编译方案:texify (默认), xelatex 和 "xe->bib->xe->xe"

//(打开latex源文件后,在编译时单击VSCode界面左下角的小勾,单击“Build LaTeX project, 就可以选择这几个编译方案)

// Latex workshop 

  "latex-workshop.latex.recipes": [
    
      "name": "texify",  //放在最前面为默认编译方案, 适用于MikTex
      "tools": [
        "texify"
      ]
    ,
	
        "name": "xelatex",
        "tools": [
            "xelatex"
        ]
    ,
    
        "name": "xe->bib->xe->xe",
        "tools": [
            "xelatex",
            "bibtex",
            "xelatex",
            "xelatex"
        ]
    
  ],
  
  "latex-workshop.latex.tools": [
    
      "name": "texify",
      "command": "texify",
      "args": [
        "--synctex",
        "--pdf",
        "--tex-option=\\"-interaction=nonstopmode\\"",
        "--tex-option=\\"-file-line-error\\"",
        "%DOC%.tex"
      ]
    ,
	
        // 编译工具和命令
        "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%"
        ]
    
  ], 

 

如果需要在编译出PDF文件后,删除临时文件,则加上如下配置:

"latex-workshop.latex.clean.enabled": true,

3.验证

输入如下内容latex源文件并保存,然后右键选择“Build Latex Project”编译, 点击预览即可看到内容:

%!TEX program = xelatex
% 使用 ctexart 文类,UTF-8 编码
\\documentclass[UTF8]ctexart
\\title文章标题
\\authorSiwind
\\date\\today
\\begindocument
\\maketitle
This is the context of the article.
这就是文章的所有内容。
\\enddocument

4.FAQ

1) 指定pdflatex或者xelatex编译

A:  在latex源文件的第一行加入如下指令即可:

使用pdflatex编译

%!TEX program = pdflatex

使用xelatex编译:

%!TEX program = xelatex

2) 要使用SumatraPDF预览编译好的PDF文件

A: 配置文件中加入如下内容:

"latex-workshop.view.pdf.viewer": "external",

"latex-workshop.view.pdf.external.command": 
    "command": "E:/Programs/SumatraPDF/SumatraPDF.exe",  //SumatraPDF.exe的实际路径
    "args": [
        "%PDF%"
    ]
,

或者下述配置:
 "latex-workshop.view.pdf.external.command": 
        "command": "D:/DeveTools/SumatraPDF.exe", //SumatraPDF.exe的实际路径
        "args": [
            "-inverse-search",
            "\\"C:/Program Files/Microsoft VS Code/code.exe\\" -g \\"%f:%l\\"", //修改为你的具体vscode.exe的路径
            "%PDF%"
        ]
 ,

3) 配置Syntex的正向搜索(Latex->PDF):右键文件空白处,单击“SyncTeX from cursor”即可正向搜索

A: 

"latex-workshop.view.pdf.external.synctex": 
    "command": "E:/Programs/SumatraPDF/SumatraPDF.exe",  //SumatraPDF.exe的实际路径
    "args": [
        "-forward-search",
        "%TEX%",
        "%LINE%",
        "%PDF%"
    ]
,

4) 配置反向搜索PDF->Latex源代码

A: 打开SumatraPDF,进入设置->选项 对话框,在“设置反向搜索命令行”处填入如下内容:

双击PDF中的任意一处即可跳转到VSCode中所对应的内容的源代码处。

(注意: 由于从vscode调用SumatraPDF时是作为子进程的,为避免反向搜索失败,最好是先独立的运行SumatraPDF.exe后再进行正反向搜索。)

"C:\\Program Files\\Microsoft VS Code\\Code.exe"  -g "%f:%l"

5) Mixtex编译时,报"font..”字体类型的错误

A:  这种情况一般都是因为新安装了package, 然后缺乏相应字体

首先看看是不是缺少package,缺少则到Mixtex console安装相应的包。然后更新字体映射map.

方法为: 以管理员身份打开命令行窗口 cmd.exe, 然后运行如下命令(假设MixTex安装路径为:C:\\Program Files\\MiKTeX 2.9):

C:\\Program Files\\MiKTeX 2.9\\miktex\\bin\\x64>updmap.exe

或者:(加参数 --force, 时间长)

C:\\Program Files\\MiKTeX 2.9\\miktex\\bin\\x64>updmap.exe --force

6) latex源文件中如何使用块注释?bib源文件中如何使用行注释?

A:

latex源文件中的行注释可以使用 %。块注释可以使用预处理命令 \\if 0 ... \\fi 或者 \\iffalse ... \\fi 来进行(其中的\\iffalse也可以换成\\iftrue表示逻辑真)。如下所示:

\\if 0
This is a comment!
And do not show in PDF file.

\\fi
\\iffalse
I don't want all these happen!

\\fi

对于bib文件,按照规范,任何不在可识别的entry中的项都视为注释。 通常行注释可以使用 双斜杠 //.  块注释可以使用 @COMMENT.

// Chapter introduction

@inproceedingswang2010research,
  title=Research on Architecture and Definition of Content Security,
  author=Wang, Yinqing and Yuan, Kaiguo and Xu, Tianling,
  booktitle=2010 International Conference on Communications and Intelligence Information Security (ICCIIS),
  pages=64--68,
  year=2010,
  organization=IEEE

bib文件的@COMMENT块注释:

@COMMENT
	this is a comment.
	I don't want all these happen!

7) 新版的latex workshop,在latex源文件上点右键,右键菜单未出现 "build latex project" 选项。

A:

新版本的latex workshop,  把右键菜单中latex相关编译/同步功能默认取消,而把这些功能放入了侧边栏的latex命令面板。

点击侧边栏的相应项即可实现编译/预览PDF/等功能。如果要开启latex相关的右键菜单,再配置文件中添加如下内容即可:

"latex-workshop.showContextMenu":true,

侧边栏命令面板如下:

以上是关于论文写作的又一利器:VSCode + Latex Workshop + MikTex + Git的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式,查找筛选数据的又一利器!

新指令 v-memo,提高性能的又一利器

LaTeX写论文使用TeXLive2022和VSCode

VScode 如何配置编译论文的latex模板的流程

VScode 如何配置编译论文的latex模板的流程

YOLO系列的又一集大成者:YOLOX!