gpt4 book ai didi

详解VScode 配置为 LaTeX 编辑器(IDE)

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章详解VScode 配置为 LaTeX 编辑器(IDE)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

VScode 配置为 LaTeX IDE 。

在Windows中,配置VScode作为LaTeX的编辑器(IDE),并使用SumatraPDF预览PDF文件。主要是LaTeX Workshop扩展的设置,如果要使用外部的PDF阅读器,则还需要设置SumatraPDF.

安装扩展 。

ctrl+shift+x调出应用商店,搜索并安装LaTeX Workshop扩展:

配置LaTeX Workshop 。

LaTeX文件.tex的编译、预览、辅助文件的清理等都在扩展latex workshop中设置.

LaTeX Workshop中,编译LaTeX文件时顺序执行的一系列/组命令称为LaTeX食谱(recipes),定义在latex-workshop.latex.recipes。缺省情况,LaTeX Workshop包含2个基本的食谱,分别由latex-workshop.latex.recipes和latex-workshop.latex.Tools定义。第一个食谱的tools域中的工具定义在第二个食谱。latex workshop的参数含义见LaTeX Workshop的配置文件"package.json"或https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#latex-recipes了解配置情况.

LaTeX Workshop默认的编译方式为latexmk和pdflatex。如下配置修改了latex workshop的编译方式、预览、辅助文件等。特别添加了xelatex及包含bib时的编译.

ctrl+shift+p ->settings->首选项:打开用户设置(Json),在settings.json中添加如下内容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
"latex-workshop.showContextMenu" : true ,        //右键菜单
"latex-workshop.intellisense.package.enabled" : true , //根据加载的包,自动完成命令或包
"latex-workshop.latex.autoBuild.run" : "never" ,    //禁止保存文件时自动build
"latex-workshop.latex.recipes" : [
  {
   "name" : "latexmk" ,
   "tools" : [
    "latexmk"
   ]
  },
  {
   "name" : "PDFlatex" ,
   "tools" : [
    "pdflatex"
   ]
  },
  {
   "name" : "pdflatex ->žž bibtex ->žž pdflatex2" ,
   "tools" : [
    "pdflatex" ,
    "bibtex" ,
    "pdflatex" ,
    "pdflatex"
   ]
  },
  {
   "name" : "xelatex" ,
   "tools" : [
    "xelatex"
   ]
  },
  {
   "name" : "xelatex -> bibtex -> xelatex" ,
   "tools" : [
    "xelatex" ,
    "bibtex" ,
    "xelatex" ,
   ]
  }
],
"latex-workshop.latex.tools" :[
  {
   "name" : "latexmk" ,
   "command" : "latexmk" ,
   "args" : [
    "-synctex=1" ,
    "-interaction=nonstopmode" ,
    "-file-line-error" ,
    "-pdf" ,
    "-outdir=%OUTDIR%" ,
    "%DOC%"
   ],
   "env" : {}
   },
   {
   "name" : "pdflatex" ,
   "command" : "pdflatex" ,
   "args" : [
    "-synctex=1" ,
    "-interaction=nonstopmode" ,
    "-file-line-error" ,
    "%DOC%"
   ],
   "env" : {}
   },
   {
   "name" : "xelatex" ,
   "command" : "xelatex" ,
   "args" : [
    "-synctex=1" ,
    "-interaction=nonstopmode" ,
    "-file-line-error" ,
    "%DOC%"
   ],
   "env" : {}
   },
   {
   "name" : "bibtex" ,
   "command" : "bibtex" ,
   "args" : [
    "%DOCFILE%"
   ],
   "env" : {}
   }
],
"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" ,
  "*.nav" ,
  "*.snm" ,
  "*.synctex.gz"
],
"latex-workshop.view.pdf.viewer" : "tab" //pdf文件的预览方式

快捷键 。

打开键盘快捷方式面板(左下侧齿轮,或快捷键ctrl+k,ctrl+s):

  • 搜索"切换侧栏可见性",设置快捷键为ctrl+k ctrl+b。
  • 搜索 latex build,将默认的ctrl+alt+b替换为ctrl+b(与Sublime Text 3统一)。
  • 搜索latex recipe,设置快捷键为ctlr+r,方便点菜(选择编译方式)!(ST3中是显示文档大纲)。

其他常用的快捷键:

  • ctrl+k ctrl+a: 切换活动栏可见性(左侧图标开关)
  • ctrl+alt+x:显示LaTeX面板(左侧编译命令面板和文档大纲)。
  • ctrl+alt+c:清除辅助文件
  • ctrl+alt+v:查看编译的pdf文件(预览)
  • ctrl+alt+j:正向搜索。当设置"latex-workshop.view.pdf.viewer": "tab";时,在LaTeX源文件中按下快捷键,定位到PDF文档相应位置。(反向搜索见后面)

一些快捷处理 。

根据latex-workshop.latex.recipes中的name段设定,可在.tex文件首行指定编译方式。如%!TEX program = xelatex表示用xelatex编译文件,而%!TEX program = PDFlatex表示用latexpdf编译文件。多个文件情况,还可以用% !TEX root指定主文件,% !TEX bib指定bib的编译方式.

示例 。

?
1
2
3
4
5
6
%! TeX program = pdflatex
\documentclass{article}
 
\begin{document}
   press ctrl+b to complie,press ctrl+alt+v to view pdf
\end{document}

设置LaTeX文件和PDF文件之间的正/反向搜索 。

正向搜索是指按某种方式操作源文件中的部分,会在PDF文件中立即到达对应的部分。反向搜索就是在PDF文档的正文中某个位置点击,光标会定位到源文件的相应位置。正反向搜索十分方便文档错误的修改。反向搜索需要用到SumatraPDF软件(或Zathura).

SumatraPDF软件是一款小巧强悍的PDF阅读器,是免费开源软件。国内有多个PDF阅读器基于SumatraPDF修改而来.

SumatraPDF官方下载地址:https://www.sumatrapdfreader.org/download-free-pdf-viewer.html 。

根据自己电脑操作系统,选择相应的软件下载并安装.

下面操作的一些说明:

我的VScode文件位置:VScode.exe在D:/ProgramFiles/Coding/VSCode文件夹 。

扩展安装在D:/ProgramFiles/Coding/VSCode/.vscode/。即将默认的%USERPROFILE%\.vscode和%APPDATA%\Code转移到了D:/ProgramFiles/Coding/VSCode文件夹中,然后建立了联接:

  • mklink /J "%USERPROFILE%\.vscode" ".vscode"
  • mklink /J ""%APPDATA%\Code"" "Code"

将SumatraPDF.exe复制到D:/ProgramFiles/Coding/VSCode/.vscode/,后面的设置只是针对这个位置的SumatraPDF.exe,设置不会影响其他位置的SumatraPDF.exe。因为我有时会使用Sumblime Text3,默认的SumatraPDF.exe已经对其设置.

使用下面的设置,需要修改其中的VScode.exe、cli.js、SumatraPDF.exe这三个文件的路径为自己电脑对应的路径。 步骤如下:

打开设置文件settings.json,添加如下设置(注意查找重复的配置项,如前面的配置中最后一行有latex-workshop.view.pdf.viewer,用下面的替换):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 设置预览方式
"latex-workshop.view.pdf.viewer" : "external" ,
"latex-workshop.view.pdf.ref.viewer" : "external" ,
// 设置外部PDF预览器
"latex-workshop.view.pdf.external.viewer.command" : "D:/ProgramFiles/Coding/VSCode/.vscode/SumatraPDF.exe" ,
"latex-workshop.view.pdf.external.viewer.args" : [
   "%PDF%"
],
// 配置Syntex的正向搜索(这是官网的)
"latex-workshop.view.pdf.external.synctex.command" : "D:/ProgramFiles/Coding/VSCode/.vscode/SumatraPDF.exe" ,
"latex-workshop.view.pdf.external.synctex.args" : [
   "-forward-search" ,
   "%TEX%" ,
   "%LINE%" ,
   "-reuse-instance" ,
   "-inverse-search" ,
   "D:/ProgramFiles/Coding/VSCode/Code.exe D:/ProgramFiles/Coding/VSCode/resources/app/out/cli.js -r -g %f:%l" ,
   "%PDF%"
],

配置反向搜索(PDF->Latex源文件) 。

反向搜索在SumatraPDF中设置。打开SumatraPDF,进入设置->选项 对话框,在“设置反向搜索命令行”处填入如下内容(是一行内容,不是2行!):

"D:\ProgramFiles\Coding\VSCode\Code.exe" 。

"D:\ProgramFiles\Coding\VSCode\resources\app\out\cli.js" -r -g "%f:%l" 。

双击PDF中的任意一处即可跳转到VSCode中所对应的内容的源代码处 。

反向搜索的使用:打开一个已经编译的TeX文件,ctrl+alt+v打开PDF文件。在PDF文件中的某行文字处,双击鼠标左键,会切换到了源文件的相应位置。如果点击的是公式、图等,可能不会正确返回.

正向搜索的使用:将光标移动到TeX文件的正文。ctrl+alt+x,找到"navigator,select and edit",点击第一项"syncTeX from cursor"(或右键选择,或快捷键ctrl+alt+j ),会切换到PDF文件的相应位置.

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

参考文章 。

Viewing & Synctex 。

使用VSCode编写LaTeX 。

最后的设置(sumatraPDF预览+正反搜索) 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
"latex-workshop.showContextMenu" : true ,
"latex-workshop.intellisense.package.enabled" : true , //根据加载的包,自动完成命令或包
"latex-workshop.latex.autoBuild.run" : "never" ,    //禁止保存文件时自动build
"latex-workshop.latex.recipes" : [
  {
   "name" : "latexmk" ,
   "tools" : [
    "latexmk"
   ]
  },
  {
   "name" : "PDFlatex" ,
   "tools" : [
    "pdflatex"
   ]
  },
  {
   "name" : "pdflatex ->žž bibtex ->žž pdflatex2" ,
   "tools" : [
    "pdflatex" ,
    "bibtex" ,
    "pdflatex" ,
    "pdflatex"
   ]
  },
  {
   "name" : "xelatex" ,
   "tools" : [
    "xelatex"
   ]
  },
  {
   "name" : "xelatex -> bibtex -> xelatex*2" ,
   "tools" : [
    "xelatex" ,
    "bibtex" ,
    "xelatex" ,
    "xelatex"
   ]
  }
],
"latex-workshop.latex.tools" :[
  {
   "name" : "latexmk" ,
   "command" : "latexmk" ,
   "args" : [
    "-synctex=1" ,
    "-interaction=nonstopmode" ,
    "-file-line-error" ,
    "-pdf" ,
    "-outdir=%OUTDIR%" ,
    "%DOC%"
   ],
   "env" : {}
   },
   {
   "name" : "pdflatex" ,
   "command" : "pdflatex" ,
   "args" : [
    "-synctex=1" ,
    "-interaction=nonstopmode" ,
    "-file-line-error" ,
    "%DOC%"
   ],
   "env" : {}
   },
   {
   "name" : "xelatex" ,
   "command" : "xelatex" ,
   "args" : [
    "-synctex=1" ,
    "-interaction=nonstopmode" ,
    "-file-line-error" ,
    "%DOC%"
   ],
   "env" : {}
   },
   {
   "name" : "bibtex" ,
   "command" : "bibtex" ,
   "args" : [
    "%DOCFILE%"
   ],
   "env" : {}
   }
],
//"latex-workshop.latex.autoClean.run": "onBuilt",
"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" ,
  "*.nav" ,
  "*.snm" ,
  "*.synctex.gz" ,
  "*.bcf" ,
  "*.run.xml"
],
"latex-workshop.view.pdf.viewer" : "external" ,
"latex-workshop.view.pdf.ref.viewer" : "external" ,
// 设置外部PDF预览器
"latex-workshop.view.pdf.external.viewer.command" : "D:/ProgramFiles/Coding/VSCode/.vscode/SumatraPDF.exe" ,
"latex-workshop.view.pdf.external.viewer.args" : [
   "%PDF%"
],
// 配置Syntex的正向搜索(Latex->PDF)
"latex-workshop.view.pdf.external.synctex.command" : "D:/ProgramFiles/Coding/VSCode/.vscode/SumatraPDF.exe" ,
"latex-workshop.view.pdf.external.synctex.args" : [
  "-forward-search" ,
  "%TEX%" ,
  "%LINE%" ,
  "-reuse-instance" ,
  "-inverse-search" ,
  "D:/ProgramFiles/Coding/VSCode/code D:/ProgramFiles/Coding/VSCode/resources/app/out/cli.js -r -g %f:%l" ,
  "%PDF%"
],

到此这篇关于详解VScode 配置为 LaTeX 编辑器(IDE)的文章就介绍到这了,更多相关VScode LaTeX编辑器内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://www.cnblogs.com/ourweiguan/p/11785660.html 。

最后此篇关于详解VScode 配置为 LaTeX 编辑器(IDE)的文章就讲到这里了,如果你想了解更多关于详解VScode 配置为 LaTeX 编辑器(IDE)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com