所以我有几个附录看起来像这样:
附录 A:公式
附录 B:示例计算
ETC。
这封信的控制如下:
Appendix [{seq AppL \*ALPHABETIC}]: Example
括号代表引用该值的书签。这意味着我可以在前面、后面或任何地方添加更多附录,字体也会随之更新。
每个附录还包含各种方程式,引用附录的字母和方程式编号,如下所示:
y = mx + b #({REF AppEq \*MERGEFORMAT}.{seq AppEq})
问题是,每当我更新所有内容(ctrl+A、f9)时,公式编号中的字母都会恢复为粗体。 *MERGEFORMAT 开关应该可以防止这种情况发生,但它似乎在公式内部不起作用(它在我的标题中有效,并且我测试了它在正文中是否有效)。
有没有什么方法可以解决这个问题,或者有其他的解决方法,或者至少有某种方法可以减少由此引起的烦恼?
答案1
我无法找到该问题的解决方案 - 我相信这是 Word 的一个错误。但是,我找到了一个可行的解决方法,即使用宏来更新字段,而不是手动更新。此宏将显示字段代码,取消粗体显示以“^d seq AppL”开头的任何字段,更新文档中的所有字段,然后重新加粗正确的字段并隐藏字段代码。我不能说它很强大或高效 - 但也许它会对某些人有所帮助:
Sub UpdateRefs()
'Setup / checks
If Documents.Count = 0 Then Exit Sub
Application.ScreenUpdating = False
'Show field codes
ActiveDocument.ActiveWindow.View.ShowFieldCodes = True
'Unbold Appendix labels so they don't propagate.
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^d seq AppL"
.Replacement.Text = ""
.Replacement.Font.Bold = False
.Forward = True
.Wrap = wdFindContinue
.MatchWholeWord = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
'Update all fields in document.
Dim oStory As Object
Dim oToc As Object
For Each oStory In ActiveDocument.StoryRanges
oStory.Fields.Update
Next oStory
For Each oToc In ActiveDocument.TablesOfContents
oToc.Update
Next oToc
'Rebold for looks.
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^d seq AppL"
.Replacement.Text = ""
.Replacement.Font.Bold = True
.Forward = True
.Wrap = wdFindContinue
.MatchWholeWord = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
'Hide field codes.
ActiveDocument.ActiveWindow.View.ShowFieldCodes = False
Application.ScreenUpdating = True
End Sub
答案2
您无需使用随后手动添加书签的 SEQ 字段,只需为主附录编号创建大纲编号样式即可。
然后您可以使用:
- LISTNUM 字段(它将在附录内自动按顺序编号);
- STYLEREF 字段(用于附录编号 - 根据您所在的附录自动获取)和现有 SEQ 字段(用于方程编号)的组合;或
- 交叉引用(用于附录编号)和现有的 SEQ 字段(用于方程编号)。
请注意,如果您使用 STYLEREF 或交叉引用字段,您将需要添加“\t”开关,以便它仅显示附录字母(即“A”而不是“附录 A” - 因为在设置大纲编号时,您将在添加字段之前在“输入数字格式”文本框中输入附录)。
我会使用 LISTNUM 字段(而不是字段组合)。对于此选项,将使用“包含来自”级别 1 选项的级别编号将附录字母设置为自动显示。