简介
LaTeX是一种排版语言,最早是由计算机算法的祖师级人物高德纳开发,对程序员来说,可以理解成一个高高高阶版的Markdown。据说在排版这一块,没有LaTeX做不到的,并且尤其擅长编写数学公式,因此最常使用的是撰写理工科论文。实际上他还可以排版简历,PPT,甚至设计日历。LaTeX的编译结果通常是PDF文档,我们在做一些系统功能的时候,也会遇到生成PDF的需求,如果使用PDFBox之类的SDK去绘制,你会非常头大,但如果先生成纯文本的LaTeX,再编译成PDF也许会简单很多,也容易维护很多。
笔者最近在准备写论文,但是光写开题报告,就被Word折腾的不轻,Word虽然是所见即所得,但是你见到了却不一定知道怎么修改,总是莫名出现一些缩进,字体字号常常出现不一致。作为一个程序员,我宁愿选择一个学习曲线更陡峭,但是我能清晰操控各种样式的写作方式。更重要的是,LaTeX管理参考文献也更高效,完全不用去研究格式,编号之类的,用ID关联好,剩下就交给编译器了。
下面的表格是Word与LaTeX的对比。
Microsoft® Word | LaTeX |
---|---|
字处理工具 | 专业排版软件 |
容易上手,简单直观 | 容易上手 |
所见即所得 | 所想即所得 |
高级功能不易掌握 | 进阶难,但一般用不到 |
处理文档需要丰富经验 | 和文档处理基本无异 |
花费大量时间调整格式 | 无需担心格式,专心作者内容 |
公式排版差强人意 | 尤其擅长公式排版 |
二进制格式,兼容性差 | 文本文件,易读,稳定 |
付费商业许可证 | 自由免费使用 |
发行版和编译器
LaTeX的编辑环境比一般的开发环境难搞。首先他有各种不同的发行版,TeX Live,TinyTeX等等,类似Linux的CentOS, Ubuntu之类的概念。
发行版里面又有latex、pdflatex、luatex、xetex等不同的编译器。不同的编译器有不同的能力,比如标准版的latex是不支持Unicode的,也就无法写中文了,luatex支持中文甚至支持写lua脚本。此外,同一个宏包在不同的编译器中也有不同的表现!!!
对新手来说,选择这些东西都要晕。用好ChatGPT,可以解决很多问题。
宏包
LaTex跟一般的编程语言类似,首先有一套基础的语法。在此基础上,你可以把代码或配置打包成不同的工具包,LaTeX中叫宏包,类似编程语言的第三方SDK的概念,并且可以使用包管理器来安装这些宏包到环境中,比如TeX Live的包管理tlmgr,性质与python的pip,nodejs的npm类似。
安装Tex Live
推荐使用的发行版是 TeX Live, 支持Unicode(中文等)的编译器是xetex/xelatex(同一个东西的两个别名)。对中文新手来说,推荐使用这个配置入门。
TeX Live 是一个跨平台的发行版,在windows,Linux,Unix/MacOS上都有一致的使用体验。各类开发工具也是优先推荐用这个发行版。我们就简单介绍他的安装。
温馨提示:如果下面的安装过程对你来说有困难,可以先尝试后面提到的Overleaf,后续文章还会介绍容器方式,请保持关注。
LaTeX本身用不了多少空间,但是他涉及的各种宏包会很多,对于新手来说,也是建议全部安装避免出错,官网的安装教程也是默认把四千多个宏包全部安装了。但是默认的安装过程是联网安装会比较慢(两个小时起步),所以建议使用iso的方式,iso里面已经包含了四千多个宏包,提高了下载效率,缩短了安装时间。
iso镜像获取说明 https://www.tug.org/texlive/acquire-iso.html , 国内源的iso直达链接https://mirror.nyist.edu.cn/CTAN/systems/texlive/Images/texlive.iso
挂载ios镜像之后,windows点击install-tl-windows.bat
脚本。Linux/Unix/MacOS 运行perl ./install-tl --no-interaction
(没错,还需要安装perl执行环境,不过大部分系统都会内置,所以可以先跑一下试试)。
Tex Live的包管理工具是tlmgr,比如你需要安装ctex宏包,就用命令行tlmgr install ctex
即可。
编辑器
TeXStudio是用的最多的专业编辑器。其他还有TeXworks、TeXShop、TeXmaker、WinEdt 等。
除此之外,各类代码编辑器都有LaTeX扩展可以使用,比如VSCode、JetBrains等,对于熟悉代码编辑器的程序员来说,可以减少学习一个新软件的成本。
Overleaf
Overleaf 是一个LaTeX在线编辑器,如果不喜欢安装搞环境的推荐直接上Overleaf,但是他作为一个SaaS服务也不可能用爱发电,他对内容的编译时长有限制,适合体验测试和简单排版。内容过多恐怕就得付费了。
同时,Overleaf还附带一个模板库,你可以免费下载别人共享的各种模板,种类也非常丰富。
结语
LaTeX虽然强大,但是学习曲线也会更陡峭,收益也更高。你会获得一些大众无法得到的资源,比如Overleaf上海量的精美的免费模板。熟练使用之后不用鼠标就可以完成各种排版工作,而且排版更清晰美观。希望通过我的一系列介绍文章,让更多人可以在这里获益。
接下来我会提供一个开源的LaTeX编译容器,并介绍一套基于AI的工作流,使你用LaTeX真的像Markdown一样方便。