LaTeX-环形使者
好奇学术论文是怎么写的吗? 此文章尽做大努力把什么是 Tex 系统给你整闭环了 😁
TeX 生态的名词简直太 ☘ 了,翻阅了很多中英文文档/社区整理了这个图,差不多可以总结 TeX 生态常见/常用的引擎和发行软件.
安装
1.在 win 下推荐用
MikTaX
吧,主流而且比较小. scoop-main 仓库中的 latex 实际上就是 最小安装版本的 MikTaX,试了一遍这个 latex 最好,其他的要么下载失败,要么安装报错 😡😡😡.1
scoop install latex
2.然后在 VScode 中安装
LaTeX Workshop
这个插件,进入 VScode 配置里复制粘贴下面配置: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//! Latex workshop
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"%DOC%"
]
},
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
]
},
{
"name": "pdflatex",
"command": "pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
]
},
{
"name": "bibtex",
"command": "bibtex",
"args": ["%DOCFILE%"]
}
],
"latex-workshop.latex.recipes": [
{
"name": "xelatex",
"tools": ["xelatex"]
},
{
"name": "latexmk",
"tools": ["latexmk"]
},
{
"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"
]3.新建一个后缀名为
.tex
的文件,注意路径和文件名不要有中文,测试内容如下:1
2
3
4
5
6
7
8\documentclass[UTF8]{ctexart}
\title{文章标题}
\author{Weidows}
\date{\today}
\begin{document}
\maketitle
$$ \alpha^{2} + \beta = \Theta $$
\end{document}4.VScode 右上角应该有编译标志 (或者按
Ctrl + alt + B
),之后 MikTaX 应该会提醒你下载宏包 (因为软件本身很小,没包含进去),选择 China 的镜像源然后等它下载之后会自动编译.
实际效果
完成上面步骤后在.tex 会生成几个文件,比如:
1
2
3
4
51.aux
1.log
1.pdf
1.synctex.gz
1.tex随着 tex 的写入保存,VScode 插件会自动编译更新预览内容.
展示:
报错
这个情况是因为没重启,尝试重启电脑+重启 VScode
Recipe terminated with fatal error: spawn xelatex ENOENT.
Hexo 导航栏点击不跳转
一般只有启用 KaTeX 的页面会出现这个错误
问题原因是一级标题
1
2
3
4
5# 1
xxxx
# 2
xxx找到作者在 issue 中回复过,行文要用二级标题而非一级,解决了跳转问题
1
2
3
4
5## 1
xxxx
## 2
xxx
公式渲染
误区
渲染 LaTeX 文档 != 渲染公式
我们上面使用 MikTaX 渲染 LaTeX 文档是为了排版获取指定样式的 PDF 文档 ->
渲染LaTeX文档
而渲染公式是渲染 LaTeX 文档的一部分子功能.
为了让 markdown 中 LaTeX 格式的公式也能得到正确显示,我们抽离出渲染公式这部分引擎 ->
KaTeX/MathJax
->专门用来渲染公式
网页公式渲染
在写 markdown 文章时可能不会注意到这个问题,因为大多数编辑器支持公式渲染 (比如 VScode 预览、CSDN 在线编辑等等),如下图 VScode 内置的 markdown 预览:
但是同样的问题挪到博客上就 GG 了,上面的公式不加处理显示成这样
如何在网页中渲染 LaTeX 公式?
KaTeX
或MathJax
个人倾向在网页端用 Katex,更轻便快速.
!!!需要注意!!! 应用 KaTeX 的页面
不能被压缩
,否则也会变成上面乱套的样子.
Butterfly-KaTeX
需要更换(不换的话有冲突)和新添渲染插件: [7]
1
2npm uninstall hexo-renderer-marked hexo-renderer-kramed --save
npm install hexo-renderer-markdown-it @neilsustc/markdown-it-katex --save_config.yml
中添加配置:1
2
3
4
5
6markdown:
plugins:
- plugin:
name: "@neilsustc/markdown-it-katex"
options:
strict: false展示效果:
公式
tools
强烈推荐 Mathpix, 可以把截图中的公式转为 LaTeX 公式
常用速查表
符号 | LaTeX |
---|---|
\partial | |
\frac{1}{2} | |
\sum_{i=1}^{N} | |
1\quad2 | |
根 | \sqrt{3} |
||x|| | |
真实值 | \hat y |
无穷 | \infty |
并 | \cap |
\theta | |
\mathcal{L} | |
\alpha | |
1\qquad2 | |
绝对值 | |a| 或 \vert |
a \cdot b | |
均值 | \overline y |
向量 | \vec{w} |
交 | \cup |
$\begin{bmatrix}1 & 2\end{bmatrix}$ | |
\begin{Vmatrix}1 & 2\end{Vmatrix} | |
\pi | |
\epsilon | |
\varepsilon | |
\eta | |
\left( 123 \right) |
数学等号对齐-大换行-成对匹配-数学样式数字
1 | \begin{aligned} |
借物表
[3]: 维基百科 - TeX 很详细的介绍了 TeX 是什么东西,也关联介绍了 TeX 衍生的各种引擎/软件.
[4]: 一份其实很短的 LaTeX 入门文档 强烈推荐阅读的文章,无论是介绍,生态,还是使用方面都很通俗易懂.
[5]: KaTeX and MathJax Comparison Demo
[6]: Mathjax 和 katex 的功能比较(VSCode+MPE)
[7]: 来自官方博客的文档: Butterfly 安裝文檔(四) 主題配置-2