elsevier latex模板_学术论文写作利器—— VS Code + LaTeX

e6c79f71029b17bcb5149a42afccf643.png
文章首发于:
https://colainlibrary.com/archives/f7fcf26c.html​colainlibrary.com
转载请注明出处。

0 前言

对于要写论文的科研人员来说,LaTeX是必不可少的神兵利器,但是LaTeX自带的TeX编辑器界面不够美观,之前用过TeX Studio,个人感觉还比较好用。但对于已经深陷Emacs快捷键不能自拔的我来说,当然还是VS Code更香!本文所用软件环境为:Windows + VS Code + LaTeX Workshop8.9.0 + TeXLive2020 + SumatraPDF。

哦,我还想说一点,对于一个新的VS Code用户来讲,如何打开VS Code的配置文件(settings.json)都是一个问题,好不容易打开了,照着网上好多的教程一顿操作,发现并不能用。(别问我怎么知道的,说多了都是泪...)Anyway,在这里,你可以学到最详细的配置方法。

1 软件安装

1.1 VS Code安装

这个直接从官网上下载就好,比较简单,就不介绍啦~

1.2 TeXLive2020安装

1.2.1 下载

如果说你还不明白CTeX、LaTeX、TeXLive之间的关系,那我悄悄地告诉你,你装TeXLive就好了。如果你还想了解它们之间的关系,知乎上有大量的入门介绍,我就不再废话了。TeXLive已经更新到了2020版,为了高速下载TeXLive,可以从清华的镜像源下载,网址是https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/。点进去之后下载下图中红色框圈出的版本即可。

1c584e950d62b94f41817355b6573f41.png

1.2.2 安装

TeXLive2020的安装,相较于我曾经用的旧版本来说,可以说是非常简单了。将安装包解压之后,双击下图中标出的install-tl-windows,一路点击下一步即可。

81cc3e59590c8a1879ca02fe465ad20d.png

1.3 LaTeX Workshop插件安装

安装好TeXLive后,在VS Code的插件商店中搜索latex,安装出现的第一个插件LaTeX Workshop,当前版本是8.9.0。这个插件的作用是将.tex格式的文件语法高亮,并通过它来沟通LaTeX,完成相应的编译、预览等工作。

1.4 SumatraPDF安装

1.4.1 介绍

SumatraPDF是一个非常迷你的PDF阅读器,安装包只有大约9M的大小。我们用它来干嘛呢?当然是预览LaTeX生产的PDF咯。为什么不用自带的呢?有两点原因:第一,因为笔记本屏幕小,用自带的,源码和PDF预览就会各占一半屏幕,无论调节哪个,都会让另一个显示不全;第二,使用这个小的PDF阅读器,可以实现从.tex文件中的光标跳转到PDF文件中,从PDF文件的位置双击鼠标回跳到源码处。

1.4.2 下载与安装

SumatraPDF可以从官网下载,安装方式也很简单,不再赘述。

2 VS Code的设置方法

2.1 已踩过的坑

LaTeX Workshop就是沟通VS Code与LaTeX的桥梁,与其说是VS Code的设置,不如说是LaTeX workshop的设置方法。网上有很多配置方法,上来就让修改settings.json这个配置文件,对于新用户来讲,他哪知道如何打开这个文件。有的说,通过Ctrl+Shift+P可以在VS Code中搜索,但是搜索到后,打开的是default settings.json文件,这个文件是只读文件。如果你从电脑中搜索到settings.json这个文件打开,将相应的配置代码复制进去,我不知道你们是什么结果,反正我的是不能使用,因为复制进去之后都会有黄线警告。那么究竟如何才能正确配置呢?赏杯咖啡就告诉你啊~

2.2 VS Code编辑.tex初尝试

安装好软件后,我们打开Elsevier的模板,打开cas-dc-template.tex文件,.tex格式的文件即Latex的源码文件。如下所示:

267b1cd64623586d356b0a58c50c943c.png

在上图中,可以看到侧边栏多了TEX图标,点开,如下:

994dd9af636add51bc3b2362bb478830.png

如果你已经跃跃欲试,那就点击Recipe:pdflatex→bibtex→pdflatex x2进行编译吧,编译完后,再点击View in VSCode tab就可以看到编译好的PDF了。

d28d10040ce14719404b35dfca1323dc.png
Tip: 在PDF页面中Ctrl+单击可以跳转到源文件相应的位置哦~

一般来讲,LaTeX装好后默认的编译方式是pdflatex,但是这种方式不能编译中文源码。对于中文源码,采用的是xelatex的编译方式。对于编译中文文档有两种方式,第一种:在中文源文件首行添加:% !TEX program = xelatex,如果有参考文献,可以再添加% !BIB options = "%DOCFILE%"。显然,这个操作不够智能,因此,我们第一步是,添加xelatex的编译方式(2.3节)。

上述编译的方法来自官方Compile解释.

80028c1bc7858cc90e000342191d19c2.png

从上面VS Code中预览PDF可以看到,整块屏幕被三分天下,左边的编译之类的提示可以再点一下TEX关掉,但是tex文档和PDF预览两个同时存在,无论调节哪一个,小小的笔记本屏幕都无法同时满足二者清晰呈现。因此我们需要在外面链接一个PDF阅读器(2.4节)。

2.3 编译方式的配置

从VS Code中左下角的齿轮,打开设置。

9c2a7ae5b2e761d245544c4837c7d635.png

在打开设置后的页面中,搜索tool,找到Latex-workshop>Latex:Tools,如下图所示。

2fa36e1623c990fe753a99ca21de40cf.png

点击上图中的在settings.json中编辑,打开后如下图所示。

456fbb0f82c36da9552bdf528d9cb642.png

OK,恭喜一下自己吧,终于成功打开了正确的settings.json文件。你可以看到,上图中的latex-workshop.latex.tools是没有黄色波浪线提示警告的,完美!

事实上,从网上看到的各位大佬的settings.json配置文件源码都是Latex Workshop中的一个个配置的组合。这里建议,你从VS Code的设置页面中搜索到他们配置源码前的配置项名称,如果下方有在settings.json中编辑的选项,点进去就可以进入配置文件。如果没有,直接在下方的输入一些字符或者添加一两项,然后再点到配置文件settings.json中,会发现,这个配置项的名称已经加载到了配置文件中,这时可以对照着网上的一些教程修改这个配置项中的内容,不建议将配置项的文件名称复制进去,这样会有警告,无法使配置生效。这才是打开settings.json的正确姿势

上图中红框的代码就是用来编译中文源码的工具,具体如下:

{
    "name": "xelatex",
    "command": "xelatex",
    "args": [
        "-synctex=1",
        "-interaction=nonstopmode",
        "-file-line-error",
        "%DOCFILE%"
    ]
},

添加上xelatex工具后,再从设置中搜索recipe,再次进入settings.json,在latex-workshop.latex.recipes中你可以看到Latex Workshop默认的四种编译方式,在第一种编译方式前面添加如下代码:

{
    "name": "xelatex",
    "tools": [
        "xelatex"
    ],
},
{
    "name": "xelatex ➞ bibtex ➞ xelatex × 2",
    "tools": [
        "xelatex",
        "bibtex",
        "xelatex",
        "xelatex"
    ]
},

效果如下图所示:

8532db79b583597fe331c751ad287741.png
说明1:上述代码添加了两种编译方式,name可以自己定义,第一种是直接用xelatex来编译一次,适用于没有参考文献的简短论文;第二种是包含参考文献编译在内的复杂编译,先编译一次,再编译一次参考文献(bibtex),再编译两次,防止有时候编译没有完美完成(例如图注显示不全的情况)。
说明2:同理,你可以屏蔽相应的编译方式。

添加上述代码并屏蔽前三种Recipe方式后,保存settings.json文件,重启VS Code,可以看到新的编译方式如下所示:

1a474519b19db3575a72b6890b9445ba.png

2.4 PDF阅读器的设置

2.4.1 关联外部PDF阅读器

在2.2节已经解释过为什么要用外置的PDF阅读器,接下来,我们介绍如何配置。

在设置页面搜索viewer,找到Latex-workshop→View→Pdf:Viewer,将其设置为external,这样默认的预览的时候是外部的PDF阅读器。

ca60d597ee4ff99c821bc9af10c5931b.png

接下来关联外部的PDF阅读器。同样在设置页面搜索viewer,找到Latex-workshop→View→Pdf→External→Viewer:Command,将SumatraPDF.exe的安装路径填在下方的方框里。

b323f415887532badd4e0b4af5745554.png

2.4.2 前向搜索与反向搜索设置

前向搜索,即在tex文档中找到某句话后,可以直接跳转到PDF阅读器中相应的位置。反向搜索,即从PDF文件的位置跳转到源码处。

在设置页面搜索viewer,找到Latex-workshop→View→Pdf:Viewer: Args

5e866763b1af39f0e19bd0f2282edbea.png

随意添加一项后(不需要照上图添加完全),可以在settings.json文件中观察到自动添加了这一配置项,然后复制如下代码中[ ]中的内容:

"latex-workshop.view.pdf.external.viewer.args": [
    "-forward-search",
    "%TEX%",
    "%LINE%",
    "-reuse-instance",
    "-inverse-search",
    ""C:/Users/YourName/AppData/Local/Programs/Microsoft VS Code/Code.exe" "C:/Users/YourName/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js" -r -g "%f:%l"",
    "%PDF%",
],
注意:只需复制[ ]中的内容,并且注意不要随便打乱顺序,记得修改路径。保存后回到设置页面的对应配置项,就会发现配置项下面已经修改为和上图一样的配置。

在设置页面搜索Synctex,再从设置页面里找到Latex-workshop→View→Pdf→External→Synctex:Command,同样填入SumatraPDF.exe的路径。

d442586755059fa198b264012969995b.png

在设置页中找到Latex-workshop→View→Pdf→External→Synctex:Args

65ce1384ce223a7a32a71f99bf68c70c.png

随意添加一项后(不需要照上图添加完全),可以在settings.json文件中观察到自动添加了这一配置项,然后复制如下代码中[ ]中的内容:

//下面这一行不用复制,只是说明修改Synctex:Command后会自动加入这一行
"latex-workshop.view.pdf.external.synctex.command": "C:Users<YourName>AppDataLocalSumatraPDFSumatraPDF.exe",
//下面一行不用复制,自动生成的
"latex-workshop.view.pdf.external.synctex.args": [
    //将下面内容复制到你的settings.json中,并修改路径
    "-forward-search",
    "%TEX%",
    "%LINE%",
    "-reuse-instance",
    "-inverse-search",
    ""C:/Users/YourName/AppData/Local/Programs/Microsoft VS Code/Code.exe" "C:/Users/YoruName/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js" -r -g "%f:%l"",
    "%PDF%",
//下面一行不用复制    
],
 

实现前向搜索的方式可为:

1. 在光标处,选择Navigate, select, and edit->SyncTeX from cursor,如下图。

4ce6d29552ee76e4b6e7cfb67c3cb951.png

2. 按下Ctrl+Alt+J,直接跳转至PDF对应的地方。

3.点击View LaTeX PDF -> View in external viewer

前向搜索的效果如下所示。

f949796f22198002db994c08f7526d1e.gif
说明:为了演示效果,我才将VS Code和PDF阅读器各占一半屏幕,下同。

!!!注意:如果正向搜索有问题,建议先disable其他插件,只保留 LaTeX Workshop,重启 VSCode 后再做尝试!

在PDF中双击,即可跳转到源码位置。反向搜索的效果如下所示:

62553afb465f6ef2628796cd5f310098.gif

2.4.3 反向搜索的PDF阅读器设置

如果上述方法不能从PDF跳转至tex文档,还可以尝试下面的方法:

在这里,我们需要设置的是SumatraPDF.exe。打开SumatraPDF.exe,找到设置->选项:

5fc3bc5da19ef1743b21ca2053c2a7aa.png

点开后如下图所示:

1ef8aca7a5e2977e5b69bdd4eeb1bb8c.png

在反向搜索设置里填入下方的一行超长代码(不是两行,注意和你自己的路径要对应好):

""C:/Users/YourName/AppData/Local/Programs/Microsoft VS Code/Code.exe" "C:/Users/YourName/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js" -r -g "%f:%l""

3 部分快捷键

  • Ctrl+Alt+X:显示LaTeX面板(左侧编译命令面板和文档大纲)。
  • Ctrl+Alt+C:清除辅助文件
  • Ctrl+Alt+V:查看编译的pdf文件(预览)
  • Ctrl+Alt+J:正向搜索

4 一点感悟

OK,到这里,本篇博客主体就结束了。有一个小的感受,新手找settings.json这个配置文件是真的难。直接把网上各位大佬的配置源码粘贴进来,总是有问题,这可能是由于软件版本更新后不太适用了。当然,我的这个教程也可能会过时,所以我都写明了软件版本。配置源码中的所有设置都可以从VS Code的设置页面中找到并进行相应的修改。我认为,从设置页面里打开的settings.json或许可以直接从网上的各位大佬的配置文件源码中复制,有兴趣的可以多多尝试~

参考链接

  1. 编译的官方解释
  2. 正向搜索的官方解释
  3. 配置VScode编辑LaTeX及正反向搜索等设置
  4. 一个直观的VS Code+Latex视频简介
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值