年を入れる 文献データベース year = {2006}

年を入れる 文献データベース year = {2006}

- 古島 健太 の投稿
返信数: 12
すみません,またまた. 例えば @PROCEEDINGS {conference:06, editor = {エンゲルス}, booktitle = {Proceedings of the Xth Conference on XYZ}, year = {2006}, month = {October}, } の場合 year = {2006年} とするとエラーがでて𠮟られます. 2006年と印字させたいのですが.
古島 健太 への返信

Re: 年を入れる 文献データベース year = {2006}

- 和田 勇 の投稿

year = {2006年} とするとエラー

.bib ファイルで year は整数値と規定されているから は入れてはダメ。

  • 対処方法(一般的な方法)

    • bibtex や biber は .bst と .bib ファイルから bibitem 形式に変換したものを .bbl ファイルに吐き出します。なので、 bibtex や biber の処理が正常に終わったら、.bbl ファイルを書き換えてあげるのも一案ではありますが ...

    • 以下などを参考に、使用している .bst ファイルのカスタマイズを検討してください。

      bstファイルをちょっとカスタマイズする

    • わからなければ、プリアンブルと本文に文献引用に必要な記述、および .bib ファイル。またすでに .bst をカスタマイズ中であれば、そのファイルを zip ファイルなどにまとめてアップロードしてください。

.bst ファイルについて

TeXLive では多数の .bst ファイルがあり、【LaTeX】BibTeXのスタイル76個一覧に紹介されていますので、お好みのものを使用されると良いと思いますが、文献索引を用いた論文をある学会向けに作成しているのなら、当該の事務局等にどの .bst ファイルを使うか問い合わせしたほうが良いと思います。

和田 勇 への返信

Re: 年を入れる 文献データベース year = {2006}

- 古島 健太 の投稿
疑問1 .bstファイル内で記号で@ %の役割(定義)は?
疑問2 ファイルjplain.bstを見るとほとんど文法用語らしきものが見えないのはどうしてですか?
疑問3 bst文法の完全版はどこにあるのですか?

お忙しいと想像します.だけど返信は切望しています.
古島 健太 への返信

Re: 年を入れる 文献データベース year = {2006}

- 和田 勇 の投稿

>疑問1 .bstファイル内で記号で@ %の役割(定義)は?

  • @ ... 通常の文字のように思えますけど思えますけど、懸念される記述はどんなもの?

    • ちなみに texlive に登録されている .bst で @ は以下の使い方
      • 文字列の一部として "...@..." のように二重引用の中で使用
      • tex マクロ名に @ が含まれる場合(この場合は \makeatletter と \makeatothe で囲まれています)
  • % ... コメント

>疑問2 ファイルjplain.bstを見るとほとんど文法用語らしきものが見えないのはどうしてですか?

FUNCTION {or}or 関数(?)の定義になるのですが以下を参照されると良いでしょう。

Bibtexのスタイルファイル:bstファイルの文法

>疑問3 bst文法の完全版はどこにあるのですか?

適当なものが見つからないのですが

The LaTeX companion の邦訳本 The LaTeX コンパニオン13.8 スタイルファイルのちょっとした変更 p 494--495 を参考にしてください。ただしこの書籍は残念ながら絶版になっているので、都立図書館や県立図書館、大学の図書館などで探してください。

私の個人的見解では、使用可能な文字などが記載されている 上記疑問2 のURL でも良いかと思います。

古島 健太 への返信

Re: 年を入れる 文献データベース year = {2006}

- aminophen の投稿
> 疑問3 bst文法の完全版はどこにあるのですか?

日本語であれば https://www.ctan.org/pkg/pbibtex-manual が
公式であり最適な文献です。特に bst 文法は jbtxhak.pdf に網羅的。
TeX Live をインストールしていれば,ターミナルから
「texdoc jbtxhak」などとして読むことができます。
aminophen への返信

Re: 年を入れる 文献データベース year = {2006}

- 和田 勇 の投稿
フォローありがとうございます。
和田 勇 への返信

Re: 年を入れる 文献データベース year = {2006}

- 和田 勇 の投稿

参考文献の年情報 1234年 に変更

ちょっと時間があったので質問の意をくんで jplain.bst をカスタマイズしてみました。

なお、 month も併記時は 1234年5月にしてみました。

手順

  1. jplain.bst を myjplain.bst としてコピー
  2. 上記に対応して .tex 内を \bibliographystyle{myjplain} に変更
  3. 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$
    
和田 勇 への返信

Re: 年を入れる 文献データベース year = {2006}

- 古島 健太 の投稿
和田勇さま
教えてくれてありがとう.
早速実行してみます.
ちょっとこの間  返信遅れてごめんなさい.
和田 勇 への返信

Re: 年を入れる 文献データベース year = {2006}

- 古島 健太 の投稿
おっしゃる通りcopy&pasteしてやってみましたが
うまくいきません.
zipファイルNewbst.zipを送らせていただきました。
期待する出力は“1234年“です.
texlive texworksでやってます
jplainCopy.bst のFunction文もこちらで勝手に直しています
古島 健太 への返信

Re: 年を入れる 文献データベース year = {2006}

- 和田 勇 の投稿
私の指示についての書き方が不十分でした。

***myjplain.bst の FUNCTION {format.date} 関数定義内を以下のように変更***

と書きましたが、表示したものはソース差分情報なので

******myjplain.bst の FUNCTION {format.date} 関数定義内を以下の差分を参考に変更***

とした方が適切ですね。このような表現をされていたら、行頭の ***-*** は基準とした元ファイルのイメージで、
***+*** は変更したイメージを示します。簡単にいえば ***-*** で示された内容を ***+*** の内容に書き換えてねという意味です。

今回は、少量の変更ですが、大量の場合は手作業ではミスを誘発しやすくなります。
その対策が必要になったら、***patch ファイルの作成*** や ***patch ファイルの適用方法*** などで検索してください。

とはいえ、ソース差分とかパッチファイルについてご存知ないようなので、修正した jjplainCopy.bst を添付します。
和田 勇 への返信

Re: 年を入れる 文献データベース year = {2006}

- 古島 健太 の投稿
返信ありがとうございました.