著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:李阿玲
链接:
https://www.zhihu.com/question/29816700/answer/46629430
来源:知乎
TeX以及LaTeX中的数学公式的书写,主要是两个方向的问题。第一个问题是源代码如何组织,如何编写,或者说怎么样让代码看起来清晰,维护起来方便快速。第二个问题是对于公式本身的处理,比如如何挑选必要的数学宏包,如何挑选必要的数学字体,如何挑选必要的示意图宏包等。
第一个大问题,源代码的组织。我们通常可以看见下面这样的代码:
关于一元二次方程
的解
实际上我们可以在公式内加入适当的空格,空格并不会影响最终的输出,可以有:
关于一元二次方程
的解
在具体的环境内,我们还可以加入适当的缩进:
更如:
或:
及:
实际上,上面涉及到的公式在代码中换行的问题,只是在小屏幕的时候才建议折成那样。如果你的屏幕足够大,放到一行里也是不错的,但是前提是你需要有一个大大的屏幕。(有个大屏幕,干啥都爽!啊,此处有捐赠广告:欢迎捐赠到我的支付宝13641344123。)
第一个问题下面,还涉及到一些惯用法的问题,也就是说写的时候要注意一些公式的变形形态,换一种形态会让公式和正文相处的更好,比如可以不影响段落之间的间距等。有:

及:

(这些图我说过很多次了……)上图的这些变形形式,其实现在很多编辑都不一定会改成图上的替换形式的,第一是那些编辑们懒的可以,第二是那些编辑缺乏排版相关的修养,所以我一直推荐用户自己调整自己的公式形式。写公式和写文章一样,遣词造句很重要,写文章要换词语,写公式也自然要考虑到用什么好的合适的形式。
第二大点涉及到的其实是技术问题而已,上一个问题其实是任何写程序的人都会碰到的一个习惯问题而已。技术问题的解决,就是要看足够多的reference,文章也好,书籍也好。标准的LaTeX2e在底层封装了不少继承自plain TeX中的数学符号。但,实际上,LaTeX中既有的数学符号和环境是远远不够写数学类文章的。
LaTeX环境下,最重要的数学宏包是AMS系列的。首先是这些主要提供环境的包:
- amsmath,最基本的数学包
- amscd,绘制交换图
- amsthm,制作引理
- amsxtra,对于旧式数学式的支持
- upref,Roman体的\ref输出
 
下面是提供字体的包:
- amsfont,定义了\mathfrak和\mathbb,另有诸多符号
- amssymb,另一个定义了诸多符号的包
- eufrak,Euler Fraktur
- eucal,定义了Euler字体版本的\mathcal
 
对于AMS-Math,需要掌握下面最基本的几个环境:
- equation equation* 单行单公式
- multline multline* 多行公式,没有对齐操作,只给一个公式编号
- gather gather* 多个公式,可添加多个公式编号
- align align* 多个公式对齐,但只能对齐公式内部的一个部分
- flalign flalign* 多个公式对齐,可对公式内的多个部分
- split 分割公式
- gathered 和gather的区别是放在了一个minipage里
- aligned 也是minipage的问题
 
此外需要掌握的就是大量的符号是怎样的,比如\langle、\rangle这种东西。还有下面这种东西(请各位看好图例,主动加载相关的宏包):

及:







还有符号上需要叠加的重音符啥的:

还有一点需要注意的是数学公式的间距,有几个命令需要用到:
