MS Word - 将自定义脚注转换为连续编号的脚注列表

MS Word - 将自定义脚注转换为连续编号的脚注列表

我正在编辑一些脚注(在 Mac 上),其中有对脚注的交叉引用(因此将脚注文本复制并粘贴到新插入的脚注中实际上不是一个选择)。

如何将自定义脚注标记转换为连续编号列表(见下图)

脚注列表示例:8a、9、9a、9b、10、10a、11、12

我希望能够将 8a、9a、9b 和 10a 转换为它们对应的编号脚注(不带字母),以便上述脚注的编号仅为 9-16:

8a --> 9
9a --> 11
9b --> 12
10a --> 14

我听说可以按照以下步骤转换脚注而无需复制和粘贴:

  1. 将光标放在脚注 8a 内容的末尾。
  2. 右键单击页面底部的脚注参考编号(在本例中为 8a)。
  3. 从上下文菜单中选择“编辑字段”。
  4. 在字段对话框中,将“引用类型”更改为“脚注”,并将“字段属性”设置为所需的脚注编号(在本例中为 9)。
  5. 单击“确定”应用更改。

但是,我无法确认(至少在 PC 上)。对于 Mac,没有选项edit field,并且我对脚注对话框(右键单击时)功能有限,并且无法将脚注改回连续列表。

我需要在 Mac 上做什么才能将脚注标记改回连续列表?

答案1

我先在 Mac 上尝试了您列出的步骤,然后在 Windows 上也尝试了。但我在两个上都没有得到“编辑字段”,这可能是因为“页面底部”的脚注引用和正文中的脚注引用都不是字段代码。据我所知,您可能能够选择的唯一字段代码是注释的附加引用,即 NOTEREF 或旧的 FTNREF 字段。您能让这个过程在 Windows 上工作吗?

就我个人而言,我可能认为需要一点 VBA。可能已经有人这样做了,但这是我作为起点想到的 - 在实际使用之前仔细测试。这在 Mac Word 上进行了一些初步测试,但在 Windows Word 上没有进行测试,在那里行为可能会有所不同。

我让你研究如何在 Mac Word 上安装和使用 VBA 宏。

Sub modifyfootnote()
' Click in a footnote and run this macro to replace a custom-numbered footnote
' by an auto-numbered footnote.

' When you have modified your footnotes, you will need to update any footnote cross-references
' that reference the modified footnotes,. at least if those cross-references are showing the footnote number.

' The easy way to do that would be to select the entire document at the end and update all
' the fields. But I suppose I would do that a little bit more often to reassure myself that the references
' were updating correctly.

' A Footnote.Range is the footnote text.
' A Footnote.Reference is the Range of the reference in the main text body (not the reference in the footnote)
Dim newfootnote As Word.Footnote
Dim oldrange As Word.Range
Dim referencerange As Word.Range
With Selection
  Select Case .Footnotes.Count
  Case 0:
     MsgBox "Please click in the body of a footnote."
  Case 1
    ' NB, if you triedto use a variable "oldfootnote" to point to the existing footnote,
    ' you will find that on insertion of the new one, the selection changes and in fact
    ' oldfootnote and newfootnote will point to the same footnote. Which isn't helpful.
    
    ' So instead we point oldrange to the range of the old footnote
    Set oldrange = Selection.Range.Footnotes(1).Range
    Set referencerange = Selection.Footnotes(1).Reference
    
    ' Inserting a new footnote immediately before the old footnote's reference appears to preserve the _Ref
    ' bookmark used for any cross-references to this bookmark
    referencerange.Collapse WdCollapseDirection.wdCollapseStart
    
    ' *all* auto-numbered footnotes will change to use whatever format you specify here.
    referencerange.FootnoteOptions.NumberStyle = wdNoteNumberStyleArabic
    Set newfootnote = referencerange.Footnotes.Add(referencerange, , "temptext")
    newfootnote.Range.FormattedText = oldrange.FormattedText
    oldrange.Footnotes(1).Delete
  Case Else
    MsgBox "You have selected more than one footnote. Please click in *just one* footnote."
  End Select
End With
End Sub

相关内容