LaTex 与 Word
很久以前我总是推荐他人用 LaTex 进行论文写作,主要有两个原因:
- 套用模板可以极大减少在文章内容之外的精力耗费,使用各种标记大大简化了对各种序号的管理,公式输入方便等等;
- 用纯文本类型标记语言方便进行版本管理。
但是也有不便之处:
- 使用前需要调教排版系统,编译时需要处理各种错误
- 非所见所得,需要进行渲染
最近用 Office Word 写完毕业论文,在没有限制 LaTex 和 Word 一定要用哪个之前,我觉得选择 Word 一定是最“实惠”的。
基本需求
在给出我的方案和工作流之前我们先明确下我们的基本需求:
- 层级模板:包括样式,例如各级别标题、正文样式等等;
- 内容模板:图、表、公式、参考文献插入、编号、交叉引用,自动目录;
- 格式:页面布局,例如页边距、单双栏、章划分节等等,页码、奇偶页眉等。
核心方案
- 域操作
什么是“域”?可以理解成一种标记、一个字段又或者是一段代码,通过域代码能快速对文中内容的改变更新域代码处显示的内容。
- 基于表格的内容文档部件
顾名思义,主要是借助表格制作基本的内容模板,例如将公式和序号“打包”在一个表格中,再将表格网线隐藏,从而达到公式的规整排版;将图片和图题进行“打包”等等。
层级模板
假设文档有如下排版要求:
- 各章标题(必须):小二号黑体,居中,单倍行距,段前、段后各设为 0.5 行
- 各节一级标题(可选):小三号黑体,居左,单倍行距,段前、段后各设为 0.5 行
- 各节二级标题(可选):四号黑体,居左,单倍行距,段前、段后各设为 0.5 行
- 正文(可选):小四号宋体,1.5倍行距,段前、段后无空行
定义基本样式
第一步:新建 Word 后首先根据各部分要求建立相应“样式”
可以先创建“正文样式”,再依次创建“章标题样式”、“节一级样式”“节二级样式”,下面仅示范“章标题样式”:
四个样式创建完毕后,将菜单栏中其它无关样式删除。
第二步:定义多级列表。这一步的作用是使每个标题都能自动编号,例如1.1、2.1.3等
然后将每个层级与相应的样式进行关联即可,下面仅演示2个例子:
设置完成后即可在菜单中找到。
使用效果演示:
内容模板
公式的自动编号
我们要求公式可以按章节编号,例如(1-1)、(2-3)等。
这里我们选择使用表格自定义一个“公式容器”,其中指定了公式插入位置同时关联了一个能自动编号的题注。表格大小为1x3,布局为:
- 第一列为空
- 第二列放置公式
- 第三列放置题注
为了方便调用,最后将该“公式容器”另存为文档部件。
第一步:定制公式容器
调整表格布局,进入表格属性设置:
- 表格 - 尺寸:勾选指定宽度,设置100%(度量单位:百分比)
- 表格 - 对齐方式:居中
- 表格 - 文字环绕:无
- 表格 - 选项 - 默认单元格边距:全部设置为 0厘米
选中左右两列,设置【表格属性 - 列- 栏数 - 指定宽度为1.5cm】,相应的中间列将自动设置固定宽度。
再继续设置表格的布局,完成。
第二步 题注的设置
在文档任意空白处放置光标,按 Ctrl+F9 插入域代码花括号标注符
在花括号内输入如下代码
其中小灰点表示一个空格,“章标题”是上面自己设置的章节标题样式的名称,因为我们在层级模板中为各个标题样式定义了多级列表,因此这里的“章标题”是带有序号的,即1。如果上面没有定义,建议继续往下看,最后再看第二种方法。
代码中的“公式”字样表示定义了一个“变量名”用来指代这个序号,可以任意取名字,
(注:SEQ 后的题注标签需要自行在【引用】->【插入题主】->【新建标签】中预先创建后,才能在【交叉引用】【引用类型】列表中显示)
* ARABIC 表示这个序号显示为阿拉伯数字,例如换成 * roman 则 1 就显示为 i
“r 1”表示“公式”这个字段值设置为1,当这个公式为该章节的第一个公式时,我们需要将公式标号初始化为1,后面的公式则不需要“r 1”。
用C语言中的变量定义方法理解上面的:
SEQ 公式 r 1 ====> int 公式=1
SEQ 公式 ====> 公式 = 公式 + 1
示例如下:
只要选中域代码,先按F9 更新域再按Shift + F9 即可转换为内容显示
然后将公式拖回表格中,带“r 1”在每章的第一个公式使用,其余使用第二个。
对于图片的自动标注只要将“域代码”中的“公式”换成“图片”即可。
第三部 保存文档部件
最后为了方便使用,可以将其添加到“快速访问工具栏”
使用示例
可以按 alt + F9 看看对应的域代码
交叉引用
最后在保存文件退出时提示保存dotx,选择“保存”。
如果你理解了上面的方法,那下面的方法
第二种方法:只使用域自动编号
这里只在代码上有些许差别,上面的域代码中“章序号”我们通过“章标题”样式进行引用,下面我们直接在每章开头定义一个字段用作“章序号”,这样就不用依赖样式和多级列表。
快捷键补充
Alt + F9 全文中【内容】和【域代码】互相切换,但不更新【内容】
Ctrl + F9 插入域代码花括号标注符
Shift + F9 选中文字【内容】和【域代码】互相切换,但不更新【内容】
F9 更新所选【域代码】显示的【内容】