顺风航 发表于 2011-8-11 11:39

word中的公式编号

1.利用Word域
Word的域功能十分强大和有用,其中联合使用STYLEREF和SEQ两个域,可以方便地为文档中的公式进行编号,便于在文档中其他地方引用。下面的指令是一个示例:
{STYLEREF 1 \s} - {SEQ Equation \* ARABIC \s 1}
在文档中插入这样的域后,就会显示1-1的编号。而
{SEQ Equation \* GB2 \s 1}   显示(1)的编号
在文档中每个公式的后面都加上一个这样的域,Word会自动对它们编号管理。选中编号,建立书签,你需要引用公式的地方,
也只需要插入相应的域引用就可以了。插入引用十分方便,只需要打开Word的交叉引用窗口,选中需要的公式即可。


2.利用Mathtype工具栏图标进行
点Insert display equation,number on right按钮,进入mathtype,输入公式后,公式自动居中,编号自动居右。在文中引用公式时,可以点Insert equation reference,然后点击要引用的公式编号。
缺点是公式的标号带有章节记号,比如1-1,1-2,。。。,如果要换成1,2.。。这样的编号,同时编号居右,似乎不太容易。
一个可行的改动是应用样式,随便在空白处应用“插入右编号方程”,点“ 格式->样式和格式”查看,发现此时的样式是“MTDisplayEquation”,进入编辑,看到具体的样式结构为:
正文 + 宋体: 小四,制表位: 19.81字符,居中 + 39.52字符,右对齐按照此样式制作新样式:InsEqR(实际上在使用了一次“插入右编号方程”后,样式“MTDisplayEquation”就保留下来,并不需要制作新样式),结合1中的域功能(如:{SEQ Equation \* ARABIC \s 1}),即可以自己定义想要的编号,然后,公式前加tab,编号前加tab,就可以实现自动编号,编号居右,公式居中。
3.利用宏
一种更好的办法是创建一个宏命令来完成实现更加高级的功能。下面的一段VBA代码可以直接复制到你的模板中使用。它创建了一个宏按钮域和一个唯一的对应书 签,以后你可以使用GOTOBUTTON域来引用。格式是:{GOTOBUTTON bookmark {ref bookmark \* meregeformat}}。Sub InsertEquationMacroButton()

'

' Macro recorded 5/7/2003 by Zhanshan Dong

'

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _

PreserveFormatting:=False

Selection.TypeText Text:="macrobutton MTPlaceRef \* mergeformat "

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _

PreserveFormatting:=False

Selection.TypeText Text:="seq MTEqn \h \* mergeformat"

Selection.MoveRight Unit:=wdCharacter, Count:=2

Selection.TypeText Text:="[]"

Selection.Delete Unit:=wdCharacter, Count:=1

Selection.MoveLeft Unit:=wdCharacter, Count:=1

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _

PreserveFormatting:=False

Selection.TypeText Text:="STYLEREF \s 1 \* mergeformat"

Selection.MoveRight Unit:=wdCharacter, Count:=3

Selection.MoveLeft Unit:=wdCharacter, Count:=1

Selection.TypeText Text:="-"

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _

PreserveFormatting:=False

Selection.TypeText Text:="SEQ MTEqn \c \* Arabic \* mergeformat"

Selection.MoveRight Unit:=wdCharacter, Count:=4

Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend

Selection.Fields.ToggleShowCodes

Selection.Fields.Update

mydate = Date

mytime = Time

myserial = CStr(Round(CDbl(mydate) * 100000 + CDbl(Time) * 100000))

With ActiveDocument.Bookmarks

.Add Range:=Selection.Range, Name:="Eqn" + myserial

.DefaultSorting = wdSortByName

.ShowHidden = False

End With

End Sub

zcw@#¥ 发表于 2011-8-15 18:08

谢谢。。。。

科大小韩 发表于 2011-8-23 08:17

学习一下,呵呵,到时候会有用

天之海 发表于 2011-8-24 21:13

表示只会第二种

llchdyz 发表于 2011-9-7 10:19

{:soso_e121:}nice~

不明白 发表于 2011-9-7 18:49

有用的东西!

1546397057 发表于 2011-12-3 10:48

{:3_46:}{:3_42:}{:3_50:}{:3_53:}

weige2010 发表于 2012-1-7 18:43

真给力啊!

shumomxs 发表于 2012-1-10 21:48

这个还是很有用的啊

alair005 发表于 2012-2-7 11:41

页: [1] 2 3
查看完整版本: word中的公式编号