根據 .bib 文件中的順序對參考書目進行排序

根據 .bib 文件中的順序對參考書目進行排序

是否可以使用文件中的順序對引用的順序進行排序.bib

答案1

這是一個應該適用的解決方案任何bib 文件,其中的條目已按相反的字母順序排序。

首先,在 bib 檔案的頂部插入以下指令:

@preamble{ "\newcommand{\noop}[1]{}" }

乍一看,該\noop指令似乎毫無意義,因為它對其參數沒有任何作用。雖然這對於乳膠排版運行,就是不是為真BibTeX 排序階段。事實上,對於其工作的排序階段,BibTeX 將替換\noop{abc}abc並認為「abc」是需要按字母順序排序的材料的一部分。

其次,假設 bib 檔案中的條目少於 26*26=676 個條目,請在每個和字段中第一作者的姓氏之前立即插入\noop{aa}, \noop{ab}, ..., \noop{az}, \noop{ba}, , ... 指令(不帶空格)每個條目:\noop{bb}author

@article{xyz,
   author  = "Dane \noop{aa}Miller and Jane Smith",
   ...
}
@book{123,
   author = "Jill \noop{ab}Anderson and Bill Carlson",
   ...
}
...
@techreport{johnson:2012,
   author = "\noop{ac}Johnson, Jimmy",
   ...
}

(如果條目超過 676 個,只需\noop適當擴展 參數的字串長度,例如 to aaaaaaab等)

第三,請務必使用參考書目樣式文件,依字母順序對參考書目條目進行排序。說明的要點\noop現在應該很清楚了:對於排序目的,相關姓氏為“aaMiller”、“abAnderson”和“acJohnson”,因此這三個條目將以它們在圍脖文件中出現的相同方式排序(而不是先是 Anderson,然後是 Johnson,最後是 Miller)。稍後,當 LaTeX 進行排版時,它會丟棄aa,ab等前綴,並且名稱將被正確排版。

答案2

@egreg 在此線程中提供了一個解決方案:https://tex.stackexchange.com/a/56640/204235

\nocite{*}可以在任何引文之前添加到文檔頂部,您的參考書目將按照您的順序打印,.bib並且您仍然可以添加將使用.bib.

相關內容