0%

LaTeX学习笔记(1) 在Windows下配置环境

  1. 选用哪个排版编译器?TeX Live还是MiKTeX?
  2. MiKTeX与VSCode的配合
    1. 安装MiKTeX
    2. 在VS Code中安装和配置LaTeX Workshop插件
    3. 写作测试
    4. 自动格式化
  3. 使用bibtex添加文献引用
  4. 安装MiKTeX后编译无法通过且没有错误提示
  5. 文档正向搜索与反向搜索

Latex入门:https://blog.csdn.net/u014803202/article/details/50410748

选用哪个排版编译器?TeX Live还是MiKTeX?

  • MiKTeX的标准版安装程序“只安装基本的东西”,其他任何需要的东西都可以动态安装;TeX Live的标准安装就是“完全安装”(大约4.5个G)
  • MiKTeX比TeX Live有稍微灵活一些的许可方式:有一小部分LaTeX包是MiKTeX提供的,而TeX Live没有(如thesis
  • TeX Live最初是在Unix上开发的,因此适用于Linux、Mac以及Windows(或其他系统);MiKTeX基于Windows系统开发,因此更适用于Windows用户
  • ……

参考资料

MiKTeX与VSCode的配合

参考资料:https://blog.csdn.net/weixin_43356770/article/details/104035291

安装MiKTeX

官网下载安装包,下载后双击安装(安装路径不要有空格或中文等其他字符),安装完成后,检查环境变量path,是否包含了安装路径下的\miktex\bin\x64路径。

在VS Code中安装和配置LaTeX Workshop插件

a. 打开VS Code,在扩展商店搜索latex,找到LaTeX Workshop,安装该插件。

image-20201119163802311

b. 安装完成后,把以下设置拷贝至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
{
"latex-workshop.latex.autoBuild.run": "never",
"latex-workshop.latex.recipes": [
{
"name": "xelatex -> bibtex -> xelatex*2",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
{
"name": "latexmk",
"tools": [
"latexmk"
]
},
{
"name": "xelatex",
"tools": [
"xelatex"
]
},
{
"name": "bibtex",
"tools": [
"bibtex"
]
},
],
"latex-workshop.latex.tools": [
{
"name": "xelatex",
"command": "miktex-xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
]
},
{
"name": "latexmk",
"command": "miktex-latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"%DOC%"
]
},
{
"name": "pdflatex",
"command": "miktex-pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
]
},
{
"name": "bibtex",
"command": "miktex-bibtex",
"args": [
"%DOCFILE%"
]
}
],
//清除辅助文件
"latex-workshop.latex.autoClean.run": "onBuilt",
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.bbl",
"*.blg",
"*.gz",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk",
"*.thm"
],
"latex-workshop.view.pdf.viewer": "tab", //用内置pdf阅读器查看
"latex-workshop.showContextMenu": true, //右键菜单
"editor.wordWrap": "on",
}
  1. 使用中文写作用xelatex编译,在latex-workshop.latex.recipes中把xelatex放在首位;如果使用英文写作就把latexmk放在首位;
  2. 将tools中的%DOC%替换成%DOCFILE%就可以支持中文路径下的文件了;
  3. 为部分.tex文档指定编译器,在文档首部加入以下代码:
1
%!TEX program = pdflatex

写作测试

a. 创建一个文件夹,添加文件main.tex,写入如下测试内容

1
2
3
4
5
6
7
8
9
\documentclass{ctexart}
\title{测 试}
\author{林 杉}
\date{\today}

\begin{document}
\maketitle
Hello World!
\end{document}

b. 按下快捷键Ctrl+Alt+B,即可执行编译。编译过程中,可能弹出类似如下的对话框,这是MiKTeX安装依赖项的确认框,点击Install即可为MiKTeX安装依赖。

image-20201119184604076

c. 按下快捷键Ctrl+Alt+V,可以在侧边栏查看编译后生成的PDF。

image-20201119213457680

自动格式化

a. 如果VS Code配置了自动格式化,那么在保存.tex文件时会报错,提示找不到perl.exe,这是因为自动格式化时用到了latexindent,这个脚本是用perl书写的。

b. 前往www.perl.org/get.html下载perl,Strawberry PerlActiveState Perl都可以(因为ActiveState Perl在我的电脑上安装失败——或许是因为网络——因此我选择了Strawberry Perl)。

c. 安装完成后,按下Shift+Alt+F执行自动格式化,出现了新的错误(如下图所示),perl提示缺少相应的模块。

image-20201119214516636

image-20201119214541882

d. 在perl中安装模块需要用到模块管理工具cpan,该工具在安装perl时会自动安装。执行如下的命令即可完成对应模块的安装。

1
2
cpan -i Log::Log4perl
cpan -i Log::Dispatch::File

参考:latexindent: Can’t locate Log/Log4perl.pm in @INC (you may need to install the Log::Log4perl module)

e. 如果安装速度过慢,可以使用国内镜像,镜像地址可以在全球镜像列表找到。添加镜像的方法如下所示,例如,使用中科大的镜像:

1
2
cpan
o conf urllist http://mirrors.ustc.edu.cn/CPAN/

参考:获取以及修改cpan镜像地址_Aggressive_snail的专栏-CSDN博客

使用bibtex添加文献引用

参考:Latex引用参考文献-BibTex的使用_蔡先生的专栏-CSDN博客

a. 引用参考文献并实现自动标号,需要用到bibtex,该工具需要配合pdflatexxelatex使用,使用顺序为:xelatex -> bibtex -> xelatex*2

b. 将settings.json中latex-workshop.latex.recipes的顺序改为如下所示,按下Ctrl+Alt+B后将按照第一个工具链执行默认的编译命令。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"latex-workshop.latex.recipes": [
{
"name": "xelatex -> bibtex -> xelatex*2",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
{
"name": "xelatex",
"tools": [
"xelatex"
]
},
{
"name": "latexmk",
"tools": [
"latexmk"
]
}
],

c. 在根目录下创建ref.bib文件,用于统一存放参考文献,将如下内容拷贝进去。

1
2
3
4
5
6
7
8
9
10
11
12
13
@inbook{Wille1982,
author = {Wille, Rudolf},
editor = {Rival, Ivan},
title = {Restructuring Lattice Theory: An Approach Based on Hierarchies of Concepts},
booktitle = {Ordered Sets: Proceedings of the NATO Advanced Study Institute held at Banff, Canada, August 28 to September 12, 1981},
year = {1982},
publisher = {Springer Netherlands},
address = {Dordrecht},
pages = {445--470},
isbn = {978-94-009-7798-3},
doi = {10.1007/978-94-009-7798-3_15},
url = {http://dx.doi.org/10.1007/978-94-009-7798-3_15}
}

d. 打开需要引用文献的.tex,在需要展示参考文献的地方写入\bibliographystyle\bibliography,需要引用的地方使用\cite,代码及显示效果如下所示。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
\documentclass{ctexart}
\title{测 试}
\author{林 杉}
\date{\today}

\begin{document}
\maketitle

Hello World!\cite{Wille1982}

% 参考文献
\bibliographystyle{plain}
\bibliography{ref}

\end{document}

image-20201119224145853

其中,\bibliography用来指定存放参考文献的文件路径(ref.bib),\bibliographystyle用来指定显示的样式,现成的可选样式有如下几种。

Style Description
plain 按字母的顺序排列,比较次序为作者、年度和标题
unsrt 样式同plain,只是按照引用的先后排序
alpha 用作者名首字母+年份后两位作标号,以字母顺序排序
abbrv 类似plain,将月份全拼改为缩写,更显紧凑
ieeetr 国际电气电子工程师协会期刊样式
acm 美国计算机学会期刊样式
siam 美国工业和应用数学学会期刊样式
apalike 美国心理学学会期刊样式

安装MiKTeX后编译无法通过且没有错误提示

2022.2.25 更新

在新的笔记本上面按照如上教程安装一遍之后,发现使用xelatex编译的时候总是无法编译通过,且编译输出中没有任何警告

一番折腾之后找不到任何原因,毕竟也没提示要安装什么依赖包,也没报任何错

正打算开始卸载,结果弹出一个MiKTeX Console,提醒我要进行更新,于是就进行了一次更新操作:

image-20220225170803721

更新完成之后重新编译,又自动弹出窗口安装了几十个包,然后就编译通过了~

文档正向搜索与反向搜索

更新日期:2022.4.12

Latex-Workshop 版本:v8.23.0

正向搜索(tex到pdf):Ctrl + Alt + J

反向搜索(pdf到tex):Ctrl+鼠标左键