%20%E3%82%92%20Editors%20(%E6%96%9C%E4%BD%93)%20%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%20(apalike%20%E3%81%AB%E9%A1%9E%E4%BC%BC)%20.png)
私は、BibTeX を特定のジャーナルの標準 (APA と非常に似ています) に準拠させようとしています。私は、すばらしいパッケージ custom-bib を使用してカスタム .bst ファイルを作成しましたが、2 つの点を除けば非常にうまく機能しました。
著者はいないが編集者がいる本の場合、私の.bstファイルは
Cook, E. および Kariukstis, L. (編集者)、1990 年。年輪年代学の方法:環境科学への応用、クルーワー・アカデミック・パブリッシャーズ
しかし、私はそれが生産されることを望んでいます
クック、E. およびカリウクスティス、L. (編集者年輪年代学の方法:環境科学への応用、クルーワー・アカデミック・パブリッシャーズ、1990年。
(Editors) の違いと、タイトルが斜体になっていないことに注意してください。実際の .bst ファイルがなければ再現できないことは理解していますが、誰かが正しい方向を指し示してくれることを期待しています。おそらく、次の関数が関係しているでしょう。BST 構文は、すぐには理解できません。
FUNCTION {bbl.editors}
{ "editors" }
FUNCTION {format.editors}
{editor "editor" format.names duplicate$ empty$ 'skip$
{
" " *
get.bbl.editor
"(" swap$ * ")" *
*
}
if$
}
FUNCTION {format.names}
{ 'bibinfo :=
duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}{, jj}{, f{.}.}"
format.name$
bibinfo bibinfo.check
't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{
" " * bbl.etal *
}
{
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}