:::

按照筆畫排序中文參考文獻:Zotero + Word / How to Create a Stroke Order Chinese Bibliography with Zotero and Word

簡報1

之前我雖然寫過「Zotero如何產生按照筆畫排序的中文參考書目」,但其實那篇的方法最後還是不可行。目前能夠解決中文按照筆畫排序的最佳方法,還是得要仰賴Microsoft Office Word或LibreOffice Writer內建的排序功能。這篇我就用圖文介紹來說明如何讓Zotero的中文參考文獻搭配Word來按照筆畫排序吧。


環境說明 / Environment

image

我這篇使用的是Zotero Standalone 5.0.59。文字編輯器使用的是Microsoft Office Word 2013。

Zotero的參考書目 / Bibliography from Zotero

image

在這個例子中,我引用了五篇文獻,三篇中文、二篇英文。我使用的引用格式是布丁式中英文APA,所以在參考文獻中,中文會先排在前面、英文則會排在後面。但仔細一看,你會發現中文排序的順序很怪。

根據筆畫查詢,「吳」的筆畫共7劃,「曾」的筆畫共12劃,「林」的筆畫共8劃。照理來說應該是要以「吳、林、曾」排序才對,可是Zotero可能是用了內碼編號來排序,變成了錯誤的「吳、曾、林」。

這個問題暫時無法靠Zotero自己解決,我們需要藉助Word的筆畫排序才行。

跟Zotero解除連結 / Unlink Citations

接下來我們要先把Word裡面的引用跟Zotero解除連結,變成單純的文字。解除連結的操作會讓你後續無法再用Zotero管理文中的其他引用,請再確認所有引用都已經插入後,再來進行這個操作。

image

在Zotero工具列中按下「Unlink Citations」(解除連結)。

image

接下來Zotero會跳出警告訊息:「移除欄位碼會使Zotero無法更新這個文件中的引用文獻及參考文獻表,要繼續嗎?」請按下「OK」繼續。

image

解除連結後,乍看之下跟剛剛沒什麼不同。但引用文獻和參考文獻都已經從Zotero管理的欄位碼變成純文字了。在純文字狀態下,我們就能夠用Word的排序功能來讓中文文獻按照筆畫排序。

按照筆畫排序 / Sort Chinese Bibliography by Number of Strokes

image

首先先選取要排序的中文文獻。

image

進入「常用 > 段落 > 排序」。

image

在第一階選擇「段落」、類型「筆畫」、「遞增」(筆畫由少到多的意思)。按下「確定」。

image

Word就幫我們按照筆畫,正確排序成「吳」(7劃)、「林」(8劃)、「曾」(12劃)了。

不過接下來我們沒辦法再用Zotero整理這些文獻,所以我會在要列印之前才會做中文筆畫排序的動作。


多重來源的排序呢? / Sort in two or more references citation

image

除了參考文獻有排序的問題之外,文中的引用也會發生一樣的問題。上圖就可以看到Zotero仍然是以「吳、曾、林」的錯誤順序來排序。

image

對於這個問題,我們可以用Zotero的自訂編輯器來手動修改。詳細操作請看「如何手動修改Zotero的文中引用跟參考文獻」這篇。


小結 / In closing

中文筆畫排序的問題從2014年就已經有人提出來問過,請看Zotero論壇中的「Sort bibliography by number of strokes in Chinese characters」這篇。不過直到現在Zotero都已經翻了好幾個版本,還是沒能根本解決這個問題。目前還是只能手動處理吧。

事實上,按照中文筆畫排序的這個問題,一直是許多程式語言難以克服的障礙。黑暗執行緒曾經寫過一篇「JavaScript中文排序問題」,裡面提到JavaScript在Chrome、Edge、IE、Firefox裡面的排序都有些不一樣,而SQLite更是有內建筆畫和注音等不同的排序方式。Zotero是以Firefox為基礎,背後資料庫是以SQLite作為儲存,但Zotero的中文排序到底是如何實作,至今我仍然沒能摸透。


那麼這次的使用Zotero和Word來按照筆畫排序中文參考文獻的教學就到這裡了。你有注意過中文的參考文獻要按照筆畫排序的這件事情嗎?你本來都是怎麼處理的呢?歡迎在下面的留言處跟我們分享你的想法。如果你覺得我這篇教學寫的不錯的話,請幫我在AddThis分享工具按讚、將這篇分享到Facebook等社群媒體吧!感謝你的耐心閱讀,讓我們下一篇見。

總共9 則留言, (我要發問)

  1. 再看了一下中文的排序,好像是依照漢語拼音在排的。
    的確依照筆畫排列一直無解。

    回覆刪除
    回覆
    1. To 汪,

      你是說Zotero裡面的排序?還是Word中的排序?

      刪除
  2. 回覆
    1. 不夠精確。是zotero在word裡面自動產生的參考書目排序,似乎是漢語拼音的字母順序。

      刪除
    2. To 汪,

      不知道能不能改成筆畫排序呢...
      SQLite是有內建筆畫和注音等排序方式,可是Zotero介面沒看到可以調整的地方呢。

      刪除
  3. 慘,我對SQLite這些真的不熟。

    回覆刪除
    回覆
    1. To 汪,

      哎呀,反正不是從原始碼開始改起的話,其實真的也不能做什麼啦。

      我簡單看了一下,這個style.js似乎是處理引用樣式的函式庫
      https://github.com/zotero/zotero/blob/0bdebbd64cf17b85c47cbf30e6176c3eafe60715/chrome/content/zotero/xpcom/style.js

      Zotero的CSL編譯引擎是用citeproc-js
      https://github.com/Juris-M/citeproc-js

      citeproc-js的文件
      https://citeproc-js.readthedocs.io/en/latest/index.html

      有CSL-M說明
      https://citeproc-js.readthedocs.io/en/latest/csl-m/index.html

      ...然後我赫然發現有default-locale-sort這個選項
      https://citeproc-js.readthedocs.io/en/latest/csl-m/index.html#default-locale-sort-extension

      想起來黑暗執行緒裡面有講到中文排序要用「zh-Hant」
      https://blog.darkthread.net/blog/javascript-chinese-char-sorting/#636440300873170000

      加入之後就真的能夠順利完成中英文排序了
      https://1.bp.blogspot.com/-WseHrBGp_DI/XGLaBmgHz7I/AAAAAAAECpk/fNpvyPbNbVc9fYJXBpoKZqm_SZp_nUhswCLcBGAs/s1600/2019-02-12_223510.png

      布丁式中英文APA已經更新
      https://raw.githubusercontent.com/pulipulichen/blogger/master/project/zotero/apa_zh_pulipuli.csl

      安裝方法看這篇:Zotero Standalone安裝布丁版中英APA引用樣式
      http://blog.pulipuli.info/2018/12/zotero-standaloneapa-install-pulipuli.html

      本來只是想敷衍地回應一下,結果不小心就解決問題了
      可喜可賀(?)

      刪除
  4. 這點解決,真的可喜可賀。可以強烈要求學生直接用zotero+您所修改的csl。不要再用每年都要跟圖書館收費的某套軟體了。

    感謝!

    回覆刪除
    回覆
    1. To 汪,

      可以先從在圖書館利用教育時教導Zotero開始喔

      刪除