
我目前正在修改 bst 檔案。我現在面臨的問題是如何改變樣式的分隔符號。
目前,我得到以下輸出:
Badie, Dina (2010)「群體思維、伊拉克和反恐戰爭:解釋美國對伊拉克的政策轉變」《外交政策分析》6(4):277-296。
但是,我需要以下輸出:
Badie, Dina (2010)“群體思維、伊拉克和反恐戰爭:解釋美國對伊拉克的政策轉變”,外交政策分析 6(4):277-296。
年份後面沒有逗號,但標題後面有逗號(以及編輯卷的章節中的編輯者後面)。
這是bst檔的程式碼:
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
%{ add.period$ write$
{ " " * write$
newline$
"\newblock " write$
}
{ output.state before.all =
'write$
{ add.period$ " " * write$ }
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title quote "title" output.check
new.block
crossref missing$
{
journal
"journal" bibinfo.check
"journal" output.check
add.blank
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
format.note output
fin.entry
}
FUNCTION {format.title}
{ title
duplicate$ empty$ 'skip$
{ "t" change.case$ }
if$
"title" bibinfo.check
}
答案1
我嘗試自己解決問題。所以我修改了@article函數
format.title quote "title" output.check
到
format.title ", " * quote "title" output.check
這是完整的功能
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title ", " * quote "title" output.check
new.block
crossref missing$
{
journal
"journal" bibinfo.check
emphasize
"journal" output.check
add.blank
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
format.note output
fin.entry
}
結果如下:
Burke, John P. (2005a)“Condoleezza Rice 作為國家安全委員會顧問:誠實經紀人角色的案例”,《總統研究季刊》35(3):554–575。
但是,我希望逗號位於引號之外,如下所示:
Burke, John P. (2005a)“擔任國家安全委員會顧問的康多莉扎·賴斯:誠實經紀人角色的案例”,《總統研究季刊》35(3):554–575。
我怎樣才能解決這個問題?也許透過改變報價功能?
FUNCTION {quote}
{ duplicate$ empty$
{ pop$ "" }
{ "`" swap$ * "'" * }
if$
}