LuaLaTeX+jlreq+pbibtexを使っています。
とある文章を作る際、参考文献の表示方法を「[1]:著者名:雑誌名(論文名), 出版社(発行元), ページ, 発行年.」のような形にしたいと思い、その形にするにはいろいろ調べてみるとbstをいじるもしくはbiblatexを使えばいいということは分かりました。
しかし、生成AIの力等も借りましたが自分ではその方法が分からず、ここでお尋ねした次第です。ご存じの方がおられましたらご教授いただけますと幸いです。 よろしくお願いいたします。
P.S.
添付ファイルのように参考文献の見出しを修正しているのでそれを受け継ぐのような形にしていただけますと幸いです。
Table of Contents
改修方針
FUNCTION {article} を変更しました
article や book など様々な形態の title のような各要素の表現方法 を変更するならば FUNCTION {format.title} のような関数をいじれば良いのですが、 要件を見ると、article でもその要素の並べ方が、junsrt.bst と異なるので FUNCTION {article} の書き換えを行うようにしました。
ですので book などで、同様のご要望があれば、類似の書き換えが必要と思われます。
検証は、 junsrt.bst を myjunsrt.bst として複製したものを、 カレントに配置して検証しています。
以下は、myjunsrt.bst の article の [1]:著者名:雑誌名(論文名), までの変更です。
まだまだ修正の余地はありますが、暫定版としてレポートします。
@@ -786,18 +786,34 @@
}
FUNCTION {article}
{ output.bibitem
+ ":" *
format.authors "author" output.check
- new.block
- format.title "title" output.check
- new.block
+ ":" *
+
crossref missing$
- { journal emphasize "journal" output.check
+ {
+ % journal emphasize "journal" output.check
+ % 上記を使うと journal の直前に「.」生成されてしまう
+
+ journal emphasize *
+ % format.title "title" output.check
+ % 上記を使うと title の直前に「,」が生成されてしまう
+ "(" *
+ title *
+ ")" *
format.vol.num.pages output
format.date "year" output.check
}
- { format.article.crossref output.nonnull
+ {
+ % format.title "title" output.check
+ "(" *
+ title *
+ ")" *
+ new.block
+
+ format.article.crossref output.nonnull
format.pages output
}
if$
出版社(発行元) 未対応について
ご要望されている 出版社(発行元) に関しては、どちらも publisher に なるので、後者の発行元は拡大解釈して techreport で利用されている institution で代用しても良いかと思いました。
記入がなければ表示しないと対応すれば良いのですが、要望された出力内容を 見ると、 参考文献情報として volume や number という必要なものが欠けて しまうので、ご意向を確かめたく publisher などを利用する修正を保留とし ました。