这篇用WORD写论文时好用到哭的技巧总结文,基本把论文写作的方方面面都覆盖到了,一半的奇技淫巧,一半的常用技巧,帮你快速提高效率,毕业生来收!
说白了,Word 的奇技淫巧就是指宏和域。至于画图什么的,本文并不提及。因为关于画图这一项就可以写出比这篇更长的文章。另外说明一下:本人用的是 Office 2013 for Windows 32bit,轻度 LaTeX 使用者,轻度 Word 使用者。在此班门弄斧,欢迎批评指正。
章节目录
0、样式与内容分离
1、创建模板
2、添加注释
3、自动编号
4、插入公式
5、插入图表
6、交叉引用
7、图表目录
8、参考文献
9、符号替换
符号替换
写作的时候经常会出现这种情况:写作初期有些名称没有定下来,后期很可能要改。比如你文章中提出了一个算法,但是算法名字还没想好,文章中到处需要引用这个名字。与运算是用 & 还是 &&?更是有的时候遇到没节操的甲方,改来改去,改来改去,改来改去,改来改去,改来改去,改来改去……
LaTeX 解决这种问题的思路很简单,定义一个命令就好了,文章继续往下写,以后要改的话重新定义命令就好了。
newcommand{myalg}{NIMLE}
newcommand{AND}{&;{}}
...
This paper proposed a novel algorithm named myalg. ...
0xFF AND 0xEF ...
Word 也可以实现类似的功能。这里介绍一种利用域来实现这种符号定义的方法。
Word 中有各种各样的域,其中一种域叫做 DOCVARIABLE,语法格式为:
{ DOCVARIABLE sym }
域 DOCVARIABLE 的作用就是把变量 sym 显示出来。举个建国:ICS = “工业控制系统”,那么域 DOCVARIABLE 会将所有的 { DOCVARIABLE ICS } 替换成 ”工业控制系统“。
所以在 Word 中实现 LaTeX 中的宏替换功能需要以下几步:
1、在变量集合 Variables 中添加 ICS,并给其赋值;
2、按 Ctrl +F9 插入域,手动输入 DOCVARIABLE ICS。
相当的没有效率,被 LaTeX 甩几条街有木有。但是不用担心,Word 自有它的过人之处:VBA。下面介绍一种方法来简化这个过程。
点击菜单中的宏,如下图所示,宏名随便填,然后点击创建,如下图所示。
删除代码框中的所有代码,然后将下列代码复制进去。
Sub UpdateVariable()
' Clear variables
For Each Var In ActiveDocument.Variables
Var.Delete
Next
' Set the file path
Dim MyFile As Object
Set MyFile = CreateObject("Scripting.FileSystemObject")
Dim FilePath As String
FilePath = ActiveDocument.Path & "Symbols.xlsx"
' If can't find the file, show error message and exit sub
If Not MyFile.FileExists(FilePath) = True Then
MsgBox "Can't find file: Symbols.xlsx", Title:="Error"
Exit Sub
End If
' Read the excel file "Symbols.xlsx"
Dim ExcelObject As Object
Set ExcelObject = GetObject(FilePath)
Set Table = ExcelObject.Sheets(1).UsedRange()
For i = 1 To Table.Rows.Count
V1 = Table.Cells(i, 1).Text
V2 = Table.Cells(i, 2).Text
ActiveDocument.Variables.Add Name:=V1, Value:=V2
Next
' Update field
ActiveDocument.Fields.Update
End Sub
Sub InsertSymbol()
' Show inputbox
Symbol = InputBox("Input symbol")
' Insert field
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
PreserveFormatting:=False
' Insert parameter
Selection.TypeText Text:="DOCVARIABLE " & Symbol
' Update field
ActiveDocument.Fields.Update
End Sub
如下图所示
这样两个宏就创建好了,为了方便的调用,将这两个宏添加到工具栏中。打开自定义工具栏窗口。找到刚刚新建的两个宏,将他们添加到开始选项卡中(凭个人喜好,爱放哪放哪)。
然后重新设置他们的名字和图标,此步骤可省略,如下图所示。
这样这两个宏就被添加到工具栏中了,如下图所示。
为了配合这两个宏的使用,我们需要一个外部文件来储存各种变量和对应值。这里采用的是 Excel 文件。在当前 Word 文档的所在目录内,新建名为 Symbols.xlsx 文件,必须是这个名字,因为在上面的代码中被写死了,如果你想换个名字,要把这行代码一并改了。
FilePath = ActiveDocument.Path & "Symbols.xlsx"
然后打开这个 Excel 文件,然后添加你要用到的符号,如下图所示。
左边一列是变量的名称,右面一列是变量的值。用法就是点击 Word 工具栏上的”更新符号“按钮,Word 会读取所有的变量值。如果想在某处插入作者,点击”插入符号“按钮,在弹出的对话框中填 ”AU“,然后点击确定,如下图所示。
然后就出现你事先在 Excel 中定义好的内容了,如下图所示。
然后就出现你事先在 Excel 中定义好的内容了,如下图所示。
如果后期想修改符号,只需要在 Excel 中统一修改,保存后点击 Word 工具栏上的”更新符号“按钮,Word 中所有的 DOCVARIABLE 域都会更新。
当然,你可以为宏添加快捷键,就不用每次都用鼠标点击了。