latex论文写作(latex + vscode + git)
由于理工科期刊论文/会议/毕业论文往往有一堆又长又复杂的数学公式和排版要求,一般都使用latex而非word作为写作工具。本文记录使用vscode写latex的一些小技巧。
为什么用vscode?
目前用latex主要有几种方法如自带的texworks,网页在线版latex编辑器overleaf,本地编辑器texstudio和vscode。自带的texworks年代久远UI难看直接排除,overleaf很不错但是由于文件存储在云而非本地总有些不安心,并且由于一系列原因使用overleaf编辑latex的用户越来越多,频繁出现如2025.5.14的如何评价NeurIPS 2025投稿量超过27000?导致的overleaf崩了的情况,本地编辑器使用起来更让人放心。相较于texstudio,vscode的UI和代码块高亮更加清晰,而且可以更方便的使用git管理论文的tex代码。
综上,选择vscode编写latex更加方便 ,如果是程序员的话,还可以用来写前后端,何乐而不为 。
安装和下载
- 安装texlive
- 安装vscode
- 配置vscode的latex环境
这几步参考 Visual Studio Code (vscode)配置LaTeX 即可。
参考答主的json配置:
{
"latex-workshop.latex.autoBuild.run": "never",
"latex-workshop.showContextMenu": true,
"latex-workshop.intellisense.package.enabled": true,
"latex-workshop.message.error.show": false,
"latex-workshop.message.warning.show": false,
"latex-workshop.latex.tools": [
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "pdflatex",
"command": "pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"-outdir=%OUTDIR%",
"%DOCFILE%"
]
},
{
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
]
}
],
"latex-workshop.latex.recipes": [
{
"name": "XeLaTeX",
"tools": [
"xelatex"
]
},
{
"name": "PDFLaTeX",
"tools": [
"pdflatex"
]
},
{
"name": "BibTeX",
"tools": [
"bibtex"
]
},
{
"name": "LaTeXmk",
"tools": [
"latexmk"
]
},
{
"name": "xelatex -> bibtex -> xelatex*2",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
{
"name": "pdflatex -> bibtex -> pdflatex*2",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
},
],
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.bbl",
"*.blg",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk"
],
"latex-workshop.latex.autoClean.run": "onFailed",
"latex-workshop.latex.recipe.default": "lastUsed",
"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click"
}
其中"latex-workshop.latex.autoBuild.run": "never"指的是需要手动编译,一般对于动辄20来页的期刊论文或更长的毕业论文来说设置never即可,设置为onFileChange浪费操作系统资源,同时频繁的磁盘IO说不定还会减少硬盘的寿命。
开始使用latex
简单的latex语法不再赘述。
论文模板
对于期刊论文或者毕业论文,往往可以在模板 - 期刊、简历、演示文稿、报告等 - Overleaf, 在线LaTeX编辑器或者一些其他地方和期刊官网找到自己学校毕业论文和需要投稿的期刊(如IEEE,爱思维尔等等)的latex模板,一般包含一个???.cls文件(如elsarticle.cls)。使用类似传统的article在首行设置文章格式。
% \documentclass{article}
\documentclass{elsarticle}
% ……
参考文献的设置
参考文献有两种设置的方法,一种是bibitem,一种是BibTeX。
首先是bibitem,期刊似乎都要求用这种,在tex文件最后加入以下代码,格式如下:
\begin{thebibliography}{99}
\bibitem{ref1}Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[J]. Advances in neural information processing systems, 2017, 30.
% ……
\end{thebibliography}
然后在正文通过\cite{ref1}引用即可。
第二种是BibTeX,这种方法需要使用到.bib文件,在谷歌学术(镜像)或者文章页面可以下载复制需要引用的文章的bib格式,如下文:
@article{vaswani2017attention,
title={Attention is all you need},
author={Vaswani, Ashish and Shazeer, Noam and Parmar, Niki and Uszkoreit, Jakob and Jones, Llion and Gomez, Aidan N and Kaiser, {\L}ukasz and Polosukhin, Illia},
journal={Advances in neural information processing systems},
volume={30},
year={2017}
}
和tex文件在同一个目录下新建一个references.bib文件并将上文复制进去。
随后在tex文件末尾加入以下代码:
\bibliographystyle{elsarticle-num} % 参考文献格式,还有其他例如unsrt,plain,siam,acm等
\bibliography{references} % 这里指的是references.bib文件
通过xelatex-bibtex-xelatex*2的方式编译后,随后在正文通过\cite{vaswani2017attention}引用即可。
然而正如上文提到的,似乎很多期刊都不支持BibTeX,需要使用bibitem提交。这时按照上文通过xelatex-bibtex-xelatex*2的方式编译后,同一目录下会出现一个.bbl文件,将.bbl文件中的bibitem{vaswani2017attention} ……复制出来,按照bibitem的方式设置即可。
附:vscode中的设置和使用
编译latex
按照前文提到的配置好vscode之后,vscode中会出现tex运行界面

其中latex编译的报错信息可以在查看LaTeX编译日志中看到,可以根据报错信息修改tex文件的代码。
使用git进行版本管理
首先配置git如Windows+VScode配置与使用git,超详细教程,如果只是本地管理论文代码,那么无需连接远程仓库如github或者gitee(一般也不应该将未提交论文发布到github或gitee上)。
配置好git后会出现如下界面,论文代码更改后即可通过提交(commit)(如果代码有修改的话),提交不同版本的论文latex代码,并且vscode中可以显示每次提交所更改的不同latex代码更改部分和版本链,方便管理以及回退tex文件等。


浙公网安备 33010602011771号