LaTeX-环形使者
{% pullquote mindmap mindmap-md %}
{% endpullquote %}
-
好奇学术论文是怎么写的吗? 此文章尽做大努力把什么是 Tex 系统给你整闭环了 😁
TeX 生态的名词简直太 ☘ 了,翻阅了很多中英文文档/社区整理了这个图,差不多可以总结 TeX 生态常见/常用的引擎和发行软件.
安装
-
1.在 win 下推荐用
MikTaX
吧,主流而且比较小. scoop-main 仓库中的 latex 实际上就是 最小安装版本的 MikTaX,试了一遍这个 latex 最好,其他的要么下载失败,要么安装报错 😡😡😡.scoop install latex
-
2.然后在 VScode 中安装
LaTeX Workshop
这个插件,进入 VScode 配置里复制粘贴下面配置://! 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
的文件,注意路径和文件名不要有中文,测试内容如下:\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.aux 1.log 1.pdf 1.synctex.gz 1.tex
随着 tex 的写入保存,VScode 插件会自动编译更新预览内容.
-
展示:
报错
-
这个情况是因为没重启,尝试重启电脑+重启 VScode
Recipe terminated with fatal error: spawn xelatex ENOENT.
-
Hexo 导航栏点击不跳转
一般只有启用 KaTeX 的页面会出现这个错误
问题原因是一级标题
# 1 xxxx # 2 xxx
-
找到作者在 issue 中回复过,行文要用二级标题而非一级,解决了跳转问题
## 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]
npm uninstall hexo-renderer-marked hexo-renderer-kramed --save npm install hexo-renderer-markdown-it @neilsustc/markdown-it-katex --save
-
_config.yml
中添加配置:markdown: 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) |
数学等号对齐-大换行-成对匹配-数学样式数字
\begin{aligned}
o^1(0) &= sgn(W^T(0)X^1)
\\&= sgn(2.5) = 1
\\ \ \\
W(1) &= W(0) + \eta \left[d^1 - o^1(0)\right]X^1
\\&= (0.5,1,-1,0)^T + 0.1 (-1 - 1)(-1,1,-2,0)^T
\\&= (0.7,0.8,-0.6,0)^T
\\ \ \\
W(2) &=W(1) + \eta \left[d^{2}-o^{2}(1)\right] X^{2}
\\&= (0.7,0.8,-0.6,0)^{T} + 0.1 [- 1-(- 1)](-1,0,1.5,-0.5)^{T}
\\&= \left(\mathbf{0.7,0.8,-0.6,0)^{T}}\right.
\end{aligned}
借物表
[3]: 维基百科 - TeX 很详细的介绍了 TeX 是什么东西,也关联介绍了 TeX 衍生的各种引擎/软件.
[4]: 一份其实很短的 LaTeX 入门文档 强烈推荐阅读的文章,无论是介绍,生态,还是使用方面都很通俗易懂.
[5]: KaTeX and MathJax Comparison Demo
[6]: Mathjax 和 katex 的功能比较(VSCode+MPE)
[7]: 来自官方博客的文档: Butterfly 安裝文檔(四) 主題配置-2