.bib ファイル内の順序に従って参考文献を並べ替える

.bib ファイル内の順序に従って参考文献を並べ替える

ファイル内の順序を使用して参照の順序を並べ替えることは可能ですか.bib?

答え1

ここに、うまくいくはずの解決策がありますどれでもbib ファイル(エントリが逆アルファベット順にソートされたものを含む)。

まず、bib ファイルの先頭に次の命令を挿入します。

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

一見すると、この\noop指示は議論に何の役にも立たないので無意味に思える。これはLaTeX 組版走る、それはない真実は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適切に拡張します (例: aaaaaaabなど)。)

3番目に、書誌項目をアルファベット順に並べた書誌スタイルファイルを使用するようにしてください。指示の要点は\noopこれで明らかです。並べ替えの目的関連する姓は「aaMiller」、「abAnderson」、および「acJohnson」であるため、3 つのエントリは、bib ファイルで出現するのと同じ方法でソートされます (Anderson の後に Johnson、その後に Miller が続くのではなく)。その後、LaTeX がタイプセットを行うときに、、などの接頭辞が破棄されaaab名前が正しくタイプセットされます。

答え2

このスレッドでは @egreg による解決策が提供されています:https://tex.stackexchange.com/a/56640/204235

\nocite{*}を引用の前に文書の先頭に追加できます。参考文献は の順序で印刷され.bib、 の番号を使用する引用を追加することもできます.bib

関連情報