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 谢谢。。。。 学习一下,呵呵,到时候会有用 表示只会第二种 {:soso_e121:}nice~ 有用的东西! {:3_46:}{:3_42:}{:3_50:}{:3_53:} 真给力啊! 这个还是很有用的啊