year = {2006年} とするとエラー
.bib ファイルで year は整数値と規定されているから 年
は入れてはダメ。
対処方法(一般的な方法)
bibtex や biber は .bst と .bib ファイルから bibitem 形式に変換したものを .bbl ファイルに吐き出します。なので、 bibtex や biber の処理が正常に終わったら、.bbl ファイルを書き換えてあげるのも一案ではありますが ...
以下などを参考に、使用している .bst ファイルのカスタマイズを検討してください。
わからなければ、プリアンブルと本文に文献引用に必要な記述、および .bib ファイル。またすでに .bst をカスタマイズ中であれば、そのファイルを zip ファイルなどにまとめてアップロードしてください。
.bst ファイルについて
TeXLive では多数の .bst ファイルがあり、【LaTeX】BibTeXのスタイル76個一覧に紹介されていますので、お好みのものを使用されると良いと思いますが、文献索引を用いた論文をある学会向けに作成しているのなら、当該の事務局等にどの .bst ファイルを使うか問い合わせしたほうが良いと思います。
>疑問1 .bstファイル内で記号で@ %の役割(定義)は?
@
... 通常の文字のように思えますけど思えますけど、懸念される記述はどんなもの?- ちなみに texlive に登録されている .bst で
@
は以下の使い方- 文字列の一部として
"...@..."
のように二重引用の中で使用 - tex マクロ名に @ が含まれる場合(この場合は \makeatletter と \makeatothe で囲まれています)
- 文字列の一部として
- ちなみに texlive に登録されている .bst で
%
... コメント
>疑問2 ファイルjplain.bstを見るとほとんど文法用語らしきものが見えないのはどうしてですか?
FUNCTION {or}
は or
関数(?)の定義になるのですが以下を参照されると良いでしょう。
>疑問3 bst文法の完全版はどこにあるのですか?
適当なものが見つからないのですが
The LaTeX companion
の邦訳本 The LaTeX コンパニオン
の 13.8 スタイルファイルのちょっとした変更 p 494--495
を参考にしてください。ただしこの書籍は残念ながら絶版になっているので、都立図書館や県立図書館、大学の図書館などで探してください。
私の個人的見解では、使用可能な文字などが記載されている 上記疑問2 のURL でも良いかと思います。
参考文献の年情報 1234年
に変更
ちょっと時間があったので質問の意をくんで jplain.bst をカスタマイズしてみました。
なお、 month も併記時は 1234年5月
にしてみました。
手順
- jplain.bst を myjplain.bst としてコピー
- 上記に対応して .tex 内を
\bibliographystyle{myjplain}
に変更 myjplain.bst の
FUNCTION {format.date}
関数定義内を以下のように変更--- /opt/texlive/2023/texmf-dist/pbibtex/bst/jplain.bst 2023-08-20 15:50:06.892872627 +0900 +++ myjplain.bst 2023-08-21 08:30:39.391043355 +0900 @@ -382,8 +382,8 @@ if$ } { month empty$ - 'year - { month " " * year * } + { year "年" * } + { year "年" * month * "月" * } if$ } if$
うまくいきません.
zipファイルNewbst.zipを送らせていただきました。
期待する出力は“1234年“です.
texlive texworksでやってます
jplainCopy.bst のFunction文もこちらで勝手に直しています
***myjplain.bst の FUNCTION {format.date} 関数定義内を以下のように変更***
と書きましたが、表示したものはソース差分情報なので
******myjplain.bst の FUNCTION {format.date} 関数定義内を以下の差分を参考に変更***
とした方が適切ですね。このような表現をされていたら、行頭の ***-*** は基準とした元ファイルのイメージで、
***+*** は変更したイメージを示します。簡単にいえば ***-*** で示された内容を ***+*** の内容に書き換えてねという意味です。
今回は、少量の変更ですが、大量の場合は手作業ではミスを誘発しやすくなります。
その対策が必要になったら、***patch ファイルの作成*** や ***patch ファイルの適用方法*** などで検索してください。
とはいえ、ソース差分とかパッチファイルについてご存知ないようなので、修正した jjplainCopy.bst を添付します。