论文写作的又一利器: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: https://miktex.org/ 的安装包,然后点击安装。安装完成有运行"Miktex console"进行配置(选择"以管理员身份运行")。

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

论文写作的又一利器:VSCode + Latex Workshop + MikTex + Git_第1张图片

 

论文写作的又一利器:VSCode + Latex Workshop + MikTex + Git_第2张图片

论文写作的又一利器:VSCode + Latex Workshop + MikTex + Git_第3张图片

  1. Git安装

官网下载 Git windows 安装包,https://git-scm.com/download/win , 然后点击安装。

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

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

论文写作的又一利器:VSCode + Latex Workshop + MikTex + Git_第4张图片

 

  1. VSCode安装

官网下载VSCode安装包然后安装。https://code.visualstudio.com/

然后运行"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{文章标题}
\author{Siwind}
\date{\today}
\begin{document}
\maketitle
This is the context of the article.
这就是文章的所有内容。
\end{document}

论文写作的又一利器:VSCode + Latex Workshop + MikTex + Git_第5张图片

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"

论文写作的又一利器:VSCode + Latex Workshop + MikTex + Git_第6张图片

 

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

论文写作的又一利器:VSCode + Latex Workshop + MikTex + Git_第7张图片

 

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

@inproceedings{wang2010research,
  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_第8张图片

侧边栏命令面板如下:

论文写作的又一利器:VSCode + Latex Workshop + MikTex + Git_第9张图片

 

你可能感兴趣的:(IT技术,科学研究)