原本使用Overleaf写毕业论文,最近发现内容过多时会出错,项目超过了我们免费计划的编译超时限制,因此考虑使用vscode配置latex环境,为了显示方便,使用SumatraPDF查看器。
TeX Live 下载与安装
选用的 Tex 系统是 TeX Live ,如果您想了解 TeX Live 和 MiKTeX 的区别,可以查看此篇文章https://www.cnblogs.com/liuliang1999/p/12656706.html
接下来是 TeX Live 的下载与安装说明:
① 通过网址 :http://tug.org/texlive/acquire-iso.html 进入 ISO 下载页面,点击图示红框圈画位置进入随机的镜像网站。
使用镜像网站进行下载
②双击下载好的iso文件,双击.bat文件进行安装
出现下图后,需要进行路径的更改;由于 TeX Live 自带的 TeXworks 不怎么好用,并且此文主要将 vscode 作为 LaTeX 的编辑器,故而取消 安装 TeXworks 前端的选项,再点击安装。
③在cmd中验证是否安装成功,下图表示安装成功。
Vscode配置
① 安装插件
输入"latex workshop",选择LaTeX Workshop插件install;
② 打开settings.json配置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",
}
设置自动换行
为了后续vscode编辑顺手,一定要设置"editor.wordWrap": “on”,开启VSCode 的自动换行,不然看起来太奇怪了
tex文件编译
点击选中 tex 文件,进行文件内容查看和编译
注意:如果文件中涉及参考文献的引用(.bib的编译),故而选择xelatex -> bibtex -> xelatex*2编译链。 否则编译后pdf出现问号
如下图所示,使用tex中的xelatex -> bibtex -> xelatex*2(可能需要编译多次才能出现正常的引用效果)
SumatraPDF 安装设置(可选)
有的时候,由于想要看到 pdf 文件的完整展现效果,使用内置查看器已无法满足需求,这时可以使用外部查看器进行查看。
类似下图效果
外部查看器的优势是能够看到 pdf 文件在查看器中的目录,可以实时进行跳转;且根据笔者使用来看,外部查看器展示出来的 pdf 默认会放大一些,使得字体变大,要更加让人舒服一些。
选择 SumatraPDF 作为外部查看器,该软件的优点在于在具有 pdf 阅读功能的同时很轻量,安装包不到 10MB 大小,且支持双向同步功能。通过调整其与 vscode 的窗口位置,能够在拥有这些优势的同时,达到与内置 pdf 查看具有相同的效果。
官网下载:SumatraPDF
安装时注意留意安装的路径
打开settings.json配置latex
按照图示打开json文件,插入以下代码块:
//使用 SumatraPDF 预览编译好的PDF文件
// 设置VScode内部查看生成的pdf文件
"latex-workshop.view.pdf.viewer": "external",
// PDF查看器用于在\ref上的[View on PDF]链接
"latex-workshop.view.pdf.ref.viewer":"auto",
// 使用外部查看器时要执行的命令。此功能不受官方支持。
"latex-workshop.view.pdf.external.viewer.command": "C:/SumatraPDF/SumatraPDF.exe", // 注意修改路径
// 使用外部查看器时,latex-workshop.view.pdf.external.view .command的参数。此功能不受官方支持。%PDF%是用于生成PDF文件的绝对路径的占位符。
"latex-workshop.view.pdf.external.viewer.args": [
"%PDF%"
],
// 将synctex转发到外部查看器时要执行的命令。此功能不受官方支持。
"latex-workshop.view.pdf.external.synctex.command": "C:/SumatraPDF/SumatraPDF.exe", // 注意修改路径
// latex-workshop.view.pdf.external.synctex的参数。当同步到外部查看器时。%LINE%是行号,%PDF%是生成PDF文件的绝对路径的占位符,%TEX%是触发
"latex-workshop.view.pdf.external.synctex.args": [
"-forward-search",
"%TEX%",
"%LINE%",
"-reuse-instance",
"-inverse-search",
"code \"C:/Microsoft VS Code/resources/app/out/cli.js\" -r -g \"%f:%l\"", // 注意修改路径
"%PDF%"
]
顺利的话即可进行自动正向反向跳转。
如果无法反向跳转(从SumatraPDF无法顺利跳转到vscode对应文件位置时) 打开SumatraPDF高级选项。
配置设置–ms-enable-electron-run-as-node,如以下代码所示:
//注意修改路径
InverseSearchCmdLine = "D:\Code\VS code\Microsoft VS Code\Code.exe" "D:\Code\VS code\Microsoft VS Code\resources\app\out\cli.js" --ms-enable-electron-run-as-node -r -g "%f:%l"
EnableTeXEnhancements = true