LaTeX应该无需多少介绍。
- LaTeX 是一种基于 TeX 的排版系统,由 Leslie Lamport 在 1980 年代开发的,广泛用于学术和技术文档的撰写,尤其是在需要复杂公式排版和精密排版的领域,如数学、物理、计算机科学等。
- TeX 是一种用于高质量排版的计算机语言,由美国计算机科学家 Donald Knuth 于 1978 年开发。它的设计初衷是为了提供一种能够生成精美排版的工具。
- 有不同的发行版可用,Tex Live、MiKTex、MacTex、proTeXt以及TinyTex等。
简单的Tex文档
这个东西不能去类比Word等软件,可以类比C++等语言。
创建一个简单的文本文档,比如 debao.tex:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
要将.tex转成pdf文件,需要执行一条编译指令,比如:
1 |
|
早期的做法是(20年前刚接触latex时)先转成.dvi,而后再转.pdf或.ps格式:
1 2 |
|
除了pdflatex,还有xelatex、lualatex等工具。如果我们要使用中文的话,最简单就是使用xelatex
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
注意文档类使用ctexart、ctexrep、ctexbook取代article、report、book。
编译:
1 |
|
当有目录或交叉引用时,命令需要执行两次或以上。可以用脚本(比如latexmk)、预置菜谱(recipe)或其他方式进行自动化。
相关Tex工具:
- pdflatex: 将 .tex 文件直接编译为 PDF 文件。最常用的编译器,适合国外大多数场景【因没有Unicode,对中国用户不太友好】。
- xelatex: 支持 Unicode 编码和 OpenType 字体,适合编写多语言文档或需要使用系统字体的场景。【中文简单】
- lualatex: 与 xelatex 类似,支持更复杂的字体和图形处理,基于 LuaTeX 引擎。
- latex + dvipdf: 先将 .tex 文件编译为 DVI(Device Independent File Format)文件,再将 DVI 转换为 PDF 或 PS 格式。【老旧的工作流】
- bibtex: 一个用于管理文献引用的工具。它通过一个 .bib 文件来存储文献信息,并且可以在 LaTeX 文档中自动生成参考文献列表。
- latexmk:一个perl脚本,会自动运行多次 LaTeX 编译,直到所有引用、索引和参考文献等问题都得到解决。
在线公式编辑器
有很多在线公式编辑器:
还有一个平台:
LaTeX Workshop 扩展
LaTeX Workshop 是 VS Code 中最流行的 LaTeX 插件,它可以帮助编写、编译 LaTeX 文档,并提供实时预览、语法高亮、自动补全等功能。
只要保证Latex在系统环境变量PATH内,在VS Code中安装LaTex Workshop,就直接可以用了。
- 文件:新建.tex,并编写内容。确保在编译之前 .tex 文件已保存 (Ctrl+S 或 Cmd+S)。
- 编译:按下 Ctrl+Alt+B(Windows/Linux)或 Cmd+Alt+B(macOS),触发 LaTeX Workshop 的编译命令。默认情况下,它会使用 pdflatex 进行编译,并生成一个 PDF 文件。
- 预览 PDF:编译完成后,LaTeX Workshop 会自动在 VS Code 中显示生成的 PDF 文件。如果没有自动显示,可以点击右上角的 LaTeX Workshop 面板图标 来手动打开 PDF 预览窗口。
自定义配置
用于熟悉vscode,记录一下
LaTeX Workshop 支持多种编译器,如 pdflatex、xelatex、lualatex 等。通过修改 VS Code 的设置文件 (settings.json),我们可以根据需要自定义编译命令:
- 在 VS Code 中,打开命令面板(Ctrl+Shift+P 或 Cmd+Shift+P),在搜索框中输入 Preferences: Open 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 |
|
latex-workshop.latex.tools:这个配置项定义了可用的工具(即编译器),例如 pdflatex、xelatex、lualatex。每个工具都有一个名称(name)和对应的命令(command),以及传递给命令的参数(args)。
latex-workshop.latex.recipes:这个配置项定义了编译的 "食谱"(recipes),即在编译时要调用哪些工具。每个 recipe 都会指定一个或多个工具。
要使用自定义工具:
- 按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)打开命令面板。
- 输入并选择 LaTeX Workshop: Build with recipe。
- 弹出的菜单,会列出前面在 latex-workshop.latex.recipes 中定义的编译器选项(pdflatex、xelatex、lualatex)。
- 直接选择需要的编译器,而后VS Code 使用选择的编译器进行编译。
如果要固定使用一个,可以在配置文件内配置:
1 |
|
或者
1 |
|
VSCode、TexXworks、TeXstudio
这三个可以简单对比一下:VS Code 在灵活性和多语言支持上强于 TeXworks,但在 LaTeX 专用功能和集成方面略逊于 TeXstudio。
特性/方面 | VS Code + LaTeX Workshop | TeXworks | TeXstudio |
---|---|---|---|
平台支持 | Windows, macOS, Linux | Windows, macOS, Linux | Windows, macOS, Linux |
安装与配置难度 | 中等,需安装 LaTeX Workshop 插件并进行配置 | 低,开箱即用 | 低,开箱即用 |
界面现代化程度 | 现代化,支持自定义主题和 UI | 简单且基础 | 相对传统,功能丰富但界面较老旧 |
LaTeX 功能集成 | 通过插件支持,功能较强但需配置 | 基础功能集成,适合初学者 | 专为 LaTeX 设计,功能全面 |
PDF 预览 | 内置 PDF 预览,支持 SyncTeX | 内置 PDF 预览,支持 SyncTeX | 内置 PDF 预览,支持 SyncTeX |
语法高亮与自动补全 | 支持语法高亮和自动补全,需插件 | 支持基础的 LaTeX 语法高亮 | 支持语法高亮、自动补全以及命令建议 |
项目管理支持 | 强,支持多文件、多项目工作流 | 无项目管理功能 | 支持基本的 LaTeX 文档结构和多文件管理 |
自动编译 | 通过插件支持(可配置) | 需要手动编译 | 支持自动编译功能 |
错误提示与调试 | 提供详细的编译错误提示,需插件 | 提供基础的错误提示 | 提供详细的错误提示和定位功能 |
模板支持 | 通过插件或手动配置 | 无内置模板支持 | 内置丰富的模板库 |
扩展性与插件支持 | 高度可扩展,拥有丰富的插件生态系统 | 扩展性有限,无法安装插件 | 扩展性有限,但自带大量 LaTeX 功能 |
版本控制 | 支持 Git 集成,强大的版本控制功能 | 不支持 Git 集成 | 不支持 Git 集成 |
适用人群 | 需要多语言支持和自定义工作流的用户 | LaTeX 初学者,简单文档需求 | LaTeX 进阶用户,复杂文档管理 |
参考
- https://github.com/James-Yu/LaTeX-Workshop
- https://www.tug.org/texlive/
- https://miktex.org/
- https://mathjiajia.github.io/vscode-and-latex/
- https://jdhao.github.io/2018/03/29/latex-chinese.zh/