论文写作的又一利器: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.软件安装和配置
依次安装如下软件并进行配置。
-
Miktex安装
官网下载MikTex: Home 的安装包,然后点击安装。安装完成有运行"Miktex console"进行配置(选择"以管理员身份运行")。
点击"Packages"标签,然后依次安装ctex和CJK包(cjk/cjk-font/xecjk)等(或者待编译时再按需安装也可), 以便支持中文。
-
Git安装
官网下载 Git windows 安装包,Git - Downloading Package , 然后点击安装。
开始菜单运行"Git Bash", 然后运行命令"CD" 切换到Home目录,在运行"ssh-keygen"生成ssh秘钥。
将用户目录(通常为"c:\\用户\\<你的用户名>\\.ssh\\id_rsa.pub")的公钥文件上传到你的github服务器上。后续的代码提交就可以不需要输入任何密码了。
-
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的主要内容,如果未能解决你的问题,请参考以下文章