写论文时有哪些格式和绘图上的奇思技巧?(二)
接上一期的未完待续
4. 插入公式
介绍一个小插件,可能有很多人都开始用了,就是 Aurora。先来说说为什么不用其他的公式编辑器。
Word 自带了公式编辑器,其实 Word 自带的公式编辑器不用鼠标点来点去的选择各种符号,可以通过快捷键来输入各种符号,也可以利用题注给 Word 中的公式添加自动编号以及交叉引用。但是有点麻烦,这是我不推荐 Word 自带公式编辑器其中的一个原因。
MathType 用的人非常多,MathType 支持 LaTeX 的输入方式,自动编号以及交叉引用都比较方便。因为不能定义常用的宏,还不够方便。
其实我不用 Word 自带的公式编辑器或者是 MathType 的最主要的原因就是,这两个产生的公式太丑了。美丑这个东西仁者见仁,我的审美也不是最优秀的,我贴几张对比图,如果感觉 Aurora 产生的公式最漂亮,可以继续往下看,如果感觉差不多,可以跳过这一章。
下图是二次方程求根公式的三种公式编辑器的对比图,好像都还好。
链接:https://www.zhihu.com/question/30521304/answer/48445567
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
\newcommand{\qiqi}[1]{#1_1,#1_2,\cdots,#1_n}
你就可以通过输入 \qiqi{y} 和 \qiqi{z} 来快速输入 和 了。如果你有时候还想改变上线值 的话,可以定义一个带两个参数的宏定义。
\newcommand{\qiqi}[2]{#1_1,#1_2,\cdots,#1_{#2}}
然后你就可以通过输入 \qiqi{a}{100} 来快速输入 了。
定义宏命令还有一种用途,我在写上一篇文章的时候,有个变量 R,不知道用什么样式。是 ?是 ?还是 ?其实不用纠结这个,定义一个命令代替这个 R 就好了。
\newcommand{\risk}{\mathscr{R}}
以后如果需要改的话改一下宏命令,全文的 R 都变了,省去了一个一个改的繁琐。普通文本可以以实现类似的功能,详见 9. 符号替换。
Aurora 自带个微型的 TeX 系统,原理就是将你输入的公式利用 TeX 进行编译,然后将产生的结果插入到 Word 中。所以你要用 Aurora 输入公式,需要先了解一下 LaTeX 的公式输入。关于这方面的内容可以参见《一份不太简短的 LaTeX 2ε 介绍》中的第三章。
最后说一点,利用 Aurora 编辑的公式,在没装 Aurora 的电脑上是无法编辑的,MathType 也这样。Aurora 产生的公式可以位图,也可以是矢量图。位图的优点就是到哪里看起来都一样,矢量图的优点就是可以无限放大。如果你只在你本机上编辑打印的话,推荐使用矢量图。如果你要发给别人看的话,还是保存成位图比较好,矢量图在没装 Aurora 的电脑上显示不正常。如何修改请看下图:
5. 插入图表
如果你需要在文章中插入图表,你至少需要以下 4 中样式:
- 图
- 图标题
- 表
- 表标题
插图的过程就是插入一张图片,然后点击“引用”--“插入题注”。
\iffalse 这段去掉,方法不正确,而且太蠢了。
为了避免这个问题,我们在正文要插入图片的位置上添加一个 的表格。然后去掉表格的边框:
这样,图和图标题就是不可分割的一部分了。
表格的插入与图片类似,短表格不建议分页,最好和图片一样,与表标题一起放在一个 的表格中。长表格就不能用这个方法了,因为很有可能出现页面底端由于放不下表格而大面积留白的情况。与图片类似,有可能出现这种情况:
对于这种情况我还没有特别好的解决办法。
最后发发牢骚,Word 一直不支持 LaTeX 中的浮动环境这个功能,也是比较遗憾的,希望以后的版本会支持这个功能。
\fi
% 以下是正确方法。
因为图在图表题上面,所以我们右键点击“图”样式,选择修改。
这样图就不会跟图标题分家了。因为表标题在表格上面,我们如法炮制,把“表标题”设置成”与下段同页“即可。
6. 交叉引用
交叉引用对应 LaTeX 的两个命令,一个是 \label{} 一个是 \ref{}。
论文中不会出现“如下图”、“如下表”等描述,因为有时候为了版面匀称,图、表和引用的地方相距甚远,“如下图”、“如下表”只会让人摸不着头脑。所以论文中都是“如图1.1”,“如表3.2”之类的。图表的编号在 5. 插入图表 中介绍过了,这里介绍如何引用这些数字。
但是还是有点略麻烦啊,有更简单的办法,按下 Ctrl + A,全选,然后按 F9,更新整个文档的所有的“域”,然后所有的交叉引用就都正常了。
表的引用和图类似,这里不表。说一下公式的引用。这里用 Aurora 进行说明,MathType 操作一样。
公式大体上分为三种,行内公式,行间公式和带编号的行间公式。
在你输入公式前就要决定这个公式的显示方式,如果你打算引用这个公式,就需要使用带编号的行间公式,另外两种公式无法引用。
现在我们有了两个公式,现在需要在箭头处分别插入 (1) 和 (2)。
这时我们删除第一个公式。
7. 图表目录
有时需要添加图目录或者表目录,这个和普通的目录插入方法类似,这里简单说一下方法。
把光标放在要插如图目录的地方,然后点击“引用”菜单栏中的目录按钮。
表目录和图目录一样。
8. 参考文献
我见过人肉排参考文献的人,极其不推荐,增删文献都会对编号造成影响,而且文献的格式也是非常复杂的,人工排参考文献是极其愚蠢的。
Word 本身是可以插入参考文献的,但是功能太弱了,不推荐使用。
插入参考文献前,你首先需要一个个人文献的数据库。如果你还没开始用参考文献管理软件的话,这一章就不用看了。先看看这个吧:诸多文献管理软件的优劣比较如何?你有哪些使用心得?
你用哪种管理软件都无所谓,基本都会提供 Word 插件,以便向 Word 中插入数据库中的文献。我用的是 JabRef。这个管理软件跨平台,支持的数据库的格式为 BibTeX。主流的数据库都支持 BibTeX 文献的导出,方便导入到 JabRef 中。JabRef 还支持文献的批量下载。但是也有很多问题,所以我正在用业余时间开发一个文献管理软件,现在还只是半成品。扯远了……
选中你平时维护的数据库即可。
当你想在某处插入参考文献的时候,把光标放在要插入参考文献的地方,然后点击红色的加号。
点击插件上的第二个按钮,进行编译。
链接:https://www.zhihu.com/question/30521304/answer/48445567
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
9. 符号替换
写作的时候经常会出现这种情况:写作初期有些名称没有定下来,后期很可能要改。比如你文章中提出了一个算法,但是算法名字还没想好,文章中到处需要引用这个名字。与运算是用 & 还是 &&?更是有的时候遇到没节操的甲方,改来改去,改来改去,改来改去,改来改去,改来改去,改来改去……
LaTeX 解决这种问题的思路很简单,定义一个命令就好了,文章继续往下写,以后要改的话重新定义命令就好了。
\newcommand{\myalg}{NIMLE}
\newcommand{\AND}{\&{}}
...
This paper proposed a novel algorithm named \myalg. ...
0xFF \AND 0xEF ...
Word 也可以实现类似的功能。这里介绍一种利用域来实现这种符号定义的方法。关于域的介绍,详见 百度百科_Word域。
Word 中有各种各样的域,其中一种域叫做 DOCVARIABLE,语法格式为:
{ DOCVARIABLE sym }
域 DOCVARIABLE 的作用就是把变量 sym 显示出来。举个建国:ICS = "工业控制系统",那么域 DOCVARIABLE 会将所有的 { DOCVARIABLE ICS } 替换成 ”工业控制系统“。
所以在 Word 中实现 LaTeX 中的宏替换功能需要以下几步:
1. 在变量集合 Variables 中添加 ICS,并给其赋值;
2. 按 Ctrl +F9 插入域,手动输入 DOCVARIABLE ICS。
相当的没有效率,被 LaTeX 甩几条街有木有。但是不用担心,Word 自有它的过人之处:VBA。下面介绍一种方法来简化这个过程。
点击菜单中的宏,如下图所示,宏名随便填,然后点击创建,如下图所示。
链接:https://www.zhihu.com/question/30521304/answer/48445567
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
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
如下图所示
FilePath = ActiveDocument.Path & "\Symbols.xlsx"
然后打开这个 Excel 文件,然后添加你要用到的符号,如下图所示。
如果后期想修改符号,只需要在 Excel 中统一修改,保存后点击 Word 工具栏上的”更新符号“按钮,Word 中所有的 DOCVARIABLE 域都会更新。
当然,你可以为宏添加快捷键,就不用每次都用鼠标点击了。
A. 如何优雅的凑字数
泥萌不要说这是我教泥萌的哈。60岁以下人士请在家长陪同下观看。
首先,先插入一个文本框,如下图所示。
最后祝大家学习愉快。
作者:Qi Qi
链接:https://www.zhihu.com/question/30521304/answer/48445567
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
文章评论(0)