OpenOffice.org Math
完全教程
by
周桂地@青岛
email: zhouguidi@gmail.com
blog: http://zhouguidi.blog.51cto.com/
Edition 2
Dec, 2010
目录
1.简介...................................................................................................................................................1
2.基本知识...........................................................................................................................................1
2.1.Math的操作方式......................................................................................................................1
2.2.公式的组成...............................................................................................................................4
2.3.复合元素...................................................................................................................................4
2.4.文本、空格、换行和注释.......................................................................................................4
2.5.更改默认字体...........................................................................................................................5
3.运算符...............................................................................................................................................6
3.1.基本运算...................................................................................................................................6
3.2.关系运算...................................................................................................................................6
3.3.集合运算...................................................................................................................................7
3.4.其他运算符...............................................................................................................................7
3.5.大型运算符...............................................................................................................................7
3.6.独立修饰符...............................................................................................................................8
3.7.依附修饰符...............................................................................................................................8
3.8.上下标.......................................................................................................................................8
3.9.向量和矩阵...............................................................................................................................9
4.函数...................................................................................................................................................9
4.1.内置函数...................................................................................................................................9
4.2.自定义函数.............................................................................................................................10
5.括号.................................................................................................................................................10
6.内置常量及其他符号.....................................................................................................................11
7.自定义运算符.................................................................................................................................11
8.格式控制.........................................................................................................................................12
9.OpenOffice Math公式与MathType公式的互相转换..................................................................13
9.1.OOo → MathType...................................................................................................................14
9.2.MathType → OOo...................................................................................................................14
10.示例...............................................................................................................................................15
附录....................................................................................................................................................18
1.希腊字母表.....................................................................................................................................18
说明:
本教程为原创文章,请保持文章内容的完整性。允许自由分发,但请注明作者出处,否
则将追究法律责任。
1. 简介
经常写公式的人,都用过各种公式编辑器,比如Microsoft的公式编辑器MS公式
3.0(Word附带)、MathType等。相比于MS公式 3.0,MathType功能强大的多,也是很多
人使用的公式编辑器。然而,MathType(以及MS公式 3.0)都是采用的都是“所见即所
得”的操作方式,所有的输入都要依赖鼠标在公式编辑器中点击选择各种公式元素来完成。
如果只输入几个简单的公式,这没什么问题。然而,如果你面临的是一篇充满公式的科技论
文,甚至是一本数学书,那么我想不管是谁也会发抖的。虽然可以使用内置的许多快捷键来
加速操作,但要快速准确的按下这么多快捷键也不是一件容易的事。而且,还有一个重要的
问题——这些软件都是商业的,你需要向软件开发者支付一笔价格不菲的费用。当然,除非
你觉得版权问题无所谓,从而心安理得的使用破解软件。
除了微软的Office软件之外,Oracle(以前是 Sun)的OpenOffice.org应该是最流行的一
种办公软件了。它功能上的强大并不亚于MS Office,有 Linux、Windows和Mac版本,而
且是开源软件,你可以自由获取使用它,甚至如果可能,你可以修改并重新发布它。
OpenOffice.org于MS Office 同样属于所见即所得的编辑模式,然而它的组件之一——
OpenOffice.org Math公式编辑器却采用“所想即所得”的方式。使用它,你不需要频繁的切
换于键盘和鼠标之间,可以不受任何打扰地将存在于你头脑中的公式像流水一样的输入到文
档中。这是通过Math使用的公式解释语言来完成的。只要你掌握这种简单高效的语言,你
就能将你的公式像说一段自然语言一样“说”出来。Math 提供的各种公式元素和公式控制
符号能够让你轻松输入极其复杂的公式。事实上,OpenOffice.org Math也提供了类似 MS公
式 3.0和MathType的依靠鼠标点选来输入的操作方式,以提供一个直观的输入感受,使习惯
MS公式 3.0 或 MathType的用户能够继续使用其熟悉的输入方式并逐渐过渡。但这并不是推
荐的方式。
另外,MS Office和OpenOffice.org之外,LaTex也是使用十分广泛的排版工具。它完全
采用所想即所得的理念,一篇文档的任何输入、编辑、格式控制都是通过其命令语言来完成
的,当然也包括公式。与MS Office和 LaTex相比,OpenOffice.org可以说是一种折衷:其文
档编辑(OpenOffice.org Writer)是所见即所得的,而公式编辑是所想即所得的。这使得熟悉
MS Office的人可以快速转移到 OpenOffice.org,而不需要去学习大量的命令;同时又使公式
的编辑变得十分高效。同时,有一个OOoLatex 插件可以让你在OOo中输入 LaTex 风格的公
式。
这篇文章就来详细介绍一下OpenOffice.org Math的使用,让我们一起来享受输入公式的
乐趣吧~因为作者水平有限,所以里面出现什么问题也是很正常的,发现什么问题可以给我
发邮件,或在博客上留言。文章写的比较系统,所以有些地方显得有点细琐,不过我相信耐
心看完的话(毕竟才这么几页,呵呵)一定会对 Math 达到比较熟练的程度的。主要参考资
料是OpenOffice.org和Math 帮助文档和陈珂写的《OpenOffice.org 排版指北》,
http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=136728,并参考了互联网上的一些资料,在
此表示感谢。
2. 基本知识
2.1. Math的操作方式
使用Math编写公式,既可以启动单独的Math程序独立的编写并保存公式,也可以在
1
Writer中一边写文章,一边以OLE 对象的方式与Math 交互。
OLE方式的启动方法很简单,就是通过菜单“插入-对象-公式”来进行(见图 1)。
图 1: 在OOo Writer中插入Math公式对象
也可以通过在Writer中设置快捷键来加速这一过程。设置快捷键的方法为菜单“工具-
自定义”(图 2),在“键盘”标签页中选定要设置的快捷键(如 F4),然后在左下角的
“类别”里选择“插入”,在“函数”里选择“公式”,然后单击“修改”按钮即可。这样
就可以用指定的快捷键(如 F4)来快速插入新公式了。
图 2: 自定义键盘快捷键
2
插入新的公式后会在Writer 窗口的下方启动一个Math编辑窗口(图 3),在里面通过
代码的方式输入公式,Writer中相应的公式也会随着更新。公式输入完后,按一次 ESC键退
出Math编辑器,再按一次 ESC 取消选中刚刚输入的公式,继续书写文章的其余部分。
图 3: 插入并编辑公式
除了使用代码输入,Math也会提供一个浮动窗口“公式元素”(图 3),里面包含了
大部分常用的公式元素,可以用鼠标交互式的输入。不过作者推荐使用代码输入的方式,这
不但是因为使用代码输入可以输入许多浮动窗口里没有的公式元素,而且全盘采用键盘操作,
其带来的便捷将大大提高你的工作效率,同时代码输入方式也能带来愉悦的输入体验。
另外,Writer也提供了快速输入公式的功能。在Writer中写文章的同时,直接键入公式
代码,例如 2 over 3,然后选中这些代码(可以用 shift+方向键),点击菜单“插入-对象-公
式”(或按刚才设好的快捷键如 F4),Writer 就会调用Math将这些公式代码直接转换成公
式对象,非常方便。
这篇教程只介绍代码输入方式,并鼓励读者全盘采用键盘操作,对写公式过程中每个可
能的操作,作者都给出了键盘操作的方法。按照这些方法,整篇文章的公式输入过程中不需
要任何鼠标操作,能够大幅提高工作效率。
要选中文档中的一个公式,也可以采用快捷键的方法。Shift+F4选中文中第一个公式或
当前光标位置后的第一个公式。选中之后按 Tab键和 Shift+Tab在下一个/上一个公式中移动,
Enter编辑选中的公式,ESC 取消选择。
如果需要输入带编号的公式,可以通过自动图文集的功能来实现。在Writer中输入 fn
然后按 F3,将启动自动图文集,自动插入一个 E=mc2 的公式,并带一个编号。实现的
原理是,插入一个一行两列的表格,左边单元格放公式,右边放编号,并让公式居中对齐,
编号靠右对齐。默认的编号样式使用阿拉伯数字,且不包括章节号。如果想改变默认的编号
样式,可以把光标移到编号的左括号后面,然后点击鼠标右键,选“字段”,弹出的对话框
里可以选择编号的样式(阿拉伯数字还是罗马数字等)、是否包含章节号以及包含到多少级,
还有章节号的分隔符等。
读者可亲自试验以加深理解和记忆。
3
2.2. 公式的组成
Math采用一种公式解释语言来描述公式。这种语言由各种运算符、保留字、函数、变
量、常量和文本组成。运算符、函数是预定义的,用来表示各种运算;保留字是用于控制公
式显示方式的,它们自身是不可见的;变量是出现在公式中的自变量、因变量;常量一般是
指数字;文本是区别于前面各种公式组成成分的,它用于在公式中显示一些纯文本。另外,
Math允许用户自定义运算符和函数。各种公式成分往往具有不同的外观,如函数、常量和
文本一般显示为正体,变量一般显示为斜体。这也是可以自定义的。
在这篇文章里,我们将用>表示任意一个变量、常量或文本,并将它们称为公式元素。
Math将任何连续的字母(英文字母和希腊字母)、数字视为一个公式元素。公式元素
不能包含空格和运算符。比如
a,abc,a1,123,12a
都是合法的公式元素。而
a b,a+b,a(b
等将被视为两个公式元素。
Math中希腊字母用%+字母名称表示,比如%alpha=> ,%rho=> ,%DELTA=>
,%THETA=> 。
而常用的运算符,比如四则运算等,都与普通写法没什么不同。现在我们可以输入简单
的公式了,比如
z=xy , z=2xy , z=2 xy
等,都是很简单的。
2.3. 复合元素
有些时候需要将多个公式元素一起当作一个来使用,比如下面的公式
xi=1 ,
“i=1”是一起作为 x的下标出现的。如果输入
x_i=1
(“_”是下标运算符)将会出现这样的结果:
xi=1
因为 i=1是两个元素,而下标运算符_只能将其后的第一个元素作为下标。此时需要复
合运算符。
复合元素是用花括号{}来定义的。任何放在花括号里的公式成分都将作为一个单独的公
式元素来使用,而不管其内部有多复杂。因此上面的公式应该表示为
x_{i=1}。
公式元素也可以嵌套,比如
x^{e_1^2}
代表公式
xe1
2
,
其中^是上标(或乘幂)运算符。
下面我们提到公式元素时,都是既包括单一元素,也包括复合元素的。
2.4. 文本、空格、换行和注释
默认情况下,除了常量之外,任何公式元素都是作为变量的。如果想将一个元素设为文
本,则可以用一对双引号将其包围。比如微分算子
4
d y
dx
代码为{d y} over {d x}(over是分式运算符)。我们注意到上面公式中的 d是斜体的,而一
般来讲微分算子 d都用正体表达,怎样才能把它正起来呢?其实 Math是采取了默认行为,
把 d当作变量了,变量的默认字体是斜体的。而文本的默认字体是正体,所以只要改成
{“d” y} over {“d” x}
让 Math 把 d当作文本,就能写出正体的微分算子 d了。即
dy
dx 。
这里又有个小问题,就是分子和分母都没有居中对齐,而是左对齐的,这样有些不好看。
解决的办法我们下面会提到。
前面提过,空格是用来分隔元素的,除了这个作用之外,空格别无其他作用。在其他空
格或运算符已经将元素分开了的情况下,多余的空格都会被忽略。那么如果要在公式中加入
空格怎么办呢?可以用“`”(键盘上 Tab上面那个键)或“~”(shift+`)。`是小空格,~是
大空格。它们都属于公式元素的一种,可以理解为特殊的内置变量。另外还可以用空元素{}
来插入空格,它相当于`,也是小空格。
另外,Math的公式默认都是在同一行显示的,即便你输入了回车符也是一样。因此一
行公式的代码可以分几行输入,这样可以增加代码的可读性。那么如果一个公式太长,想要
让他分几行显示,该怎么办呢?这时候就需要用 newline保留字了,它把其后的公式放在下
一行显示。
为了增加代码的可读性,也可以在代码中加入注释。注释使用%%定义,并一直作用到
一行代码的结束,因此如果使用注释,必须分行写代码了。如果要在公式中显示%和%%,
可以用双引号将之变为文本。
2.5. 更改默认字体
默认的字体在那里改呢?点击“格式”菜单下的“字体”子菜单,将弹出“字体”对话
框(图 4),里面列出了各种公式元素使用的字体。点击右边的“更改”按钮可以改变默认
字体。
图 4: 更改字体
5
3. 运算符
好了,现在我们做好了准备,来看一下Math如何输入基本运算符号吧。下面给出了各
种运算符的用法,每个运算符都给有写法、作用、和一个例子。以下面的第二个运算符为例
(> + > 加号 ab ),> + >是它的写法,它的作用是用作加号,a 代表第一个
>表示的公式元素,b 代表第二个。 ab 是公式的显示结果。较复杂的公式后面还给出了
代码。
3.1. 基本运算
+ > 正号 a
> + > 加号 ab
- > 负号 −a
> - > 减号 a−b
-+ > 可负可正 ∓a
+- > 可正可负 ±a
neg > 逻辑非 ¬a
> * > 乘号(星) a∗b
> cdot > 乘号(点) a⋅b
> times > 乘号(叉) a×b
> and 或 &> 逻辑与 a∧b
> div > 除法(除号) a÷b
> / > 除法(/) a/b
> over > 除法(分式)
a
b
> or 或| > 逻辑或 a∨b
> circ > 连结(圆圈) a°b
3.2. 关系运算
> = > 等于 a=b
> <>或 neq > 不等于 a≠b
> approx > 约等于 a≈b
> divides > 可被除于(竖线) a∣b
> ndivides > 不可被除于 a∤b
> <或 lt > 小于 ab
> >或 gt > 大于 ab
> leslant > 小于等于 ab
> geslant > 大于等于 ab
> <=或 le > 小于等于(等于线是平的) a≤b
> >=或 ge > 大于等于(等于线是平的) a≥b
> <<或 ll > 远小于 a≪b
> >>或 gg > 远大于 a≫b
> def > 定义为 a≝b
> simeq > 相似等于(波浪线下一条直线) a≃b
> sim > 相似于(波浪线) a~b
6
> prop > 正比于 a∝b
> parallel > 平行于(双竖线) a∥b
> ortho > 垂直于 a⊥b
> equiv > 恒等于 a≡b
> toward > 趋近于(箭头) ab
> dlarrow > 左向双箭头 a⇐b
> dlrarrow > 双向双箭头 a⇔b
> drarrow > 右向双箭头 a⇒b
> transl > 对应符号图像(实心点和空心点相连) a⊷b
> transr > 原始对应符号(空心点和实心点相连) a⊶b
3.3. 集合运算
> in > 属于 a∈b
> notin > 不属于 a∉b
> owns > 含有(反向属于) a∋b
> intersection > 交集 a∩b
> union > 并集 a∪b
> setminus 或 bslash > 差集 a∖b
> slash > 商数集 a/b
> subset > 包含于(真子集) a⊂b
> subseteq > 包含于(子集) a⊆b
> supset > 包含(真父集) a⊃b
> supseteq > 包含(父集) a⊇b
> nsubset > 不包含于(非子集) a⊄b
> nsubseteq > 不包含于(非子集或等集) a⊈b
> nsupset > 不包含(非父集) a⊅b
> nsupseteq > 不包含(非父集或等集) a⊉b
3.4. 其他运算符
> oplus > 圆圈加号 a⊕b
> ominus > 圆圈减号 a⊖b
> odot > 圆圈点乘号 a⊙b
> otimes > 圆圈叉乘号 a⊗b
> odivide > 圆圈除号 a⊘b
> wideslash > 大斜杠除号
a
b
> widebslash > 大反斜杠除号 a
b
3.5. 大型运算符
lim > 极限 lim a
sum > 求和 ∑a
prod > 连乘 ∏ a
7
coprod > 合数 ∐a
int > 积分 ∫a
iint > 二重积分 ∬a
iiint > 三重积分 ∭a
lint > 曲线积分 ∮a
llint > 二重曲线积分 ∯a
lllint > 三重曲线积分 ∰a
3.6. 独立修饰符
这些修饰符是可以单独使用的,用于对公式元素进行修饰。
bar > 上短线(一声) a
acute > 右上重音(二声) a
check > 反向抑扬符号(三声) a
grave > 右下重音(四声) a
circle > 上加圈 a˚
tilde > 波浪线 a
hat > 抑扬符号(尖号) a
dot > 上加点(导数) a˙
ddot > 上加双点 a¨
dddot > 上加三点 a
breve > 短音符号 a
vec > 矢量箭头 a
widevec > 宽矢量箭头 abc
widetilde > 宽波浪线 abc
widehat > 宽尖号 abc
overline > 上划线 abc
underline > 下划线 abc
overstrike > 删除线 abc
3.7. 依附修饰符
这些修饰符不能单独使用,必须依附于其他运算符,用来指明其他运算符的上限下限。
from > 下限 ∫
a
x (int from a x)
to > 上限 ∫
a
x (int to a x)
from > to > 上下限 ∫
0
1
x (int from 0 to 1 x)
3.8. 上下标
> ^或 sup > 上标 ab
> _或 sub > 下标 ab
> lsup > 左上标 ab
> lsub > 左下标 ab
8
> csup > 顶标 a
b
> csub > 底标 ab
3.9. 向量和矩阵
binom > > 垂直编排两个元素
a
b
stack {> # > # >} 垂直编排三个元素
a
b
c
matrix {> # > ## > # >} 矩阵 a bc d ,##用于换行,#用于分隔同行的元素
4. 函数
4.1. 内置函数
Math有一些内置函数,当输入它们时默认是正体显示的。下面列出了这些函数。
func e^> 指数函数(上标形式) ea
ln(>) 自然对数 lna
exp(>) 指数 expa
log(>) 对数 log a
sin(>) 正弦 sina
cos(>) 余弦 cosa
tan(>) 正切 tan a
cot(>) 余切 cot a
arcsin(>) 反正弦 arcsina
arccos(>) 反余弦 arccosa
arctan(>) 反正切 arctana
arccot(>) 反余切 arccot a
sinh(>) 双曲正弦 sinha
cosh(>) 双曲余弦 cosha
tanh(>) 双曲正切 tanh a
coth(>) 双曲余切 coth a
arsinh(>) 反双曲正弦 arsinh a
arcosh(>) 反双曲余弦 arcosha
artanh(>) 反双曲正切 artanh a
arcoth(>) 反双曲余切 arcotha
> ^或 sup > 乘幂 ab
sqrt > 开方 a
nroot > > n 次方根 ab
abs > 绝对值 ∣a∣
fact > 阶乘 a!
上面函数中的括号不是必须的。例如 sin(%alpha)将显示为 sin ,而 sin %alpha 显
示为 sin ,他们都是函数。
9
4.2. 自定义函数
上面列出的第一个内置函数写法为 func e^>,其实这就是一个自定义函数。自定义函
数以保留字 func开头,它将后续的第一个公式元素设为函数,以便采用函数的预定义设置
(字体、倾斜等)。可以用这种方式定义任何函数(当然除了保留字以外)。
5. 括号
Math 预定义的各种括号:
(>) 圆括号 a
[>] 方括号 [a]
ldbracket > rdbracket 双重方括号 〚a〛
lline > rline 左右单线(模) ∣a∣
ldline > rdline 左右双线(范数) ∥a∥
lbrace > rbrace 花括号 {a}
langle > rangle 角括号 〈a〉
langle > mline > rangle 运算符括号 〈a∣b〉
lfloor > rfloor 带下檐的左右线 ⌊a⌋
lceil > lceil 带上檐的左右线 ⌈a⌉
注意花括号不能使用{}来表示,这将会定义一个复合元素。
上面这些括号都是固定高度的,也就是说,不论他们括起来的内容有多高,它们总显示
为一个字符高度(比如 [
a2
b ] )。有时候这并不美观,我们想让括号高度随内容变化怎么
办呢?别急,Math 提供了 left … right … 保留字将各种括号变为可变大小的。只要在左括号
前加上 left保留字,在右括号前加上 right保留字,就能实现这一点。比如公式
〚∑n=1
N
xn〛
代码为
left ldbracket sum from n=1 to N x_n right rdbracket。
上面这些括号都必须左右配对,如果只有一半括号,Math是不会识别的。但有时候确
实只想使用一半括号,例如下面的方程组
{y=2x1y=x3
该怎么做呢?如果写成 left lbrace binom {y=2x+1} {alignl y=x+3},是不能正常显示的,因
为 left和 right保留字也是必须配对的!此时 none保留字就很有用了。用 none来代替 right 后
面本来应该出现的 rbrace,就可以使右半括号不显示。即 left lbrace binom {y=2x+1} {alignl
y=x+3} right none。而对于不加 left和 right的固定高度括号,可以在括号前加一个\来完成。
比如,\(、\lbrace等可以单独使用,不需要配对。事实上,这样处理之后的括号就成了一个
普通的字符,它们可以像其他任何字符一样来使用。
此外还有两个垂直方向的括号:
> overbrace > 上花括号 a
b
> underbrace > 下花括号 a
b
,
一般用于表示推导过程。
10
6. 内置常量及其他符号
内置常量包括:
emptyset 空集 ∅
aleph aleph ℵ
setN 自然数集N ℕ
setZ 整数集 Z ℤ
setQ 有理数集Q ℚ
setR 实数集 R ℝ
setC 复数集 C ℂ
infinity或 infty 无穷大 ∞
其他符号:
partial > 偏微分算子 ∂a
nabla 哈密尔顿算子(梯度) ∇
exists 存在 ∃
forall 对任意 ∀
hbar 带横线的 h ℏ
lambdabar 带横线的 lambda ƛ
re 复数的实部 ℜ
im 复数的虚部 ℑ
wp p函数(Weierstrass p) ℘
backepsilon 反向 epsilon ∍
leftarrow 左箭头
rightarrow 右箭头
uparrow 上箭头
downarrow 下箭头
dotslow 下三点
dotsaxis 中三点 ⋯
dotsvert 竖三点 ⋮
dotsup 左下-右上三点 ⋰
dotsdown 右上-左下三点 ⋱
newline 换行
` 小空格
~ 大空格
7. 自定义运算符
Math 提供了用户自定义运算符的功能,主要通过下面三个保留字实现:
oper %... 用户定义运算符
uoper %... > 用户定义一元运算符
> boper %... > 用户定义二元运算符
其中%...部分就是用户自定义的运算符,可以当作一元和二元运算符来使用。想要在公
式中使用特殊字符时此功能将十分有用,可以用来插入不存在于默认 OpenOffice.org 字符集
中的字符。
11
例如下面的公式:
☎
i=1
n
xi
采用了一个特殊字符(电话)。它是这样实现的:点击“工具”菜单下的“图标”,在
弹出的对话框中选择“特殊字符”作为图标组,然后单击“编辑”按钮,在下一个对话框中
(图 5)选择“特殊字符”作为符号集,找到电话符号并点击,然后在“图标”文本框中输
入一个名称(例如 telephone)。单击“新增”,然后单击“确定”,就在“特殊字符”图标
组中添加了一个名为“telephone”的特殊字符。此时就可以在代码中通过 oper %telephone来
使用这个符号了。上面公式的代码为 oper %telephone from i=1 to n x_i。
图 5: 增加新的自定义符号
8. 格式控制
下面这些关键字用于控制公式元素的格式:
color > 指定字符颜色,处为颜色名称*
font > 设置字体,处为字体名称**
bold > 加粗 a
nbold > 不加粗
ital > 斜体 a
nitalic > 不倾斜 a
size n > 大小设为 n磅
size +n >大小增大 n磅
size -n >大小减小 n磅
size *n >大小变大 n倍
size /n >,大小变小 n倍
phantom > 透明字符,只占位置而不显示
alignl > 左对齐***
alignr > 右对齐***
12
alignc > 居中对齐***
注释:
* 可为“black”、“white”、“cyan”、“magenta”、“red”、“blue”、“green”或
“yellow”之一。
** 关于字体,font >中的可以是“serif”、“sans”或“fixed”(即衬线字体、
无衬线字体和固定字体)。这三类字体分别与系统中安装的一种字体对应,并且是可以自行
设定的。单击“格式”菜单下的“字体”,在弹出的对话框下方有这三种字体目前对应于哪
种字体。可以单击“更改”来改变这种对应关系,从而允许在公式中使用系统中的任意一种
字体。
*** 使用 alignc、alignl和 alignr 时要注意,它们只能出现在一个表达式的开头。也就是说,
表达式是作为调整对齐方式的最小单位的。例如 a+alignr b是错误的,而 a+b alignr c是允许
的。而且多个 align 命令之间是相互影响的,只有最内层的 align 命令才起作用。例如
{alignl{alignr a}}over{b+c} 会导致 a向右对齐。同时,如果一行或一个表达式以文本开头,
那么默认是左对齐的。可以利用这个特性,在公式或表达式开头加上一个空文本(空的双引
号)来使之变成左对齐。
还记得前面我们说过的一个小问题吗?就是微分算子的对齐问题。当时我们采用的是文
本的方式使微分算子中的“d”变为正体。但是我们刚刚提到了,这样一来相应的表达式就是
以文本开头了,那么Math将默认把它显示为左对齐。不过不要紧,现在运用这一章的新内
容就可以轻松改变这一现象了。我想到了两种方法,一种是用 nitalic保留字加在“d”前面,
另一种是用 alignc保留字直接指定对齐方式。试试看吧:
d y
d x ({nitalic d y} over {nitalic d x}),
dy
dx ({alignc “d”y} over {alignc “d”x})
果然成功了吧~~
9. OpenOffice Math公式与 MathType公式的互相转换
MathML是一种 xml 语言,是W3C 推出的全球标准的公式描述语言,主要目的是在互
联网上以统一的外观显示公式,而不取决于操作系统或浏览器。我们可以借助这种语言来实
现 OOo公式与MathType公式的转换。目前,OOo仅支持MathML 1.0版本,而MathType支
持 1.0和 2.0。
Ooo和MathType支持MathML的方式不同。OOo可以导入和导出MathML公式,而
MathType支持在复制和粘贴的同时进行公式解析和翻译。由于MathType支持多种公式翻译
器,故使用前需要进行一些设置以便使MathType默认使用MathML 1.0翻译器。在
MathType 主窗口中单击“Preference”菜单项,选择“Translators”,将弹出“Translators”对话
框(图 6)。在“Translator”下拉菜单中选择“MathML 1.0”然后单击“OK”即可。
13
图 6: MathType公式翻译器设置
下面分两个方向(OOo->MathType, MathType->OOo)来描述如何进行公式转换。
9.1. OOo → MathType
在OOo中选中要转换的公式,单击鼠标右键,选择“将副本另存为...”,将弹出保存对话
框(图 7),在“文件类型”处选择“MathML 1.0”,然后选择一个位置保存。
图 7: OOo保存公式对话框
用某种文本编辑器打开保存的.mml文件,复制所有的内容,然后打开MathType公式输入
窗口,将复制的内容粘贴进去,MathType 就会自动调用MathML 1.0公式翻译器将公式翻译
为MathType内部格式。
9.2. MathType → OOo
在MathType公式编辑窗口中复制所编辑的公式(此时 MathType将公式翻译成了MathML
1.0格式),打开一个文本编辑器,将复制的内容粘贴进去,然后保存为.mml文件。在OOo
Writer中插入一个新公式并编辑,然后单击“工具”菜单项,选择“输入公式”,将弹出打
开文件对话框,选择刚才保存的.mml文件并单击确定。OOo 就会自动解析MathML 代码并
14
翻译成OOo Math公式代码。如此就完成了公式的相互转换。
目前存在的问题是,由于OOo和MathType采用的MathML标准的不同,这种相互转换不
完全准确,某些地方存在着格式错误,需要手动修改。另一种解决办法是,利用MathType
的公式翻译器(Translator)的可定制性,编写一个能够完整解析OOo MathML 代码的翻译
器。但这项工作目前未见有人进行。
10.示例
好了,到现在为止,你已经能轻松写出漂亮的公式了。随着使用Math的时间越来越长,
你就会越来越喜欢并享受这种流畅的公式输入体验!
下面来看些例子吧,作为一种回顾和一种练习,同时也是这篇教程的结束~
(这些例子来自 OpenOffice.org Math帮助文档)
Dmn
3
2 (D_mn^ size /2 left( 3 over 2 right))
g
3 (%SIGMA_g^{{}+{}}lsup 3)
k1k2⋯kn
i1 i2⋯in (%PHI^{i_1 i_2 dotsaxis i_n}_{k_1 k_2 dotsaxis k_n})
A=[ A11 A12 ⋯ A1nA21 A2n⋮ ⋮An1 An2 ⋯ Ann]
( font sans bold size *2 A =left[matrix{A_11#A_12#dotsaxis#A_{1n}##A_21#{}
#{}#A_{2n}##dotsvert#{}#{}#dotsvert##A_{n1}#A_{n2}#dotsaxis#A_nn}right])
Gxmxn
,=[arctan arctan xmxn xm−xn ]
(func G^{(%alpha" ," %beta)}_{ x_m x_n} = left[ matrix { arctan(%alpha) # arctan(%beta)
## x_m + x_n # x_m - x_n }right])
f x , y =[ x yz{
2 3 4
4 5 6
6 7 8}
ysin x
z yg
]
(bold { f(x", "y) = left [ stack { x + y over z + left lbrace matrix { 2 # 3 # 4 ## 4 # 5 # 6 ## 6
# 7 # 8} right rbrace # {y + sin (x)} over %alpha # z + y over g } right ]})
15
f x , y =xsin x tan ycosx (func f(x","y)={x sin x~ tan y} over {cos x})
deg,t=1deg M tM t=0−1 .
(%LAMBDA_{deg","t}=1 + %alpha_deg SQRT {M_t over M_{(t=0)}-1}~".")
f t =∫
0
1 [gt '∑i=1
N
hit ']
(f(t)=int from size*1.5 0 to 1 left[g(t')+sum from i=1 to N h_i(t')right])
q ,=∫eit q ,t dt
( %rho(font sans bold q","%omega) = int func e^{i %omega t}%rho(font sans bold
q","t)"d"t)
(这些例子来自陈珂写的《OpenOffice.org排版指北》
http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=136728)
∬ 3 f x , y =∑ 3 f x , y
∬
a
b
3 f x , y =∑
a
b
3 f x , y
(iint nroot{3}{f(x,y)} = sum {nroot{3}{f(x,y)}} newline iint from a to b nroot{3}
{f(x,y)} =sum from a to b {nroot{3}{f(x,y)}})
∂2 f x , y
∂2x
∂2 f x , y
∂x ∂ y
∂2 f x ,y
∂2 y
=0
({partial^2 f(x,y)} over {partial^2 x} + {partial^2 f(x,y)} over {partial x partial y} +
{partial^2 f(x,y)} over {partial^2 y} = 0)
a=
bcd=
ab−d=
12
b2−2
c3−5
(stack{ alignr a ={} # alignr b+c+d ={} # alignr a+b-d ={}} stack{ alignl 12 # alignl
b^2-2 # alignl c^3-5})
[2 ∂
2
∂2x
∂2
∂2 z
∂
2
∂x ∂ z
∂2
∂ x∂ z
μ ∂
2
∂2x
2 ∂
2
∂2z ]{uxuy}={u¨xu¨z}
(left [ stack{{(%lambda+2 %mu){partial^2} over {partial^2 x} + %mu{partial^2} over
16
{partial^2 z}}#{(%lambda+%mu){partial^2} over {partial x partial z}}} ~ stack{{(%lambda+
%mu){partial^2} over {partial x partial z}}#{%μ{partial^2} over {partial^2 x} + (%lambda+2
%mu){partial^2} over {partial^2 z}}} right ] left lbrace stack{u_x # u_y}right rbrace = %rho left
lbrace stack{ddot{u}_x # ddot{u}_z } right rbrace)
[ a bab cd ]{X }={x22y22}
(left [ matrix{a # b ## a+b # c+d} right ] left lbrace matrix{%GAMMA ## %CHI } right
rbrace = left lbrace matrix{x_2^2 ## y_2^2} right rbrace )
17
附录
1. 希腊字母表
大写 代码 小写 代码
A %ALPHA %alpha
B %BETA %beta
%GAMMA %gamma
本文档为【open office 公式教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。