是否可以使用文件中的順序對引用的順序進行排序.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 aaaa
、aaab
等)
第三,請務必使用參考書目樣式文件,依字母順序對參考書目條目進行排序。說明的要點\noop
現在應該很清楚了:對於排序目的,相關姓氏為“aaMiller”、“abAnderson”和“acJohnson”,因此這三個條目將以它們在圍脖文件中出現的相同方式排序(而不是先是 Anderson,然後是 Johnson,最後是 Miller)。稍後,當 LaTeX 進行排版時,它會丟棄aa
,ab
等前綴,並且名稱將被正確排版。
答案2
@egreg 在此線程中提供了一個解決方案:https://tex.stackexchange.com/a/56640/204235
\nocite{*}
可以在任何引文之前添加到文檔頂部,您的參考書目將按照您的順序打印,.bib
並且您仍然可以添加將使用.bib
.