2010年2月19日 星期五

Zotero: 啟用 sentence case 功能

Zotero 不是我主要的文獻管理軟體,其中有一個原因就是 sentence case 不是預設設定,要改這個設定還得花一番工夫,所以直到現在我才正式面對這個問題,並試著依照網站上的說明解決這個小問題。

什麼是 sentence case 呢?以英文來說,就像句子一樣,只有第一個字的首字母與專有名詞要大寫,其餘都應該小寫。但如果標題有小標的話 (就是在 : 之後的),小標第一個字的首字母也要大寫。但 Zotero 預設設定是你怎麼輸入,就怎麼顯示。如果你都是手動輸入,那可能沒什麼問題;但如果你使用 retrieve metadata 或從資料庫匯出,很多時候你還得回去作修改,這樣當然就浪費不少時間,也就失去了使用文獻管理的目的了

下圖就是其中一個非 sentence case 的例子。

6.png

如果要自動變成 sentence case,在 Zotero 要花費一些手腳:

1. 首先打開一個空白的 tab,接著打開 Zotero,找到一組向上面的例子一樣,應小寫的沒有小寫。

2. 接著到 Firefox 的網址列輸入

chrome://zotero/content/tools/csledit.xul

3. 接下來會出現下面的界面。我主要使用的文獻格式是 APA,所以我選擇 American Psychological Association 6th Edition。如果你使用的文獻格式不要求 sentence case,請不要繼續作下面的動作。

1.png

4. 用滑鼠滾動,找到 <macro name = “title”> 的部分 (別用 ctrl-F 的搜尋功能,會找不到),加上下圖畫底線的地方 text-case =”sentence”。下方還有一個地方要加上這一段,用眼睛往下瞄就可以看到了。

2.png

如果不放心,就 copy and paste 下方的程式碼,就 title 這段取代的:

<macro name="title">
<choose>
<if type="report thesis" match="any">
<text variable="title" font-style="italic" text-case="sentence"/>
<group prefix=" (" suffix=")">
<text variable="genre"/>
<text variable="number" prefix=" No. "/>
</group>
</if>
<else-if type="book speech" match="any">
<text variable="title" font-style="italic" text-case="sentence"/>
</else-if>
<else>
<text variable="title" text-case="sentence"/>
</else>
</choose>
</macro>

4. 如果你成功的話,在下面的預覽區你就可以看到改變了!但別高興太早,還沒完成呢!

3.png

5. 移到最上面,找到 title 和 id 的部分,這兩部分都作點修改,不然 Zotero 將來更新樣式的時候,會把你修改的取代掉。我的作法當然很簡單,在 title 最後面,加上個 1,至於 id,就將原本的 apa 修改成 apasentencecase 以示區別。

4.png

6. 這步是關鍵,將最上方那個 section 所有的程式選起來,copy and paste 到 notepad 或 notepad++,千萬不要用 wordpad 或 Word。之後將此檔存成 apasentencecase.csl,並放到桌面上。

7. 將這個 csl 檔拖放到 Firefox 裡,就會詢問是否要安裝,按安裝即可。5.png

8. 最後,當然是回到正在編輯的 Word 檔,將格式改變成新的格式。點下圖紅框的按鈕。

7.png

9. 將格式改成 APA 6th Edition 1,最後就大功告成了!

8.png

好吧,偶而要作善事造福一下網友,如果你懶得作上面的步驟,你也可以下載我修改好的

https://docs.google.com/leaf?id=0BwxFvrXhZSeBNTkyOGJkYzAtMmIyZi00ZTQ1LWE4ZTktNmRkNDQzOTVjZDRm&sort=name&layout=list&num=50

接下來從上面第七步開始即可。

參考資料

http://www.zotero.org/support/csl_simple_edits

http://forums.zotero.org/discussion/10335/titles-should-not-be-capitalized/

14 則留言:

  1. 非常感謝!這的確是一個在使用Zotero時很困擾我的問題!

    回覆刪除
  2. 作者已經移除這則留言。

    回覆刪除
  3. 不好意思,可以請教您如何利用stata跑panel data的操作嗎?謝謝您~

    回覆刪除
  4. panel data可參考這篇:http://dss.princeton.edu/online_help/analysis/panel.htm
    基本上stata以xt開始的指令,都是跟longitudinal data analysis有關的,你可以翻翻manual。

    回覆刪除
  5. 哈囉!謝謝您提供這麼棒的網址^^

    回覆刪除
  6. 不好意思我有一個疑問, xtreg SO2 lnincome lnincome2 lnincome3,re(SO2是我的被解釋變數,其他是我的解釋變數)結果跑出來它出現lnincome dropped because of collinearity,這有共線性問題,請問這是正常的嗎?如果不是我該怎麼排解這個問題,謝謝唷!

    回覆刪除
  7. 你的 model 看起來有點奇怪 (可能我不是很懂你的模型),如果你3個income是不同時間點的話,就會發生共線性的問題。你應該要把資料轉成long format,然後用xtmixed 或xtreg把時間列入考慮。

    回覆刪除
  8. 我的income2是income二次方、income3是三次方,這次報告是要作環境品質與經濟成長有沒有呈倒u所以用了次方項,我的資料是panel data

    回覆刪除
  9. 不知道耶,你的income是實際數字嗎?還是經過log transformation?另外,你要不要查查vif(Variance inflation factor)或correlation,先看看共線性的問題?

    回覆刪除
  10. 我想請問一下,我的迴歸模型是利用固定校果及隨機效果來跑迴歸的,但我怕會有共線性的問題,所以利用spss的迴歸分係來檢測vif是否有大於10,結果是有的,但是利用stata所跑出來的隨機效果模型並沒有出現dropped because of collinearity 的字樣,所以我現在有點迷惑,我的變數到底算不算是有共線性的問題呢? 謝謝

    回覆刪除
  11. 算,應該要drop掉。你也可以用stata再跑一次vif看是不是大於10。

    回覆刪除
  12. 我想在請問一下,我不太了解,我的交乘項的vif有大於10,但為何在隨機效果下沒有出現dropped because of collinerity呢?照理來說如果有的話,隨機效果下交乘項的係數應該是跑不出來的。謝謝

    回覆刪除
  13. 對不起這麼晚回覆。vif很高不代表一定會drop掉,但standard error會很高。詳情可翻翻這份講義:www.nd.edu/~rwilliam/stats2/l11.pdf

    回覆刪除
  14. 請問一下有關sentence case的問題,
    照您的方法改完之後,有些應該要大寫地方,反而全部變成了小寫,例如人名,國家,請問有解方法嗎?感謝了..
    下面是一個例子, chinese canadians 應該是要大寫的

    Costigan, C., & Su, T. (2004). Orthogonal versus linear models of acculturation among immigrant chinese canadians: a comparison of mothers, fathers, and children.

    回覆刪除