ファイル内の順序を使用して参照の順序を並べ替えることは可能ですか.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
適切に拡張します (例: aaaa
、aaab
など)。)
3番目に、書誌項目をアルファベット順に並べた書誌スタイルファイルを使用するようにしてください。指示の要点は\noop
これで明らかです。並べ替えの目的関連する姓は「aaMiller」、「abAnderson」、および「acJohnson」であるため、3 つのエントリは、bib ファイルで出現するのと同じ方法でソートされます (Anderson の後に Johnson、その後に Miller が続くのではなく)。その後、LaTeX がタイプセットを行うときに、、などの接頭辞が破棄されaa
、ab
名前が正しくタイプセットされます。
答え2
このスレッドでは @egreg による解決策が提供されています:https://tex.stackexchange.com/a/56640/204235
\nocite{*}
を引用の前に文書の先頭に追加できます。参考文献は の順序で印刷され.bib
、 の番号を使用する引用を追加することもできます.bib
。