主题 : 开启Word公式的隐藏技能
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 605026
威望: 529007 点
无痕币: 14 WHB
贡献值: 0 点
在线时间: 62138(时)
注册时间: 2008-12-25
最后登录: 2024-04-23

0 开启Word公式的隐藏技能

公式编辑器是理工科生们必须要用到的东西,在编写论文甚至只是写一篇课程作业的过程中,都要用公式编辑器来编辑公式。如果你用的是WPS,或者用MathType,或者是Word 97-2003中的公式编辑器,那么这里暂且不论,只说说Word 2007及之后的版本下公式编辑器的那些隐秘的技能。这里使用Word 2016做演示,有的功能可能较低版本中没有。
一、修改字体
1.数学字体
几乎所有的期刊论文、学位论文都要求使用Times New Roman字体进行书写。有的期刊对公式的字体要求不严格,可以使用LaTeX排版系统的默认字体Computer Morden书写;国内的期刊则一般使用的是方正的那套白正体;有的期刊则要求较严格,公式也要Times New Roman字体书写。但是用Word公式进行公式编辑,字体只能是Cambria Math字体,手动更改为Times New Roman不会起效果,公式的设置中也只有Cambria Math这一种字体。这导致我们现在无法把公式的字体和文本的字体统一设置为Times New Roman,除非你文本使用Cambria字体,而这往往是不合适的。
以下两段内容参考自刘海洋所著《LaTeX入门》一书:
产生这个问题的原因是,公式的排版往往比普通文本更复杂,字体的多种参数都需要调整,字号是最经常调整的一个参数。而且公式中会遇到非常多数学字符,有的是从希腊文中借用的,如圆周率:

有的则是数学家创造的,如积分号:

因此,不是随便一个字体都可以用来公式的排版。
在Unicode编码标准下,可以实现对各种常用字符和特殊字符的编码,因此特殊符号多已经不是问题。STIX字体项目组经过不懈努力,让Unicode 3.0版本中加入了大量的数学字体。但是,常用的字体文件格式,不论是TypeTrue还是OpenType,在早期对数学字体的支持缺乏统一的标准,而“将其与Unicode标准相统一则更难”,更何况还有共识排版中非常复杂的格式调整。为了解决这个问题,微软基于OpenType字体文件格式开发了一套“数学参数表”,以提高Word软件共识排版的能力,同时还设计了Cambria Math数学字体。而没有数学参数表的字体,则无法在Word公式中使用。
2.在公式中使用含有数学参数表的字体
目前含有数学参数表的字体比较多,字体风格各异。与Times New Roman比较相似的字体就是XITS和XITS Math了。前者用于正文,后者用于公式。除此之外还有刚刚说到的STIX,只是XITS是STIX的扩充。还有Asana Math、TG Termes Math等,都可以用。下面以XITS为例。
这个字体的安装和使用都是非常省心的。字体文件可以在Github上下载。
安装好后,打开Word,创建一个公式,在公式的设置中即可看到新的字体出现了。

然后随意创建一个公式,就可以看到字体风格和Times非常接近了。

当然这套字体和Times New Roman还是有一定区别的,可以对比看一下
▼Time正体

▼XITS正体

▼Times斜体(代表数学字体)

▼XITS Math斜体

可以看到斜体的差别主要体现在v和w两个字母上,而且Times斜体比较窄。但是这几乎已经达到了“以假乱真”的程度。
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 605026
威望: 529007 点
无痕币: 14 WHB
贡献值: 0 点
在线时间: 62138(时)
注册时间: 2008-12-25
最后登录: 2024-04-23

二、快捷输入
1.特殊字符的快捷输入
数学公式中难免会遇到非常用字符,我们统称特殊字符,比如希腊字母、特殊运算符、手写体符号、字母类符号、箭头、求反关系运算符。Word功能区中可以找到这些符号,但是如果每次都去找,那效率太低了。我们考虑如何键盘输入。
在TeX排版系统中,对这些键盘上没有的字符起了“别名”(是一个命令),如

的命令是\alpha,右箭头的命令是\rightarrow。Word公式借鉴了这样的方法,当你在Word公式中,输入\alpha,再敲空格、输入等号或者使用功能区中的按钮将“线型”转换为“专业型”,就可以看到对应的字符。
如何获取这些特殊符号的命令?一种方法是查询TeX排版系统的命令,用某搜索引擎搜一下“LaTeX数学符号表”,就会出现大量的资料。还有一种方法是,在Word公式输入特殊符号的功能区中,找到对应的字符,鼠标悬停一会儿,有的字符会提示出它对应的命令。

当然,如果你输入左右箭头,那么还有更方便的方法,直接输入<-或者->即可。
2.大型运算符和括号的输入
大型运算符包括求和运算符

积分运算符

以及求积运算符

还有他们的变体,如三重积分运算符

这些运算符本身也是一个特殊字符,可以按照上面特殊字符的输入方式输入。例如,当你输入积分运算符对应的命令\int并敲击空格后,就可以出现积分运算符

下一步是把这个特殊符号变成大型运算符。很简单,当出现特殊符号表示的运算符后,再敲击空格或者手动转换为专业型,就变成了大型运算符。

如果大型运算符有上下标,则在输入号大型运算符后输入上下标,然后再转换为专业型。例如输入

然后就可以变成

3.特殊格式的快捷输入
特殊格式最常用的就是上下标,在LaTeX中,上标用^后面的字母表示,下标用_后面的字母表示,^和_只把其后的第一个字符认为是上标或下标。但是在word中,把^或_后面的所有字符都变成上标或者下标,除非遇到了+、=、_、^等会直接引起公式转换为专业型的字符为止。
如果要输入

这样的运算符该怎么一次输入成功而不会出现

这样的情况呢?在输入了_或^后,使用一对圆括号()将字符包裹起来,输入完成后,转换为专业型,圆括号就会自动消失了。

的输入方法是\sum_(i=1)^n。
这里要说明的是,在按照TeX的排版风格,如果是一行中既有普通文本又有公式,那么公式属于“行内公式”,行内公式应不引起行距的变化。如果一行只有公式,那么是“行间公式”,可以随意改变行距。因此,行内的上下标和行间的上下标可能不同,例如

和下面这个公式。

4.分数的输入
类似于上下标的输入,将分数线用/代替,写好分数后,会自动转换为标准的分数格式。例如

但是,转换为分数形式的时候,也不一定是分数线之前的所有内容作分子,后面的所有内容作分母。Word的处理应该是从分数线开始分别向两个方向搜集字符,一旦遇到+、-、=等符号,就会停止搜索,将搜集到的字符转换为分数线形式。
5.字符修饰符的输入
有的时候会有“戴帽子的字符”,如:

其中的

是一个特殊字符,命令为\hat。对于这样的字符进行输入,既可以先输入一个\hat,敲击空格将其变为特殊字符,再敲空格,就变成了字符修饰符,它下面的方框中可以输入字符。也可以先输入字符a,然后输入一个\hat,敲击空格将其变为特殊字符,再敲空格,这个修饰符就自动到了a的上面。
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 605026
威望: 529007 点
无痕币: 14 WHB
贡献值: 0 点
在线时间: 62138(时)
注册时间: 2008-12-25
最后登录: 2024-04-23

三、矩阵的快捷修改
Word中给出的矩阵,都是不超过3阶的。但是我们经常遇到的是更高阶的矩阵,这里也有好办法。
我们可以先插入一个矩阵,如一个3*3的

然后如果扩展矩阵,可以在你想插入位置的上方或下方的矩阵格中单击右键,找到插入,就可以插入行和列了。

如果想在某一行后面扩展行,也可以采用键盘输入。在该行最后一列的元素后面输入@,然后敲击空格,就扩展了行。如果想扩展列,可以在最后一列的一个元素后面输入&,然后敲击空格,就扩展了列。
四、公式编号
1.编号右对齐
在Word中对公式进行编号右对齐一直是非常麻烦的事,网上有多种解决方案。一种是在行间公式后面敲击Ctrl+Alt+Enter,生成一个“不换行的换行符”,然后利用制表位输入编号。笔者试了一下,经常出现各种问题,而无法达到效果。另一种是利用两个制表位,一个在页面中间居中,一个在页面最右侧右对齐,前者对齐公式,后者对齐编号。但是这样会破坏行间公式的行间属性,变成行内公式。还有一种是利用两列表格,第一列居中,第二列右对齐。但是这导致了换行的产生,如果段前段后有间距,还有首行缩进,则公式和后面的段落需要手动调整。
还有一种方法,是笔者比较推荐的。当我们输入完成行间公式,在后面输入一个#,如

然后在#后面输入公式编号,将公式转换为专业型,就可以看到公式编号右对齐了。


这种方法笔者感觉效果最好。唯一的问题是,编号是数学形式的,在引用时需要手动转为普通文本。
2.编号的自动生成
利用Word的域,可以自动生成编号。如果编号不用和任何章节挂钩,则使用下面的域即可{ SEQ公式\* Arabic \* MERGEFORMAT }。域可以用文档部件中的域生成对话框生成,也可以按Ctrl+F9后手动输入。SEQ表示一个编号序列,后面的“公式”就是这个序列的标识符。
如果你的公式需要和一级标题挂钩,则需要两个域,一个是{ STYLEREF"标题1" \n \t \* Arabic \* MERGEFORMAT },另一个是{ SEQ公式\* Arabic \s 1 \* MERGEFORMAT }

STYLEREF这个域的功能是引用某一样式当前位置的值,如果是引用标题1,就相当于是引用了一级标题,后面加入了\n命令表示只插入编号,\t命令可以去掉编号后面所有的文字。SEQ域加入了\s 1这个命令,表示编号与1级标题挂钩,如果1级标题更新了,编号从1开始。将这两个域用.连接,然后括号括起来,就变成了公式编号。
如果每次都这样做太麻烦,可以把这部分文字变成“自动图文集”,在功能区中的“文档部件”下可以找到自动图文集。

选上刚刚写好的公式编号,就可以“将所选内容保存到自动图文集”。填入一部分信息。

确定即可。下次直接使用该图文集,打开文档部件就可以看到了。
级别: 九滴秋露
UID: 2840
精华: 0
发帖: 32712
威望: 121596 点
无痕币: 123293 WHB
贡献值: 0 点
在线时间: 27244(时)
注册时间: 2007-12-04
最后登录: 2024-04-20

应该好好学习的
级别: 六行秋雁

UID: 5568
精华: 0
发帖: 5158
威望: 11268 点
无痕币: 63 WHB
贡献值: 0 点
在线时间: 487(时)
注册时间: 2007-12-21
最后登录: 2024-04-23

谢谢楼主分享,了解了     
级别: 七朵秋菊
UID: 103114
精华: 0
发帖: 3674
威望: 47476 点
无痕币: 4464 WHB
贡献值: 1 点
在线时间: 827(时)
注册时间: 2010-09-22
最后登录: 2024-04-19

这个确实是好东东,公式是很方便的,但觉得版本高了后反而不如以前方便和舒服了.
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 605026
威望: 529007 点
无痕币: 14 WHB
贡献值: 0 点
在线时间: 62138(时)
注册时间: 2008-12-25
最后登录: 2024-04-23

这个可以看看,了解一下。
级别: 六行秋雁
UID: 296431
精华: 0
发帖: 1872
威望: 9174 点
无痕币: 14948 WHB
贡献值: 0 点
在线时间: 58(时)
注册时间: 2018-02-24
最后登录: 2024-04-21

好资料。。。。
级别: 八片秋叶
UID: 70936
精华: 0
发帖: 4055
威望: 56429 点
无痕币: 75 WHB
贡献值: 0 点
在线时间: 708(时)
注册时间: 2008-12-23
最后登录: 2024-01-24

进来学习学习................
级别: 七朵秋菊

UID: 57456
精华: 0
发帖: 4617
威望: 27208 点
无痕币: 1974 WHB
贡献值: 0 点
在线时间: 4329(时)
注册时间: 2008-10-03
最后登录: 2024-04-23

进来学习一下
沙上并禽池上暝,云破月来花弄影
Total 0.043975(s) query 4, Time now is:04-23 23:59, Gzip enabled 粤ICP备07514325号-1
Powered by PHPWind v7.3.2 Certificate Code © 2003-13 秋无痕论坛