論文などを投稿したことがないので誤解している箇所があるかもしれませんが、ご了承ください。
素人感覚では、投稿先で unsrt.bst をもとにしたものを提供しているのではと思いますが ....
誰も答えないので、トライアンドエラーで以下のように unsrt.bst の article に関するところを改造を試みてみました。
ポイントは、ジャーナルの後のカンマを取り除くため、関数 output.nonnull に書かれている 「", "」を「" "」に変更した関数を作成しました。
また ボリュームの後のカンマは、最終的に output,nonnull を利用して生成されているので、上記作成した関数を利用するような関数を作成しました。
その上で、関数 article で上記作成した関数を利用するよう改造してみました。
利用したソースはhttps://blog.wtsnjp.com/2019/08/08/bibstalin/ に掲載された bibstalin1.bib と bibtest.tex を利用して検証してみました。
@article{kuroyuki,
author = {Kuroyuki, Daruma},
title = {Snowmen conquer the world},
journal = {Journal of Snowmen},
year = 2019,
}
@article{duck,
author = {Duck, Taro},
title = {Hisroty of the duck revolution},
journal = {Ducks Communication},
year = 1986,
}
@article{yuki,
author = {Yuki, Daruma},
title = {Variety of font glyphs for snowmen},
journal = {Journal of Snowmen},
year = 2016,
}
@article{Nielsen,
author = {O Nielsen},
journal = {Chem. Phys.Lett.},
page = { 439},
volume = { 18},
year = { (2007) },
}
bibtest.tex
\documentclass[a4paper]{article}
\begin{document}
\bibliographystyle{unsrt}
\nocite{*}
\bibliography{bibstalin1}
\end{document}
修正イメージ
--- /usr/local/texlive/2021/texmf-dist/bibtex/bst/base/unsrt.bst
+++ unsrt.bst
@@ -66,6 +66,26 @@
if$
s
}
+FUNCTION {output.nonnullNONEcomma}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
FUNCTION {output}
{ duplicate$ empty$
@@ -81,6 +101,13 @@
'output.nonnull
if$
}
+FUNCTION {output.checkNONEcomma}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnullNONEcomma
+ if$
+}
FUNCTION {output.bibitem}
{ newline$
@@ -542,8 +569,8 @@
new.block
crossref missing$
{ journal emphasize "journal" output.check
- format.vol.num.pages output
- format.date "year" output.check
+ format.vol.num.pages output.nonnullNONEcomma
+ format.date "year" output.checkNONEcomma
}
{ format.article.crossref output.nonnull
format.pages output