吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6900|回复: 24
收起左侧

[其他转载] 【笔记】VS Code与Latex从下载到写论文(2020)

  [复制链接]
JavenC 发表于 2020-2-22 16:52
本帖最后由 JavenC 于 2020-2-22 17:12 编辑

我只是个小白,一个普普通通的理科应届毕业生

一场疫情,让学校一再推迟开学并禁止提前返校,本来是件美事,但作为苦逼应届毕业生却不得不操心论文和答辩的事情。

对于一个纯理科学生,LaTeX作为一个论文排版工具比Word强了太多,但是它是需要编译环境的,自带的固然能用,总归是功能有限。查了不少文章,最终选择了VS Code。

但这东西的环境配置,对于小白来说太难了点,我折腾了挺久,走了不少弯路,写这篇笔记希望能帮到那些有同样需求的朋友吧,以后我自己忘了,也会回头来看看


目录

1.准备工作

2.TeXLive 2019下载、安装

3.VSCode下载、安装

4.安装LaTeX Workshop插件

5.JSON基本设置

6.正向检索

7.反向检索

8.双向检索使用方法


1.准备工作

为了搭建 LaTeX 工作环境,需要安装:TeX Live 或者 MiKTeX (本文以 TeX Live 2019 为例)Visual Studio CodeLaTeX Workshop (VSCode 插件)

SumatraPDF 阅读器(可选,用于预览 PDF)


2.TeX Live 2019下载、安装

首先,我们进入TeX Live 的官方站点:https://www.tug.org/texlive/,有两种安装方式


    1.Download安装:

网络好的点击download,会有一个exe,打开安装猛点“下一步”就完事(需要联网安装

texDownload.jpg


    2.DVD安装:

点download下载不下来的可以试试on DVD那个选项,会下载一个镜像文件,win10可以直接打开,win7之类的需要挂载(类似“读碟”)

onDVD.jpg

DownloadingonDVD.jpg

iso.jpg

文件夹.jpg

以管理员身份运行后缀是“.bat”的那个文件,安装过程类似,但不再需要联网


SumtraPDF比自带的阅读器好用一点,但不是必要的

在上述软件/插件安装之后,你需要把TeX Live 的 bin 目录(C:\ProgramFiles\texlive\2019\bin\win32)添加到系统环境变量(PATH)中

如果你下载了Sumtra,还需要添加它的路径(C:\Program Files\SumatraPDF)【这是默认路径,如果你修改了路径则填入修改后的】

Win10 中将路径添加到环境变量中的步骤如下:右键我的电脑,然后选择 属性,在左侧选择 高级系统设置,然后选择下方的 环境变量,选择变量 Path 编辑,将需要添加的路径添加进去即可


3.VSCode下载、安装

1)在浏览器地址栏输入https://code.visualstudio.com/进入到 VSCode官网 首页

VSCode官网.jpg

请根据自己的操作系统下载,安装也没什么难度,没特别需求可以一切默认,不再赘述


4.安装LaTeX Workshop插件

在左侧点击扩展按钮(KEY:Ctrl+Shift+X),然后搜索插件名字 LaTeX Workshop,选择安装即可

LaTeXWorkShop.jpg


简单地来讲,你已经可以用这些东西写论文了,新建一个结尾为.tex的文件,你可以试试下面这一段


[JavaScript] 纯文本查看 复制代码
\documentclass{article}[/align]
[align=left]
\begin{document}[/align]
[align=left]
Hello, world![/align]
[align=left]
\end{document}


ctrl+alt+b编译,按理说pdf会自动弹出来。如果没弹出来ctrl+alt+v看pdf

完结撒花

-------


你可能会奇怪,为什么网上搜出来的教程都要配置很长很长一段配置文件,而且往往还不好使因为一篇完整的论文是有Reference(参考文献)的,而这部分一般会写进另一个叫.bib的文件中

当你要同时编译两个文件的时候,就需要用到那些乱七八糟的配置了

还有就是长论文可能用到的正向检索和反向检索:点击代码可以直接在pdf中定位到文字,点击文字可以定位到对应的代码

如果你需要用到这些,请接着往下看


5.JSON基本设置
VS Code 默认添加了3 个编译工具(tools):分别是latexmk,pdflatex和bibtex(所有的工具只编译一次)为了添加其他的编译方式(比如xelatex),我们需要修改LaTeX Workshop 的配置。
打开LaTeX Workshop 配置的方法如下:在VS Code 界面左下角,点击齿轮按钮,选择设置
settings.jpg

然后在屏幕右上角找到文件上一个箭头的标志
JSON.jpg


下面是我个人的设置,我也没全搞懂每句话干嘛的,不过2020.02.22测试可用。注意,所有下面的代码请用一组大括号{}框进去

[JavaScript] 纯文本查看 复制代码
 "latex-workshop.showContextMenu": true, //右键菜单
  "latex-workshop.intellisense.package.enabled": true, //根据加载的包,自动完成命令或包
  "latex-workshop.latex.autoBuild.run": "never", //禁止保存文件时自动build
  "latex-workshop.latex.recipes": [
    {
      "name": "PDFLaTeX",
      "tools": ["pdflatex"]
    },
    {
      "name": "PDFLaTeX with Shell Escape",
      "tools": ["pdflatex-with-shell-escape"]
    },
    {
      "name": "XeLaTeX",
      "tools": ["xelatex"]
    },
    {
      "name": "XeLaTeX with Shell Escape",
      "tools": ["xelatex-with-shell-escape"]
    },
    {
      "name": "pdflatex -> bibtex -> pdflatex*2",
      "tools": ["pdflatex", "bibtex", "pdflatex", "pdflatex"]
    },
    {
      "name": "xelatex -> bibtex -> xelatex*2",
      "tools": ["xelatex", "bibtex", "xelatex", "xelatex"]
    },
    {
      "name": "LaTeXmk",
      "tools": ["latexmk"]
    },
    {
      "name": "BibTeX",
      "tools": ["bibtex"]
    }
  ],
  "latex-workshop.latex.tools": [
    {
      "name": "latexmk",
      "command": "latexmk",
      "args": [
        "-synctex=1",
        "-interaction=nonstopmode",
        "-file-line-error",
        "-pdf",
        "-outdir=%OUTDIR%",
        "%DOCFILE%"
      ],
      "env": {}
    },
    {
      "name": "pdflatex",
      "command": "pdflatex",
      "args": [
        "-synctex=1",
        "-interaction=nonstopmode",
        "-file-line-error",
        "%DOCFILE%"
      ],
      "env": {}
    },
    {
      "name": "pdflatex-with-shell-escape",
      "command": "pdflatex",
      "args": [
        "--shell-escape",
        "-synctex=1",
        "-interaction=nonstopmode",
        "-file-line-error",
        "%DOCFILE%"
      ],
      "env": {}
    },
    {
      "name": "xelatex",
      "command": "xelatex",
      "args": [
        "-synctex=1",
        "-interaction=nonstopmode",
        "-file-line-error",
        "%DOCFILE%"
      ],
      "env": {}
    },
    {
      "name": "xelatex-with-shell-escape",
      "command": "xelatex",
      "args": [
        "--shell-escape",
        "-synctex=1",
        "-interaction=nonstopmode",
        "-file-line-error",
        "%DOCFILE%"
      ],
      "env": {}
    },
    {
      "name": "bibtex",
      "command": "bibtex",
      "args": ["%DOCFILE%"],
      "env": {}
    }
  ],
  "latex-workshop.latex.clean.fileTypes": [
    //设定清理文件的类型(ctrl+alt+c:清除辅助文件)
    "*.aux",
    "*.bbl",
    "*.blg",
    "*.idx",
    "*.ind",
    "*.lof",
    "*.lot",
    "*.out",
    "*.toc",
    "*.acn",
    "*.acr",
    "*.alg",
    "*.glg",
    "*.glo",
    "*.gls",
    "*.ist",
    "*.fls",
    "*.log",
    "*.fdb_latexmk",
    "*.nav",
    "*.snm",
    "*.synctex.gz",
    "*.bcf",
    "*.run.xml"
  ],



接下来你可以用一个范例测试一下配置好了没,我上传了附件,一个bib文件,一个tex文件,两个一起下载放在同一个文件夹下(注意路径不要有中文!)
打开tex文件,点左侧边栏的TEX中的第一项,中的这个
xbxx.jpg

编译完,如果pdf没打开,按ctrl+alt+v,正常情况下会看大如下内容
示例.jpg

如果bib文件没下载,Reference会显示不出来,如果编译出错,就是设置的代码有错误(仿佛看到程序员的日常:写Bug)
如果成功运行,恭喜你,含bib文件的tex以后就这么编译,不含的就直接ctrl+alt+b就完事

再次完结撒花

--------


什么?你说你还想要正向检索、反向检索?。。。

那继续往下看吧,下面这一段我自己都有点整不明白,大家也就凑合着依葫芦画瓢吧

这个功能最好配合SumatraPDF使用SumatraPDF官方下载地址:https://www.sumatrapdfreader.org/download-free-pdf-viewer.html


6.正向检索

大括号{}内加入以下代码

[JavaScript] 纯文本查看 复制代码
// 设置预览方式[/align][align=left]
  "latex-workshop.view.pdf.viewer": "external",[/align][align=left]
  "latex-workshop.view.pdf.ref.viewer": "external",[/align][align=left]
  // 设置外部PDF预览器[/align][align=left]
  "latex-workshop.view.pdf.external.viewer.command": "C:/Program Files/SumatraPDF/SumatraPDF.exe",[/align][align=left]
  "latex-workshop.view.pdf.external.viewer.args": ["%PDF%"],[/align][align=left]
  // 配置Syntex的正向搜索(Latex->PDF)[/align][align=left]
  "latex-workshop.view.pdf.external.synctex.command": "C:/Program Files/SumatraPDF/SumatraPDF.exe",[/align][align=left]
  "latex-workshop.view.pdf.external.synctex.args": [[/align][align=left]
    "-forward-search",[/align][align=left]
    "%TEX%",[/align][align=left]
    "%LINE%",[/align][align=left]
    "-reuse-instance",[/align][align=left]
    "-inverse-search",[/align][align=left]
    "D:/Soft/Microsoft VS Code/Code.exe D:/Soft/Microsoft VS Code/resources/app/out/cli.js -r -g %f:%l",[/align][align=left]
    "%PDF%"[/align][align=left]
  ],[/align][align=left]

注意,将其中的路径替换成你自己的!


7.反向检索

打开 SumatraPDF,进入设置->选项->设置反向搜索命令行,设置反向搜索命令行,同样注意文件路径:(一行,不是两行!)

[JavaScript] 纯文本查看 复制代码
"D:/Soft/Microsoft VS Code/Code.exe" "D:/Soft/Microsoft VS Code\resources\app\out\cli.js" -g "%f":%l


Sumatr设置.jpg



如果没看到这一栏,可能是第一次设置,则进入“设置->选项->高级设置”,添加如下一行,同样注意文件路径:(一行,不是两行!)

[JavaScript] 纯文本查看 复制代码
InverseSearchCmdLine = "D:/Soft/Microsoft VS Code/Code.exe" "D:/Soft/Microsoft VS Code\resources\app\out\cli.js" -g "%f":%l


8.双向检索使用方法

正向搜索的使用:

将光标移动到TeX文件的正文。ctrl+alt+x,找到"navigator,select andedit",点击第一项"syncTeX from cursor"(或右键选择,或快捷键ctrl+alt+j),会切换到PDF文件的相应位置并高亮显示。

反向搜索的使用:

打开一个已经编译的TeX文件,ctrl+alt+v打开PDF文件。在PDF文件中的某行文字处,双击鼠标左键,会切换到了源文件的相应行(并不会精确到词。如果点击的是公式、图等,可能不会正确返回。

如果不成功,检查路径设置,或者文件名错误。正反向搜索用到了.synctex.gz文件,不能删除。


补充一些快捷键:

ctrl+k ctrl+a: 切换活动栏可见性(左侧图标开关)

ctrl+alt+x:显示LaTeX面板(左侧编译命令面板和文档大纲)。

ctrl+alt+c:清除辅助文件(如果你要用双向检索,需要保留gz文件)

ctrl+alt+j:正向检索。当设置"latex-workshop.view.pdf.viewer":"tab";时,在LaTeX源文件中按下快捷键,定位到PDF文档相应位置


如果你有什么疑问,欢迎评论交流,也欢迎免费评分~

压缩包平民链接:

链接:https://pan.baidu.com/s/1DxtuZchMKBwtTpa-VjPOPw
提取码:vtav

LaTeX.zip

1.41 KB, 下载次数: 65, 下载积分: 吾爱币 -1 CB

压缩密码52pojie

免费评分

参与人数 6吾爱币 +6 热心值 +5 收起 理由
Scofield_F + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
millionaire + 1 + 1 我很赞同!
coops + 1 + 1 用心讨论,共获提升!
wangxb2555 + 1 我很赞同!
裂石破天 + 1 + 1 我很赞同!
walkyrie + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| JavenC 发表于 2020-9-5 11:13
可乐味的小土豆 发表于 2020-9-4 11:21
折腾半天,反向选择还是不能用,唉

默认从代码定位到pdf的快捷键是ctrl Alt J,只能定位到行,默认从pdf定位到代码的快捷键是Ctrl 加鼠标左键。系统自带的pdf阅读器够用了,如果想配置外置的阅读器,还是得改设置文件
 楼主| JavenC 发表于 2020-9-4 09:00
可乐味的小土豆 发表于 2020-9-3 21:38
显示这个Recipe terminated with fatal error: spawn latexmk ENOENT.

最近workshop更新了,不用这么复杂了,直接安装texlive之后,下载workshop插件,就能用了
cj13888 发表于 2020-9-5 11:34
可乐味的小土豆 发表于 2020-9-4 11:21
折腾半天,反向选择还是不能用,唉
可乐味的小土豆 发表于 2020-9-4 09:32
按着你的代码生成的pdf,应该是这个样子吗,VS还是显示有错误
20200904092935.jpg
Yamz 发表于 2020-9-4 09:13
学习一下!!!
可乐味的小土豆 发表于 2020-9-4 09:08
JavenC 发表于 2020-9-4 09:00
最近workshop更新了,不用这么复杂了,直接安装texlive之后,下载workshop插件,就能用了

就是不用修改系统变量了吗
 楼主| JavenC 发表于 2020-9-4 09:02
更新一下链接: https://pan.baidu.com/s/1vyqdIgQmL2NQHOxtlo0bnQ 提取码: zbwf
可乐味的小土豆 发表于 2020-9-3 21:38
显示这个Recipe terminated with fatal error: spawn latexmk ENOENT.
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 01:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表