我將所有參考文獻保存在一個巨大的 BibTeX 文件中,其中恰好包含每一篇參考文獻的完整期刊名稱。我目前正在準備一份需要縮寫期刊名稱的手稿。
從我所做的研究(包括閱讀本網站上的相關問題)來看,似乎(i)沒有標準的自動方法可以做到這一點,但是(ii)有各種工具,例如biber
和 ,jabref
這將允許我預-.bib
使用日誌名稱的全域搜尋和替換來文件。
然而,由於我的手稿只有一些參考文獻,因此手動輸入每個條目的新期刊名稱會更容易。有沒有辦法做到這一點?我正在尋找一種快速而骯髒的僅限 LaTeX 的解決方案,它不需要我安裝 TeX Live 中尚未包含的任何內容,因為我的日程安排很緊湊。我知道我可以編輯 .bib 檔案中的條目,但我不想這樣做,因為我喜歡將所有引用保留在同一個位置。
如果相關的話,我.bib
使用 Mac 上的 BibDesk 維護我的文件,我正在使用natbib
包,參考書目風格為apalike
.
答案1
我認為您不安裝任何東西的限制使得簡單的解決方案變得困難,所以我將根據這個答案建議以下解決方案。
jabbrv
從這裡下載軟體包:http://www.comholio.com/latex/jabbrv/jabbrv_apalike.bst
從這裡下載:https://github.com/amunn/random-code/blob/main/jabbrv_apalike.bst.bst
(我根據包中包含的其他文件創建了此文件。)如果您真的很著急,請將
jabbrv_apalike.bst
文件添加到該jabbrv
資料夾中,並將您的 TeX 文件也放入該資料夾中。 (這是不安裝任何東西的最快方法)。
如果您想正確安裝,您應該將軟體包安裝在本機texmf
資料夾中的以下位置(您需要jabbrv
自行建立資料夾)。在 Mac 上,<path-to-your-local-texmf>
= ~/Library/texmf
。
- 普丁
*.bst
<path-to-your-local-texmf>/bibtex/bst/jabbrv
- 普丁
jabbrv.sty
<path-to-your-local-texmf>/tex/latex/jabbrv
- 普丁
*.ldf
<path-to-your-local-texmf>/tex/latex/jabbrv
在您的 TeX 文件中,將以下行新增至序言:
\usepackage[warnundef]{jabbrv}
並更改您的參考書目風格命令:
\bibliographystyle{jabbrv_apalike}
檢查警告中是否有任何未縮寫的單詞,對於這些單詞,將如下行添加到序言中:
\DefineJournalAbbreviation{long name}{abbreviation} % No period at the end
我寫這個答案花了比獲取使用這個包的現有文件更長的時間。
答案2
標準化期刊(和出版商)名稱的一種方法是使用文件@String
中的函數.bib
。例如,
@String{j-CACM = "Communications of the ACM"}
會給你全名,同時
@String{j-CACM = "Comm. ACM"}
當需要縮寫時將被替換。
具體條目將包括
@Article{...,
...
journal = j-CACM,
...,
}
(無引號)。然後可以根據需要替換完整標題或縮寫的並行集合。這也避免了在各個條目中輸入姓名不一致的可能問題。
nelson beebe 在 2004 年的實用 tex 會議上提出了這種方法以及有關 bibtex 資料庫維護的許多其他信息,並產生了關於該主題的廣泛文章。 (納爾遜比我認識的任何人都更了解 bibtex 參考書目,並且擁有更多的經驗。他的建議很可靠,非常值得研究。)