word 內嵌自動編號

word中,各種列表編號、圖表序號、樣式格式等等問題,我已經在 word常規模板設置 中做了比較詳細的敘述。博客中我講解了如何從零開始規範得構建一個word模板,規範的使用方式可以使word作爲辦公軟件的效率大大提升。本文重點想更深入地探討一下自動編號相關的功能,講解一下大多數人可能從來沒有使用過的高級功能 —— 內嵌編號(inline numbering)。


說明:本文中的截圖使用 Mac 版的 Word 2016, 文中涉及的操作在Windows下的Word 2010及以上版本基本是一致的。

功能需求

如果按照 word常規模板設置 中的步驟,平時寫文檔時候的需求就基本能夠滿足了。
但是,凡事沒有絕對,看一下這個案例:

文本來自Francis Scott Key Fitzgerald《了不起的蓋茨比》

現在,你需要像下面這樣對文本中的每段話進行編號,以便文章的修訂者排列這些句子的順序,以及必要的時候進行增加、刪除等操作。

這裏寫圖片描述

通常,大家都是一行一行讀文本,然後在每一句前面手動加上編號。文本比較短的時候,完全沒有問題,反正編號也不多。想象一下,現在文本里面有200個句子……再想象一下,當你終於完成任務時,發現自己漏掉了編號爲50的句子……

再來說一個案例:

這裏寫圖片描述

想象一下,領導說,把第3個附件去掉……

接到這樣的任務,我想大家的內心都是崩潰的,我真心祝願大家永遠不要碰上這樣的事情。
不過,話說回來,萬一要是遇上了怎麼辦呢?
再說,雖然我這裏的案例比較極端,但我想在寫文檔的時候或多或少會遇上類似的自動編號需求,那麼,能不能插入一個數字,讓它像列表一樣自動進行編號呢?

如何實現

快速回想一下對 word 編號功能已有的知識,在“開始”面板裏面,提供了三種常用的編號:

這裏寫圖片描述

左起第一個是項目符號,用於無序列表。第二個是列表編號,包含各種格式的自動編號項。第三個是多級列表,主要用於對文章不同級別的標題編號。

如果動手實踐一下,很快就會發現,這三個編號都是針對段落的。也就是說,它們的列表項都對應着單獨的段落,對於想要在文本中間插入這些列表項是行不通的。

要完成這樣的任務,就必須要介紹一個 Word 的高級功能 ——“域”。它就像是一段格式化輸出的代碼,可以在不同的要求下輸出不同的格式和內容。

對於程序員來說,對各種自動編號是有強迫症的,一定要它自己依次自加遞增。

“域”對於大家來說可能既熟悉,又陌生。好像很多地方都有提到過“域”這個名詞,但是究竟可以用它來做什麼,可能很多人並不清楚。

我們以一個例子來介紹一下“域”。

首先,我們在頁面空白的地方,插入兩個題注:

這裏寫圖片描述

這裏寫圖片描述

在 Mac 下,這個編號會顯示爲灰色,而在Windows下,當它的文字被選中的時候,也會顯示爲灰色。

這時,我們選中這兩個數字,並單擊鼠標右鍵,選擇“切換域代碼”:

這裏寫圖片描述

就會看到,編號的數字,變成了下面這個樣子的文本:

這裏寫圖片描述

如果再次選擇“切換域代碼”,又會顯示爲剛纔的數字文本。實際上,這就是“域”,它由格式化的代碼來控制文本的顯示。上面的例子只是“域”使用的一個簡單的情況,事實上,Word 中列表、頁碼、腳註、目錄等等,都是通過“域”功能來實現的,這是一個非常強大的功能。

“域”代碼塊插入的快捷鍵是“ctrl(cmd) + F9”,會插入一個花括號包圍的區域,同樣以灰色底紋的方式顯示。當然,更常用的方式應該是通過“插入”面板下的“域”按鈕,來插入一個域。

這裏寫圖片描述

選擇“插入域”的按鈕後,會彈出一個對話框。(這裏 Mac 下的顯示方式與 Windows 略有區別,不過功能都是一致的

這裏寫圖片描述

可以看到,在類別選項框中,有很多可供選擇的域代碼類。

本文中,我們主要講解內嵌編號功能,因此只重點介紹 LISTNUM 和 SEQ 關鍵字,其餘功能大家可以自己測試摸索。

LISTNUM

我們首先以第一個案例爲示範。

這裏寫圖片描述

打開“插入域”對話框後,選擇“編號”類別,然後在“域名”列表中,選擇 LISTNUM 關鍵字,並打開它的“選項”窗口。(再次提示,這裏 Mac 下的顯示方式與 Windows 略有區別,不過功能都是一致的

這裏寫圖片描述

從這個關鍵字的名稱就很容易知道,它就是用來爲列表編號的。它主要有兩個選項類可供配置,分別是“域專用開關”和“列表名稱”。“域專用開關”下面有兩個選項,分別是:

  • “\l”:列表層次(level)
  • “\s”:起始編號(start)

而在“列表名稱”當中,有三個選項,分別表示不同的編號顯示類型:

  • LegalDefault
  • NumberDefault
  • OutlineDefault

我們用一個列表來表示這些選項的作用:

這裏寫圖片描述
*圖片來自《(Automatic) Numbering Using Fields in Word 2010 | Just Another Microsoft Office Blog》

現在,我們來具體說說這個 LISTNUM 域代碼怎麼使用。

根據上面所列的選項與對應的樣式,我們這裏需要“1.”這樣的形式,因此,level 應該設置爲 1 級,“列表名稱”設置爲“LegalDefault”,(起始編號“\s”這裏不必使用,默認是從1開始編號的),如下圖:

這裏寫圖片描述

點擊“確定”後,就插入到文本中了。

這裏寫圖片描述

同樣,選中後單擊“切換域代碼”,會顯示剛剛插入的域代碼塊。

這裏寫圖片描述

再次,單擊“切換域代碼”,將它切回數字文本的狀態,然後,選中這個數字,“Ctrl(cmd)+C”複製,並選擇下一個句子的開頭,“Ctrl(cmd)+V”粘貼,就會看到,這個編號自動變成了“2.”。

這裏寫圖片描述

剩下的不用我說了,就全部複製到合適的位置就好了。

這樣有一個好處,當我們對中間的編號做了增加,或者刪除以後,這些編號會自動更新。或者我們也可以選擇全部編號,鼠標右鍵,選擇“更新域”,或者在 Windows 上可以按“F9”快捷鍵,來實現手動更新。

這裏寫圖片描述

如果這樣就完了的話,第一次編號時,我們還是要對每個句子手動的“Ctrl(cmd)+V”粘貼,仍然很麻煩(程序員堅決不做機械重複的勞動)。

針對這個案例,講一個快速簡便的方法,那就是使用“查找和替換”功能,查找每一個句號的節點,然後在句號後面加上域代碼字符串。唯一需要注意的是要將域代碼替換上去,一定要先將域代碼複製到剪貼板,然後在替換選項裏選擇“剪貼板內容”。

這裏寫圖片描述

最後,再將段落末尾的編號都去掉,更新一下所有編號域就好了。

這裏寫圖片描述

再想一想文章開始時描述的,現在文本里面有200個句子……當你終於完成任務時,發現自己漏掉了編號爲50的句子……
如果用替換功能,根本不會漏掉。真是漏掉了一個,單獨粘貼域代碼上去,全選,然後按“F9”快捷鍵更新域,編號就全部自動更新了。是不是免去了很多繁瑣的機械重複。

SEQ

然後,我們再來說說本文開始舉例的第二個案例。有了上一節的鋪墊,這裏的介紹會相對概略一些。

這裏寫圖片描述

由於這個裏面,編號的樣式後面不應該有“.”這樣的符號,這種情況下使用 LISTNUM 是不行的。

SEQ 關鍵字是由“sequence”來的,意思是序列。實際上,在上文中,我們“插入題注”後,將題注轉換爲域代碼,就已經見到過這個關鍵字了。

這裏寫圖片描述

同樣,我們選擇插入“SEQ”關鍵字,單擊“選項”按鈕,彈出“域選項”對話框。可以看到 SEQ 支持的格式有很多,包括數字的樣式也都可以設置。

這裏寫圖片描述

在“域專用開關”裏面類似 LISTNUM 的開關,也有一些專用的屬性,選擇每個屬性下面都會出現文字介紹。用法與 LISTNUM 也是類似的,我們就不贅述了。

這裏寫圖片描述

實際上,大多數情況下使用 SEQ 關鍵字默認的屬性配置就可以了,對我們這裏的案例來說,域代碼非常簡單:

這裏寫圖片描述

這裏在 SEQ 後面跟了 “附件”字符串,實際上,用別的字符串也可以,只是爲了區分不同的序列,比如“圖”序列、“表”序列等等,它們的編號是分開的。

這裏寫圖片描述

下面的操作我想就不用我囉嗦了,原則就是能夠替換就替換,不好替換光用複製粘貼也行,編號做好了以後,後期即使要修改也完全沒有壓力。

總結

本文重點針對 Word 的自動編號“域”代碼,實現了內嵌編號的功能。主要採用了 LISTNUM 和 SEQ 關鍵字,並對它們的使用方法進行了大致的講解。當然,Word 支持的關鍵字是非常多的,可以實現非常多的功能,提高工作的效率,如果有時間的話,建議大家實際操作了解一下。

再次陳述我的觀點,Word 不僅僅是一個文本編輯器,希望大家都能夠好好利用它。

感謝閱讀,如有錯誤,望不吝指正!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章