:::

按照筆畫排序中文參考文獻: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開始喔

      刪除