更新日: 2016年03月27日      

経済学におけるBibTeXの利用

Home (en) » ホーム (ja) » TeXのページ » 経済学におけるBibTeXの利用

経済学でBibTeXを使う方法についての説明です。「経済学における」と書いていますが、経済学が専門ではない人でも参考になるかもしれません。
このページを書いたのはだいぶ昔なので、ちょっと内容が古いです。


BibTeXとは?

経済学で論文、レポート、レジュメその他もろもろを書くときには、様々な文献を 引用、参照することが多いと思いますが、TeX を使ってその種の文書を書く際に「直接 thebibliography 環境を書く」人が多いようです。なぜかというと

  • 本文で引用していても Reference には載せ忘れている。
  • Reference の形式がバラバラ。例えば、
    • 項目 (年、タイトル、著者名等) の順序が文献によってバラバラ。
    • 本、雑誌名をイタリックにしていない (経済学では普通イタリック)。
    • ある文献の著者の first name はイニシャルだけにしているが、別の著者の名前は全部書いている。
    • カンマ、ピリオド、シングル・ダブルクオーテーションが入ってたり入ってなかったり。
    • スペース入ってたり入ってなかったり。
    • 文献の順序がおかしい(経済学では alphabetical order が多いです)。
  • 引用の形式もおかしい。Reference の情報の微妙に違っていたり。

というような文書をよく見ますので。

もうちょっと気の効いた人は自分でデータベースを作成して、そこから論文にコピペしているようですが、そういう場合でも違うものを書くたびに

  • 本文中で引用しているものを探して、データベースからコピペする。しかもアルファベット順に。
  • Reference の形式を変えたくなったとしても、全部手で書き直さないといけない。
  • [1] によれば云々というように番号の形式で引用しないといけないとき (経済学 だとあまり見ませんが) はさらに最悪。一つ文献を加える (or 除く) だけで全部 手で番号付け直さないといけない。

という作業が必要になると思います。このように、文献の引用・参照をまじめにや ろうとすると非常に面倒なのですが、これは BibTeX 使うことで解決できます。

BibTeX を使う場合には

  • 文献を事前にデータベースに登録しておく。
  • TeX のファイルで引用の命令を書く。
  • BibTeX を実行すると TeX のファイルで引用されてる文献だけをデータベースか ら探して、指定した形式で reference を自動で作成してくれる。

というようにかなりの部分を自動で処理することができます。ですので、reference は

  • 基本的に自分で書く必要ありません。
  • すごく正確で間違えることはありませんし、ずっときれいです。
  • 引用しておいて、Reference に載っけ忘れということもないです。
  • 自分でアルファベット順に並べることもしないですみます。
  • スタイルファイルを変えるだけで自由に reference の形式を変えれます。
    もし項目 (著者名、タイトル、年 etc.) の順序変えないといけなくなっても自分で 書き換える必要ありません。

しかも、

  • citation の形式もスタイルファイルによって好きなのに変えれます。

ですので、citation も

  • 自分で書く必要ありません。
  • 正確できれい。
  • これもスタイルファイルによって好きな形式に変えれます。

利用例

例 1: BibTeX のスタイルファイルを変える例

同じ TeX のファイルで同じ文献を引用しているのを、BibTeX のスタイルだけ変えてコ ンパイルした例。Reference の形式が変わります

  • aer.pdf
    aer.bst (AER 風の reference になるスタイルファイル) を使ったもの
  • ecta.pdf
    ecta.bst (Econometrica 風の reference になるスタイルファイル) を使ったもの。
  • econometrica.pdf
    econometrica.bst (これも Econometrica 風の reference になるスタイル ファイル) を使ったもの。
  • cje.pdf
    cje.bst (Canadian Journal of Economics 風の reference になるスタイル ファイル) を使ったもの。

上の例の中で引用されている文献はデータベースではこ のように登録されています。データベースでは適当な順番に箇条書きで登録されて いるだけなのですが、BibTeXを使うとTeXファイルで引用している文献だけをデータベー スから読み込み、指定した形式に従って自動で参考文献部分を作成してくれます。

例 2: citation の形式を変更した例

  • citation.pdf
    natbib.sty を使うといろいろな形式の cite の仕方ができます。サンプル PDFで確認してください.

例 3: 日本語文献も掲載する例

  • jecon-sample.pdf
    ここにある jecon.bst という BibTeX のスタイルファイルを使えば、英語文献・日本語文献を同時に扱え、しかも経済 学でよく見るような形式で参考文献をつくることができます。

BibTeX の使い方

  • データベースをつくる。
  • 必要なものをインストールする。
  • TeX のファイルを書く。

もう TeX をインストールしてあって使っているという人は、これから書く手順を一回覚えれば、基本的に BibTeX 使えるようになります。たいして難しくないですから覚えましょう。

[注]以下で出てくる \texmf というフォルダは TeX 一式がイン ストールされているフォルダのことです。例えば TeX が c:\ptex\texmf の 下にインストールされてたら \texmfc:\ptex\texmf というフォ ルダのことです。違うところにインストールしてある場合には、適当に別なフォルダ に読み変えてください。

データベース

まず、データベースファイル (文献リストを登録しておくファイル) を用意する必要があります。このファイルは拡張子を bib としなければいけないので、以下 bib ファイ ルと呼びます。

中身の書き方はたいていの TeX の本に載っています。例えば、奥村さんの 『LaTeX2e 美文書作成入門』 等に載っています。ウェブサイト等も参考になります。検索すればたくさん出てきます。

ファイルの形式はテキストファイルですので、作るのに専用のソフトは別にいりません。テキストファイルの編集ができるものならなんでも OK です。 秀丸でも xyzzyでもメモ帳でもMSワードでもな んでもかまいません。おすすめは Emacsです。 Emacs には BibTeX mode というものがついているので、楽に bib ファイルを書くことができます。あるいは、BibTeXのデータベースを入力するための専用のソフトを使うのもいいかもしれませ ん。Google で検索すればきっとで見付かります ( ここでたくさん紹介されています)。

とりあえずここでは以下の bib ファイルをサンプルとして使います。

これを download して \texmf\bibtex\bib フォルダの下の好きなところにコピーして置きます。bib ファイルは置く場所が決まっていて、デフォールトの設定では、この \texmf\bibtex\bib の下のフォルダの bib ファイルしか bibtex は読み込みません。

[注] 環境変数を設定することで bib ファイルの置き場所を変えることが できます。例えば、c:\home\tex というフォルダを bib ファイルを置き場所にしたい ときには、BIBINPUTS という環境変数にそのフォルダを指定してください。Windows 2000/XP ユーザーなら、コントロールパネル→システム→環境変数で指定できます。

ちなみに私は BIBINPUTS に以下のように設定しています.

.;c:\home\tex\\;c:\ptex\texmf\bibtex\\;c:\ptex\texmf\jbibtex\\
こう設定して置くと,カレントフォルダ,c:\home\tex,c:\ptex\texmf\bibtex, c:\ptex\texmf\jbibtex フォルダの下のフォルダにある bib ファイルを読み込んでく れます.最後に \\ を付けておくことで,下位のフォルダまで再帰的に bib ファイル を検索をしてくれます.

同様に、以下ででてくる bst ファイルの置き場所 (フォルダ) も変更可能です。 この場合は BSTINPUTS という環境変数に指定してください。

ちなみに、この econ_ref.bib というのは、私が作って使ってるデータベースです。中身は international trade と environmental economics の文献ばかりです (中身のPDF)。まあ、こういうようにつくればいいという例です。

経済学で引用されるのは

  • Journal の中の論文 (article)
  • 本 (book)。
  • 本の中の論文 (incollection)。
  • mimeo or working paper (unpublished).

がほとんどだと思うので、とりあえずこの 4 種類の文献の登録の仕方だけ覚えれば十分だと思います。( ) 内の用語は BibTeX での文献の分類を表してます。mimeo や working paper は、econ_ref.bib の中では unpublished というタイプに分類しています。

上の 4 つのかきかたの例。

Journal 内の論文 (article) のケース

Brezis, Elise S., Paul R. Krugman, and Daniel Tsiddon (1993)
"Leapfrogging in International Competition: A Theory of Cycles in National Technological Leadership", American Economic Review, Vol. 83, No. 5, pp. 1211-1219, December.

という文献があったとします。これはデータベースでは次のように書きます。

%%% alias (abbreviated name)
@string{AER = "American Economic Review"}

@Article{brezis93:_leapf_inter_compet,
  author =   {Elise S. Brezis and Paul R. Krugman and Daniel
                  Tsiddon}, 
  title =    {Leapfrogging in International Competition: A Theory
                  of Cycles in National Technological Leadership}, 
  journal =      AER,
  year =     1993,
  volume =   83,
  number =   5,
  pages =    {1211-1219},
  month =    dec
}

文献の登録部分は4行目からです。4行目の @xxx の xxx に書いてあるのが、その文 献の種類を表しています。Journal article は @article とします。あとの項目は見 ての通りです。

  • 数字だけの項目は { } で囲むのを省略できます。
  • { } の代わりに "" で囲むのでもよいことになっています。
  • month は省略形で書けます。 January → jan、Febrary → feb, etc.

@xxx{ の後に書いてある brezis93:_leapf_inter_compet はこの文献を 表すキーワードです。TeX のファイルではこのキーワードを指定することになります。 普通の人は覚えやすいように、なんらかのルールをつくってキーワードを付けてるよう です。例えば、著者名、年、タイトルを組みあわせて付けるというようにです。

上のは Emacs の BibTeX mode で書いていて brezis93:_leapf_inter_compet はその BibTeX mode が勝手に付けてくれる キーワードです。普通の人は、絶対覚えられないので、こんな長くてややこしいキーワー ドは付けないと思います。でも Emacs 使いだったら別にこれでもかまいません (あと で説明します)。

注意することは文献の種類によって必ず書かないといけない項目があることです。 例えば Journal article の場合は Journal 名フィールドが必須です。これについて は、上に挙げた本なんかを参照してください。

二行目の @srting のところで AER という文字で American Economic Review を表すと定義しています。こうしておくと AER と書いた場合に American Economic Review と bibtex は自動で展開してくれます。よく利用する journal 名、 出版社名等は略称を定義しておくのが便利です。

month フィールドなんかは省略可です。

次、本 (book) のケース

Fujita Masahisa, Paul R. Krugman and Anthony J. Venables (1999)
The Spatial Economy, Cambridge, MA: MIT Press.

という書籍があったとします。これはデータベースでは次のように書きます。

%%% alias (abbreviated name)
@string{pu-MIT = "MIT Press"}
@string{ad-MIT = "Cambridge, MA"}

@Book{fujita99:_spacial_econom,
  author =   {Masahisa Fujita and Paul R. Krugman and Anthony J. Venables},
  title =    {The Spacial Economy},
  publisher =    pu-MIT,
  year =     1999,
  address =  ad-MIT
}

Book も article と基本的な形式は同じですが、publisher と publisher の address が必須です。pu-MIT と ad-MIT はそれぞれ MIT press の名前と住所の別名 定義です。

本の中の論文 (incollection) のケース

本の中の一本の論文を引用するケースです。例えば、以下のような文献。

Krugman, Paul R. (1991b) ``Is Bilateralism Bad?'''', in Elhanan Helpman and Assaf Razin eds. International Trade and Trade Policy, Cambridge, MA: MIT Press, pp. 9--23.

この場合には、incollection というタイプで指定します。
@InCollection{krugman91:_is_bilat_bad,
  author =   {Paul R. Krugman},
  title =    {Is Bilateralism Bad?},
  booktitle =    {International Trade and Trade Policy},
  pages =    {9-23},
  publisher =    {MIT Press},
  year =     1991,
  editor =   {Elhanan Helpman and Assaf Razin},
  address =  {Cambridge, MA}
}

最後に Working paper のケース

Working paper はとりあえず unpublished というタイプで指定しておけばよいと思い ます。

@unpublished{boehringer97:_envir_tax_refor_prosp_doubl_divid,
  author =   {Christoph Bohringer and Andreas Pahlke and Thomas F. Rutherford},
  title =    {Environmental Tax Reforms and the Prospect for a Double Dividend},
  month =    jan,
  year =     1997,
  note =     {Mimeo,\\ (available at: {\tt http://debrue.colorado.edu/})}
}

note フィールドが必須です。note フィールドの中身はそのまま最後に表示される ことになります。

必要なものをインストール。

BibTeX 使うのに必要なプログラム。

  • まずあたりまえですけど TeX。
  • BibTeX 本体。
  • natbib package。これは author (year) 形式で cite をおこなうのに必要です。
  • 経済学用の BibTeX のスタイルファイル。

BibTeX 本体

BibTeX 本体 (bibtex.exe という名前のプログラム。日本語用は pbibtex.exe) は普通に TeX をインストールしてある人でしたらインストールされてるはずです。 bibtex.exe で HD をファイル検索して見付かったらおそらくインストールされています。

[注]pbibtex.exe というプログラムを日本語用と書きましたが、正確には少 し違います。pbibtex.exe は同じ文書で英語文献、日本語文献の両方を扱っているとき に使うものです。ですので、本文は日本語で書いていたとしても、引用している文献が 英語の文献だけでしたら、bibtex.exe でも適切に処理できます。ただし、pbibtex.exe は bibtex.exe の上位互換であるので、英語文献しか扱っていないときにも pbibtex.exe で処理してもかまいません。

natbib package

これは経済学で通常利用される author (year) 形式での cite するのに必要なものです。natbib.sty も新しい TeX をインストールしてる人でしたら、いっしょにインストールされてると思います。natbib.sty というファイルを検索して \texmf\tex フォルダの下のどこかのフォルダにあったらもうインストールされてるので、新しくインストールする必要はないでしょう。

もし、なかったら CTAN (Comprehensive TeX Archive Network: TeX のツールがいろい ろ置いてあるサイト) に置いてあるので、そこからダウンロードします。

経済学用 BibTeX スタイルファイル

BibTeX スタイルファイルを変えることで reference の形式が変わります。ですの で、自分が好きな形式にしてくれるようなスタイルファイルを選びます。

普通の TeX にもデフォールトでいろんな BibTeX スタイルファイル (拡張子は bst) が付いています。例えば、

  • abbrv.bst, alpha.bst, apalike.bst, ieeetr.bst, plain.bst, siam.bst, unsrt.bst

こんな感じのファイルが \texmf\bibtex\bst フォルダの下にのどこかに 置いてあるはずです。こういうデフォールトで入っているスタイルファイルを使っても もちろんいいのですが、経済学の journal の reference 形式にするスタイルファイル があるので、ここではそっちを入手して使います。

経済学の journal 形式にしてくれる BibTeX のスタイルファイルは結構あると思います。

  • aer.bst (これは AER の reference 形式)
  • cje.bst (Canadian Journal of Economics の reference 形式)
  • ecta.bst (これは Econometrica の reference 形式)
  • econometrica.bst (これも Econometrica の reference 形式)

ここに挙げた 4 つは全部 CTAN に置いてあります。例えば ここです。この中の bst という拡張子を持つファイルを全部ダウンロードして、 とりあえずどこかに保存します。そして、

  • bst という拡張子のファイル (これが BibTeX のスタイルファイル) を \texmf\bibtex\bst フォルダの下のどこかにコピー。
  • sty という拡張子のファイルはまたまた \texmf\tex\latex フォルダ の下にコピー。

しておきます。

[注] 上のあげた 4 つの bst ファイルは英語文献用で、日本語文献は上 手く処理できません。英語の文献も日本語の文献も両方とも cite、refer したい人は、 ここ にあるjecon.bstというのを使ってください。jecon.bst を ダウンロードして、\texmf\jbibtex\bst の下にコピーしといてください (\texmf\bibtex\bst じゃないので注意してください)。

以上で準備はおしまいです。

TeX のファイルを書く。

書き方は簡単です。aer.tex を例にします。

まず、プリアンプルで natbib.sty を読み込みます


\usepackage[longnamesfirst]{natbib}

こんな感じです。option の longnamesfirst については natnotes.pdfを見てください。付けないでもかまいません。

次、\begin{document} の後で \bibliographystyle を指定しま す。この指定によって reference の形式が変わります。


\bibliographystyle{aer}

ここではさっきダウンロードした aer.bst を指定しています。 \texmf\bibtex\bst の下にある bst という拡張子のファイルがあるスタイル を指定できます。さっきダウンロードしものですと ecta, econometrica, cje 等があ るはずです。他にも TeX に初めから入っているのがたくさんあります。日本語文献に も対応したものは \texmf\jbibtex\bst の下にあるはずです。

次に実際に引用します。TeX で普通引用に使われる命令は \cite ですが、 natbib では \citet を使います。例えば、キーワードが fujita99:_spacial_econom である文献を引用するには次のような命令を書き ます。


\citet{fujita99:_spacial_econom} is ...

キーワードというのは上で説明した通り BibTeX のデータベースファイルで各文献 に付けているラベルのことで、データベースを書くときに自分で書くものです。

後は同じように好きなだけ引用、引用、引用していけばいいです。

最後に reference を入れる場所で、


\bibliography{econ_ref}

こんな感じのコマンド入れます。ここの econ_ref というのは BibTeX のデータベー スのファイルの名前のことです。自分が使うデータベースファイルの名前を指定します。 ファイルには拡張子として bib が付いてるはず (本当の名前は econ_ref.bib) ですが、 ここでの指定では拡張子は省略して指定します。

以上で TeX のファイルを書くのは終りです。後は aer.tex を見てください。

コンパイル

BibTeX を使うときには (p)latex でコンパイルするだけではだめで、bibtex コマ ンドも実行しないといけません。手順は

  • (1) まず (p)latex で一回コンパイル、
  • (2) bibtex 実行、
  • (3) あと 2 回 (p)latex でコンパイル。

でいいはずです。コマンドプロンプトから実行するなら、aer.tex のあるフォルダ に移動して


> platex aer.tex [RET]
> bibtex aer [RET]
> platex aer.tex [RET]
> platex aer.tex [RET]

とします (日本語入ってるから platex)。

エラーが出ずに上手くコンパイルできたら aer.dvi みた いになるはずです。

[注] 例としている aer.tex というファイルは日本語を含んだファイルな ので、TeX の処理には platex.exe を利用しています。しかし、文献については英語 のものしか含んでいないため、BibTeX の処理は bibtex.exe でかまいません。ただし 上ですでに指摘したように、pbibtex.exe は bibtex.exe の上位互換となっているの で、英語文献しか含まれていないときに pbibtex.exe で処理しても問題ありません。

日本語の文献を引用、参照しているときには、bibtex.exe ではなく pbibtex.exe を実行することになりますが、上の例で指定している aer.bst はもともと英語文献の ことしか考慮していないので、aer.bst を使っているときに日本語文献を引用しよう としても適切には処理されません。例えば、

@Book{ito85:_inte_trad,
  author =   {伊藤 元重 and 大山 道広},
  title =    {国際貿易},
  publisher =    {岩波書店},
  year =     1985,
  note =     {モダン・エコノミクス 14},
  yomi =     {いとう もとしげ}
}
  
というような文献を aer.bst で処理しても、reference では以下のような結果となってしまいます。

元重, 伊藤 and 大山道広, 国際貿易, 岩波書店, 1985. モダン・エコノミクス 14.

姓・名の順序がおかしいですし、名前の区切も and になってしまいます。 日本語文献を扱う際には、日本語文献に対応した BibTeX のスタイルファイル (上で 挙げた jecon.bst 等) を使わなければ、いくら pbibtex を使ったとしても適切には 処理されません。

コンパイルの仕組み

BibTeX を使う場合には、


[1] platex aer.tex
[2] bibtex aer
[3] platex aer.tex
[4] platex aer.tex

という手順でコンパイルすると書きましたが、このような手順をとる理由を簡単に説明します。

その壱

まず、[1] で platex を実行することで aer.aux というファイルが作成され、そ の中に、

  • aer.tex の中で \cite(t) 命令で引用されている文献の情報 (キーワード)、
  • \bibliographystyle 命令で指定されている BibTeX スタイルファイルの名前、
  • \bibliography 命令で指定されている BibTeX データベースファイル名
等が書き込まれます。

その弐

次に、[2] で、bibtex は aer.aux ファイルの中身を読み込み、引用されている文 献のみをデータベースから探し出し、指定したスタイルで reference を作成します。

作成された reference は bbl という拡張子を持ったファイル (上の例では aer.bbl) に出力されます。bibtex を実行した後に、試しに aer.bbl というファイル を開いて中身を覗みてください。以下のような中身となっているはずです。


\ifx\undefined\bysame
\newcommand{\bysame}{\leavevmode\hbox to\leftmargin{\hrulefill\,\,}}
\fi
\begin{thebibliography}{xx}

\harvarditem[Baldwin and Krugman]{Baldwin and
  Krugman}{1988}{baldwin88:_market_acces_inter_compet}
{\bf Baldwin, Richard~E. and Paul~R. Krugman}, ``Market Access and
  International Competition: A Simulation Study of {16K} Random Access
  Memories,'''' in R.~Feenstra, ed., {\it Empirical Methods for International
  Trade}, Cambridge, MA: MIT Press, 1988.


... 途中略


\harvarditem[Krugman and Obstfeld]{Krugman and
  Obstfeld}{2000}{krugman00:_inter_econom}
{\bf \bysame{} and \bysame{}}, {\it International Economics: Theory and
  Policy}, 5th ed., ?: Addison-Wesley, 2000.

\end{thebibliography}

BibTeX が自動で \thebibliography 環境を作成してくれているのがわかると思いま す。

[注] なお、bibtex.exe を実行しても、bbl ファイルが作成されないよう なときは、なんらかのエラーが生じている可能性が高いです。このようなときには同 じフォルダに aer.blg というファイルができているはずなので、それの中身を読ん でください。この blg という拡張子を持つファイルにはエラーメッセージを含めた bibtex のログが出力されます。

その参

[3] で platex を再び実行することで [2] で作成された reference 部分が読み込 まれることになります。

その四

最後に、[4] で platex を実行することで、引用部分を適切に処理し完了となりま す。

流れのまとめ

  1. (p)latex を実行
  2. aux ファイルが出来る
  3. (p)bibtex を実行
  4. (p)bibtex が aux ファイルの中の情報を読み込んで、指定されたデータベース から指定された形式で参考文献部分を作成。
  5. 結果 (作成された \thebibliography 環境) が bbl ファイルに出力される。
  6. もう一回、(p)latex 実行。bbl ファイルの中身を読み込み、\bibliography 命令のある部分に出力される。
  7. さらにもう一回、(p)latex 実行。引用部分を適切に処理。
  8. エラーがなければおしまい。

はまったばあい。

上の通りにやっても上手くいかぬという場合。とりあえず、考えられる原因は、

  • Download した bst ファイルをちゃんと \texmf\bibtex\bst フォルダ の下に保存したか? 他の場所だと bibtex が読み込まないです。
  • Download した bib ファイルをちゃんと \texmf\bibtex\bib フォルダ の下に保存したか? これも他の場所だと bibtex が読み込まないです。
  • natbib.sty を \texmf\tex\latex フォルダの下に保存したか? 他の 場所だと latex (or platex) が読み込まないです。

これでもだめなら、詳しい人に聞いたほうがいいです。

文献のキーワードをどうやって付ける?

BibTeX を使うとき、というかデータベースファイル (bib file) を書くときに一 番問題になるのは文献のキーワードの付け方です。やってみればわかりますが、自分で キーワード付けるのはかなり面倒です。ということで Emacs を薦めます。

まず、データベース (bib file) は Emacs の BibTeX mode で書きます。これには 様々な機能が付いている (補完入力、並べ変え等) のでかなり入力が楽ですし、文献に 付けるキーワードも自動で適当なものを付けてくれます。

TeX のファイルで引用するときには RefTeX mode を使います。普通だと、引用した い文献に付けてるキーワードを覚えておくか、どんなキーワードを付けていたかデータ ベースみて確認しないと引用できませんが、Emacs の RefTeX mode を使えば引用した い文献のキーワードも、タイトルも年も覚えていなくても楽に引用できます。

例えば、Krugman の論文引用したが、何年の何という論文か忘れたというとき (も ちろん付けたキーワードも忘れている) でも、RefTeX mode で Krugman を指定してあ げれば、Krugman の文献だけをデータベースから読み込んで一覧表示してくれます。こんな感じです。これでタイトルも年も忘れた文献 だろうが引用することができます.

BibTeX についていろいろ

BibTeX 関連のファイル

上でちょっと説明しましたが、BibTeX を使うと次の二つのファイルが tex ファイルと 同じフォルダに自動で作成されます。 tex のファイル名を texfile.tex とすると
  • texfile.blg
  • texfile.bbl
となります。

blg ファイル (拡張子が blg のファイル):

これには BibTeX のログが保存されます。例えば、中身はこんなかんじです。

This is pBibTeX, Version 0.99d-j0.33 (utf8.euc) (Web2C 2010/dev)
The top-level auxiliary file: jecon-sample.aux
The style file: jecon.bst
Reallocated wiz_functions (elt_size=4) to 3400 items from 0.
Reallocated wiz_functions (elt_size=4) to 6800 items from 3400.
Database file #1: ./jecon-sample-temp.bib
I was expecting a `,'' or a `}''---line 213 of file ./jecon-sample-temp.bib
 :   
 :   title =   {環境政策と国際貿易},
(Error may have been on previous line)
I''m skipping whatever remains of this entry
Warning--I didn''t find a database entry for "miyazawa02:_io_intr"
`year'' is a missing field, not a string, for entry isikawa02jp:_env_trade
while executing---line 2836 of file jecon.bst
Warning--there''s a number but no series in ito85:_inte_trad
Warning--there''s no year or yyear in isikawa02jp:_env_trade
Warning--empty year in isikawa02jp:_env_trade
Warning--empty title in isikawa02jp:_env_trade
Warning--empty booktitle in isikawa02jp:_env_trade

以下略
      
  • 一行目には利用している (j)BibTeX のバージョンが表示されます。
  • Warning というのは警告です。例えば
            
    Warning--there''s a number but no series in ito85:_inte_trad
          

    という Warning がありますが、これは ito85:_inte_trad とい うエントリーには number フィールドは指定されているが、serise フィー ルドが指定されてませんよという警告です。警告は無視してもかまいませ んが、その内容を一応見ておいたほうがよいでしょう。

  • "I was expecting a `,'' or a `}''" で始まる行はエラーを表しています。 このエラーの意味は文字通り "," か "}" が必要な部分に存在していないという ことです.エラーがある場合には、参考文献が出力されない、出力されたとして も内容がおかしい可能性が高いので、その内容をちゃんとチェックし修正しない といけません。

bbl ファイル (拡張子が bbl のファイル):

bbl ファイルには BibTeX によって整形された参考文献が出力されます。この中身 を TeX が読み込み、\bibliography 命令がある位置にそのまま出力します。

\begin{thebibliography}{xx}

\harvarditem[Brezis et~al.]{Brezis, Krugman and
  Tsiddon}{1993}{brezis93:_leapf_inter_compet}
Brezis, Elise~S., Paul~R. Krugman, and Daniel Tsiddon (1993) ``Leapfrogging in
  International Competition: A Theory of Cycles in National Technological
  Leadership'''', \textit{American Economic Review}, Vol. 83, No. 5, pp.
  1211--1219, December.

\harvarditem[Wong]{Wong}{1995}{wong95:_inter_trade_goods_factor_mobil_}
Wong, {Kar-yiu} (1995)  \textit{International Trade in Goods and Factor
  Mobility}, Chap.~2, pp. 23--84, Cambridge, MA: MIT Press.

\harvarditem[石川]{石川}{2002}{isikawa02jp:_env_trade}
石川城太 (2002)
  「環境政策と国際貿易」,池間誠・大山道広(編)『国際日本経済論』,文眞堂,第%
7章,114--129頁.

\harvarditem[伊藤・大山]{伊藤・大山}{1985}{ito85:_inte_trad}
伊藤元重・大山道広 (1985)  『国際貿易』,モダン・エコノミクス 14,岩波書店.

\end{thebibliography}

これは jecon.bst を使ったときの bbl ファイルの中身です。

  • \harvarditem[A]{B}{C}{D} という形式になっているのがわかると思います。 havard.sty や natbib.sty と一緒に使うのを前提としている bst ファイルはこ のような形式で参考文献を出力することになっています。
  • A に入るのは author 名です。
  • B に入るのは、著者名を略さない full author 名です。
  • C には年が入ります。
  • D は文献のキーワードです。
  • jplain.bst や jalpha.bst などの標準的な bst ファイルを使ったときには、上 とは少し異なった出力となるので注意してください。

BibTeX を使っている TeX のファイルを配布したい

BibTeX を使っている TeX のファイルを配布したり、誰かに渡したいというような場合 があると思います。もし、そのままの TeX のファイルで配布しようとすると、BibTeX の作成した bbl ファイル も一緒に配布しなければいけません (bbl ファイルが一緒の フォルダになければ、tex のファイルをコンパイルしても参考文献の部分になにも出力 されません。参考文献の実体は bbl ファイルの中にありますから)。このようなときに は次のような方法をとることで bbl ファイルを配布しなくてすみます。

  1. .tex ファイル内の \bibliographystyle、\bibliography 命令を両方とも消す。
  2. .bbl ファイル内の中身をコピーし、\bibliography 命令のあった部分に貼り付 ける。

つまり、 .bbl ファイルの中身は BibTeX が自動で作成してくれた thebibliography 環境ですので、それをそのまま .tex のファイルに貼り付けてしまえ ば bbl ファイルはもう不要になるということです。BibTeX を実行する必要もありませ んし、bbl ファイルを読み込む必要もなくなるので \bibliographystyle、 \bibliography 命令は不要になります。

ただし、上の方法でも引用のために特殊なスタイルファイルを利用しているときに は、それは一緒に配布しないといけないです (相手が自分でそのスタイルファイルをイ ンストールできるなら別ですが) 。 まあ、natbib.sty や harvard.sty でしたら、新 しい TeX には標準でインストールされていると思うので問題ないでしょう。

引用や参照の形式を変更したい

引用部分や参考文献部分の形式を変更したいような場合。まず、

  • 引用部分の形式 → 引用のためのスタイルファイル (sty ファイル) に依存
  • 参考文献部分 → BibTeX のスタイルファイル (bst ファイル) に依存

という関係があることに注意してください。例えば、上の例のように aer.bst + natbib.sty を利用しているときには、

  • 引用部分の形式 → natbib.sty に依存
  • 参考文献部分 → aer.bst に依存

ということです。

[注] natbib.sty を利用しているときには,厳密には 引用部分も bst ファ イルに依存します.natbib.sty で \citet 命令を利用して表示される author (editor) 名は bbl ファイルの \harvarditem[A]{B}{C}{D} に出力される A (短縮形) や B (full author 名) の部分ですが,この形式は bst ファイルによって決まるか らです (\harvarditem).ただし,この A や B の部分 の形式を変えることはあまりないでしょう.

引用部分の形式の変更

そもそも引用のために特殊なスタイルファイルを使わず TeX に標準で備わっている \cite 命令だけを利用しているときには引用部分の形式を変更するのは難しいです。 引用の形式を変更するにはなんらかの特殊なスタイルファイルを利用するのが普通で す。

例えば、上で紹介した natbib.sty (や harvard.sty) を使っているときには、オプ ションを付ける、また引用の命令を変えることでいろいろな形式に変更することがで きます。例えば、

  • デフォールトでは、Kruguman (2000) のような引用形式になりますが、
  •       
    \usepackage[square]{natbib} 
          
    のように square option を付けて natbib.sty を読み込むと、Kruguman [2000] のよ うに四角括弧となります。
  • また、引用の命令を
  •       
    \citet[][Chap. 3]{keyword}
    \citep[][Chap. 3]{keyword}
          
    のようにすれば Kruguman (2000, Chap. 3) や (Kruguman 2000, Chap. 3) のよ うな形式になります。もっと詳しいことは natnotes.pdf を見てください。

参考文献部分の形式の変更

\usepackage[square]{natbib} で引用部分が Kruguman [2000] というよ うに四角括弧となると説明しましたが、いくら natbib にオプションを付けても参考 文献部分は変わりません。参考文献部分は bst ファイルに依存するものだからです。

参考文献部分の形式を変えたい場合には、利用している bst ファイルを変更するか、 自分自身で書き換える必要があります。

bst ファイルは BibTeX 用の特殊な文法で書かれており、普通の人は読んでもよく わからないと思います。ただし、(2000) を [2000] にするという程度の簡単な変更 なら、文法がわからなくても簡単にできるでしょう。bst ファイル内を "(" と ")" で検索し、それぞれを "["、"]" に置き換えるというだけですみますから。

項目の順番を変更するというような修正は bst ファイルの仕組がある程度わからな ければ難しいかもしれません。しかし、bst ファイルの文法はかなり特殊なもので、 しかも簡単な解説書などもありませんから、普通の人は自分で理解しようとするのは やめたほうがいいかもしれません (けっこう時間かかります)。文法がわからなくて も、適当に書き換えてれば、望み通りのことができる場合もありますし。

最終手段。手で書き換え

だいたい自分の望み通りの形式を実現してくれる bst ファイルを見つけた、あるい はほぼ自分の望み通りの形式となるように bst ファイルを書き換えた、でも細かい 部分が自分の希望とは異なっているという場合。

BibTeX は bst ファイルの文法さえわかれば、かなり複雑な処理をさせることがで きます。ただ、複雑な処理をさせるには、それに応じて複雑なプログラムを書かなけ ればいけないので、あまりに細かい部分にこだわるとかえって手間がかかってしまい ます (これは BibTeX だけでなく、TeX 全般に言えることかもしれませんが)。私自 身、bst ファイルを書き換えたりしてますが、細かい不具合にはたいてい目をつぶり ます。

それでも細かい形式にこだわらざるを得ないようなときには、とりあえず不完全で もいいので BibTeX で参考文献をつくらせる。そして、最後に bbl ファイルの中身 を手で修正するというのが手っ取り早いと思います。

変更履歴

  • 2014-04-12: いつの間にか円マーク(バックスラッシュ)が全て二重になっていました。原因はわかりませんが、修正しました。