- 在线时间
- 90 小时
- 最后登录
- 2012-2-26
- 注册时间
- 2011-2-26
- 听众数
- 6
- 收听数
- 0
- 能力
- 0 分
- 体力
- 1074 点
- 威望
- 0 点
- 阅读权限
- 40
- 积分
- 418
- 相册
- 0
- 日志
- 0
- 记录
- 1
- 帖子
- 193
- 主题
- 12
- 精华
- 0
- 分享
- 0
- 好友
- 8
升级   39.33% TA的每日心情 | 难过 2012-2-26 16:57 |
---|
签到天数: 77 天 [LV.6]常住居民II
 群组: 2011年第一期数学建模 群组: Matlab讨论组 |
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
|
zan
|