在Visual Studio 2017中优雅地编写LaTeX文档之一:创建一个能够编译LaTeX的VS项目

LaTeX是论文撰写时常用的排版系统,配套的开发环境的选择却不丰富。这里介绍了如何在宇宙第一IDE Visual Studio 2017中创建一个能够自动使用pdfLaTeX编译TeX文档生成pdf文件的项目。

非常遗憾,各位。这个项目已经随着我短暂学术生涯的告一段落而太监了。


LaTeX是论文撰写时常用的排版系统,但是其配套的开发环境的选择却不丰富。我于近期开始尝试在在宇宙第一IDE Visual Studio中编写LaTeX文档,这样做的优点有:

要实现这个目标,这次要解决的问题是在VS中自动使用pdfLaTeX编译tex文件以生成pdf文档


一、创建一个Visual C++空项目。

同时可以可选地新建一个GIT存储库(右下角选项)。项目名称建议起TEX根文件地名称,这样方便我们之后的处理。

二、删除解决方案自动生成的筛选器“头文件”“源文件”“资源文件”,提升视觉体验。

三、右键项目->属性。

在“所有配置”及“所有平台”下,修改项目配置类型为生成文件。应用。

四、接下来在这个页面可以可选地配置输出目录和中间目录。

例如我是这样配置的:

五、切换到“NMake”。

生成命令行填入pdfLaTeX的生成四连:

pdflatex -synctex=1 -interaction=nonstopmode -file-line-error $(ProjectName)
bibtex $(ProjectName)
pdflatex -synctex=1 -interaction=nonstopmode -file-line-error $(ProjectName)
pdflatex -synctex=1 -interaction=nonstopmode -file-line-error $(ProjectName)

“清除”命令行清理生成的临时文件:

del /F /Q "$(OutDir)*.pdf"
del /F /Q "$(OutDir)*.aux"
del /F /Q "$(OutDir)*.bbl"
del /F /Q "$(OutDir)*.blg"
del /F /Q "$(OutDir)*.brf"
del /F /Q "$(OutDir)*.lbl"
del /F /Q "$(OutDir)*.log"
del /F /Q "$(OutDir)*.synctex.gz"
del /F /Q "$(OutDir)*.fdb_latexmk"
del /F /Q "$(OutDir)*.fls"

输出里填入

$(ProjectName).pdf

如图所示

这样,在生成该项目时,VS将自动编译与项目名称同名的TEX文件和BIB文件,然后生成与项目名称同名的PDF文件

六、切换到“调试”。

命令中填写:explorer.exe。

命令参数中填写:"$(TargetPath)"

如图所示

这样,在启动项目时将启动资源管理器,调用pdf关联的默认程序打开生成的pdf文档。

七、将TEX文件和BIB文件复制到项目目录下后,再添加到解决方案中。

同时,可以根据文件本身的逻辑关系建立筛选器,使得整体结构清晰。

此外,需要注意的是,根据我们前面的配置,要保持TEX的根文件和BIB文件与项目同名

如图所示。

八、编辑.gitignore。

下面是我的配置,除了包含我们再清理时要清除的文件外,还包含了vs的临时文件。

.vs/
/[Tt]emp
*.tlog

*.pdf
*.aux
*.bbl
*.blg
*.brf
*.lbl
*.log
*.synctex.gz
*.fdb_latexmk
*.fls

至此项目的基本设置就完成了,在Visual Studio中,点击F5就可以自动编译TEX文档并查看结果。

然而,目前这个简单的方案还伴随着下面的缺点:

这些缺点只能通过Visual Studio插件进一步实现;作为替代方案,我建议可以在暂时在VS中启动其它编辑器来进行编辑TEX文件和BIB文件。

自定义VS插件的具体细节我仍在探索之中,目前实现的效果暂时如下:

待功能基本稳定时,我会将插件开源后及时更新到这里。

称谓(*)
邮箱
留言(*)