我有一个自定义的 .bstmakebst
。它运行良好,但我想为翻译作品添加一个额外的字段。理想情况下,我希望在适当的时候,在书名后面出现类似“由 [translator] 翻译”的内容,其中 [translator] 是译者的名字。我已将信息存储在我的 .bib 中(在 translator 下),但我不知道如何对 .bst 进行编码。
答案1
我有一个解决方案,基于这个问题.book
函数变为
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
format.number.series output
format.publisher.address output
}
{
format.book.crossref output.nonnull
}
if$
format.edition output
format.translator output
format.date "year" output.check
new.sentence
format.eprint output
fin.entry
}
我定义了一个新函数
FUNCTION {format.translator}
{ translator "translator" format.names
duplicate$ empty$ 'skip$
{
"translated by " swap$ *
} if$
}