数学建模社区-数学中国
标题: word中的公式编号 [打印本页]
作者: 顺风航 时间: 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
nice~
作者: 不明白 时间: 2011-9-7 18:49
有用的东西!
作者: 1546397057 时间: 2011-12-3 10:48




作者: weige2010 时间: 2012-1-7 18:43
真给力啊!
作者: shumomxs 时间: 2012-1-10 21:48
这个还是很有用的啊
作者: alair005 时间: 2012-2-7 11:41
3x,you are so great6541777215323162
作者: xiang1990 时间: 2012-7-2 15:03
确实给力,分享下哈
作者: 50infivedays 时间: 2012-7-16 16:01
正找这个呢~~谢谢你喔·~
作者: 50infivedays 时间: 2012-7-16 16:09
正找这个呢~~谢谢你喔·~
作者: 扑克王 时间: 2012-8-9 18:47
很高级哦!!!!!!!!!!!!!!!!
作者: 斌11斌 时间: 2013-6-7 18:34
好高级 完全看不栋 大神
作者: 千叶迦南 时间: 2013-8-9 18:42
lz好人呀!
作者: 忘了好多密码 时间: 2013-9-12 13:13






作者: 暗夜№☆修罗 时间: 2013-12-1 23:58
谢了。。。。。。。。。
作者: 喵喵喵喵 时间: 2014-1-10 19:49
赞一个,,,,楼主好人呀
作者: 空木葬花 时间: 2014-2-23 14:37
非常感谢楼主的福利!
作者: 专属雨天 时间: 2014-7-4 11:52
好好学习一下
作者: 835500170 时间: 2014-7-13 13:46
写的不错,挺高深
作者: junesmile 时间: 2014-7-15 21:22
感谢分享,好东西。。
作者: 一个胖虫子 时间: 2014-7-15 23:12
顶顶顶顶顶顶顶顶顶顶顶
作者: Beato777 时间: 2014-12-26 19:32
谢谢分享
作者: 一度~如是 时间: 2015-1-3 12:16
表示赞
作者: mmmonica 时间: 2015-1-15 09:25












作者: pandengyao 时间: 2015-8-30 09:26
学习了,谢谢楼主
作者: dong1540194894 时间: 2015-10-18 14:41
感谢楼主分享!!!!!!!!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) |
Powered by Discuz! X2.5 |