![如何在参考文献/bibtex 样式中有效使用逗号和点](https://linux22.com/image/281479/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE%2Fbibtex%20%E6%A0%B7%E5%BC%8F%E4%B8%AD%E6%9C%89%E6%95%88%E4%BD%BF%E7%94%A8%E9%80%97%E5%8F%B7%E5%92%8C%E7%82%B9.png)
我想使用这样的文章参考样式:
作者,杂志 体积第 23-34 页(年份)。网页链接
例如:
AN 俄亥俄州,BR Gerrad 和 M. Forsyth,纳特。媽媽。 24第 345-456 页(2002 年)。CrossRef
请帮助我更改 bibtex 格式样式 (.bst),以便我可以有效地使用逗号和点。
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ " " * write$ }
{ output.state after.block =
{ " " * write$
newline$
"\newblock " write$
}
{ output.state before.all =
'write$
{ add.period$ " " * write$ }
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
FUNCTION {fin.entry}
{ write$
newline$
}
FUNCTION {format.authors}
{ author empty$
{ "," }
{ author format.names }
if$
}
FUNCTION {format.date}
{ year empty$
'year
{" (" year * ")." * }
if$
}
FUNCTION {format.vol.num.pages}
{ volume field.or.null boldface
number empty$
'skip$
{ "(" number * ")" * *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
}
if$
pages empty$
'skip$
{ duplicate$ empty$
{ pop$ format.pages }
{ ", pp. " * pages n.dashify * }
if$
}
if$
}
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{ " et~al." * }
{ " and " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
new.block
", " * write$
format.title "title" output.check
new.block
crossref missing$
{ journal emphasize "journal" output.check
format.vol.num.pages output
format.date "year" output.check
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
note output
new.block
howpublished output
fin.entry
}
我使用了 acs.bst,在进行更改的部分...我复制粘贴了上面的内容。可以通过将这些部分与原始 acs.bst 文件进行比较来交叉检查更改。它让我可以完全控制逗号和点。