如何製作引用是 author year,但是最後列印的參考文獻每個條目的前面有[1]、[2]、[3]這樣的編號?

最近在寫畢業論文的時候遇到一個奇怪的要求。文中的引用要求是作者年份的,如

David(1998)提出了 XXX

一般情況下,這種引用格式,最後的參考文獻前面是沒有[1]、[2]這樣的編號的,只有 number 形式的引用格式才會有。

現在的問題是,如何文中 author year 引用,但是最後的參考文獻要有編號。


支持 author year,主要有兩大途徑,傳統一些的 natbib 和很新的 biblatex。我對 natbib 比較熟悉,所以只介紹這個。

natbib 的 numbers 選項用於生成編號式的引用和文獻表,用上。

引用命令 cite 這時候只出數字,不對了怎麼辦?沒關係,我們還有 citeauthor 和 citeyear 呢。把 cite 的功能簡單改改:


enewcommandcite[1]{citeauthor{#1} (citeyear{#1})}

這樣就能滿足大多數需要了。當然,這個 cite 的功能是很弱的,沒有可選參數,不支持同時引用多條文獻等等。不過沒關係,又不是做模板,只是一篇文章而已,相信你能通過簡單的自定義找到一個花費精力不多也能完成任務的土辦法。

完整示例:

documentclass{article}
usepackage[numbers]{natbib}
ibliographystyle{plainnat}

enewcommandcite[1]{citeauthor{#1} (citeyear{#1})}
egin{document}
cite{Knuth:BAMSN-1-337}

ibliography{texbook1}
end{document}


最後參考文獻還需要文獻標誌碼[J]之類,需要全新的.bst文件,用來引入style。可是沒有這個.bst。。。還在尋找解決辦法中


傳統的natbib宏包功能還是比較齊全的, 看看宏包文檔就知道了, 這個宏包文檔一時興起還翻譯了一下, 鬧著玩的


推薦閱讀:

長篇論文參考文獻標註有什麼好的技巧?

TAG:排版 | LaTeX | 論文寫作 | LaTeX排版與設計 | 參考文獻 |