BibTeX

LaTeXを使う最大のメリットの1つは文献管理にあります.bibファイルに文献データを保存しておけば,引用キーを指定するだけで論文にそのデータを読み込み,参考文献も指定の形式で自動的に生成してくれます.また本文で言及したのに文献リストからうっかり漏れてしまうというミスもなくなります.ぜひ活用しましょう.

データベース作成

まず文献データファイルを作ります.文献ファイルはtexmf/bibtex/bibの中にbibファイルとして保存します(例えばlinguistics.bib, myref.bibなど).bibファイルはテキストデータですので,普通にエディタで編集しても構いませんが,Bibtex用の文献管理ソフトを使った方が,検索の際など何かと便利かと思います.以下のようなものがあります(私はBibcompanionを使っています).

  1. Bibcompanion (Mac専用)
  2. BibDesk (Mac専用)
  3. JabRef (Win, Linux, Mac)

文献はその種類によってタイプを指定します.代表的には以下のようなものがあります(他にもmanual, booklet, inbook, techreportなどがあります).

  1. article(ジャーナル論文)
  2. book(単行本)
  3. incollection(複数の論文を所蔵した本の一部)
  4. phdthesis(博士論文)
  5. inproceedings(学会プロシーディングス)
  6. unpublished(未刊行論文)

管理ソフトを使っている場合は,それに従って必要情報を埋めていけばよいですが,結果として作成されるbibファイルの中身は以下のようなテキストファイルです.

@ARTICLE{ BresnanMchombo87,
 author = "Joan Bresnan and Sam A. Mchombo",
 title = "Topic, Pronoun, and Agreement in {C}chiche{\^{w}}a: 
          A Case Study of Factorization in Grammar",
 journal = "Language",
 year = "1987",
 volume = "63",
 number = "4",
 pages = "741-782"
}

@BOOK{ VanValinLaPolla97,
 author = "Van Valin, Jr., Robert D. and Randy J. LaPolla",
 title = "Syntax: Structure, Meaning and Function",
 year = "1997".
 publisher = "Cambridge University Press",
 address = "Cambridge"
}

@INCOLLECTION{ Andrews07,
 author = "Avery D. Andrews",
 title = "The Major Functions of the Noun Phrase",
 booktitle = "Language Typology and Syntactic Description",
 volume = "1",
 edition = "Second",
 editor = "Timothy Shopen",
 year = "2007",
 pages = "132-223",
 publisher = "Cambridge University Press",
 address = "Cambridge"
}

@PHDTHESIS { Otoguro06,
 author = "Ryo Otoguro",
 title = "Morphosyntax of Case: A Theoretical Investigation
          of the Concept",
 year = "2006",
 school = "University of Essex"
}

@INPROCEEDINGS { LuisOtoguro04,
 author = "Ana R. Lu{\'{\i}}s and Ryo Otoguro",
 title = "Proclitic Contexts in {E}uropean {P}ortuguese and
          their Effect on Clitic Placement",
 booktitle = "Proceedings of the {LFG}04 Conference",
 editor = "Miriam Butt and Tracy Holloway King",
 year = "2004",
 pages = "334-353",
 publisher = "CSLI Publications",
 address = "Stanford, CA"
}
 
@UNPUBLISHED { Fillmoreetalms,
 author = "Charles Fillmore and Paul Kay and Laura Michaelis
           and Ivan A. Sag",
 title = "{S}ign-{B}ased {C}onstruction {G}rammar",
 year = "2007",
 note = "University California, Berkely, 
         University of Colorado, Boulder 
         and Stanford University"
}

どれも以下のような形式を取ります.引用キーは自分が分かりやすいように,各文献に独自のキーをつけます(私は普通著者名に発行年の下2桁をつけています).どのようなフィールドが必要かは文献のタイプによって変わってきますが,上記の例を見れば,どれも明らかでしょう.

@文献タイプ { 引用キー,
 フィールド名 = "フィールドの中身",
}

いくつか注意点を挙げておきます.

  1. title内などで大文字にしていても,使用するbstファイル(後述)によって,参考文献リストでは小文字になったりします.言語の名前,理論の名前など,強制的に大文字にする必要があるものは,{E}nglishや{LFG}のように{…}で囲んでおきます.
  2. 名前などでアクセント記号をつける場合も,全体を{…}でくくる必要があります.例えば,K\”onigではなく,K{\”o}nigとしなければなりません.
  3. 複数著者や編者がいる場合は,A and B and C and Dのようにすべての名前の間にandをいれます.
  4. 姓にスペースが入る場合「名 姓」ではなく「姓, 名」とします.Robert Van Valinではなく,Van Valin, Robertと書く(でないとValinが姓,Vanがミドルネームとみなされる).またJr.やIIIなどは,その際Van Valin, Jr., Robertのように姓と名の間にいれます.

スタイルファイルの準備

データベースを作成したら,論文中に文献情報を呼び出す準備をします.まず文中で引用する際に使うstyファイルが必要です.ここでは私も使っているnatbib.styを例にします.ココからnatbib.dtxを取ってきて,latexでコンパイルしてください.natbib.styができるので,それをいつもスタイルファイルを置いているディレクトリに置いてください.

スタイルファイルの読み込みはいつも通りプリアンブルに書きますが,その後に引用形式を指定できます.

\usepackage{natbib}
\bibpunct[:]{(}{)}{,}{a}{}{,}

\bibpunct直後の角括弧で囲まれたオプションは,発行年の後にページ数や章番号をつけるときの区切りの記号です.上記の通りだと,Bresnan (2001:54)や(Bresnan 2001:54)のようになります.[,]とすれば,Bresnan (2001, 54)や(Bresnan 2001, 54)のように変わります.

それに続く最初の2つの引数は,引用文献をどのように括弧で囲むかを指定するためのものです.上記の例だとStump (2001)とか(Stump 2001)のように丸括弧で囲むことになりますし,{[}{]}のようにするとStump [2001]とか[Stump 2001]のように角括弧になります.{}{}と何も書かなければ,当然Stump 2001のように何もつきません.言語学では普通は丸括弧なので,{(}{)}としておくのが良いでしょう.

次の引数は複数の文献を一気に引用したときに,その区切りをどう表すかを指定するものです.上記の例はコンマですので,Anderson (1992), Aronoff (1994)とか(Anderson 1992, Aronoff 1994)のようになります.{;}とすると,当然Anderson (1992); Aronoff (1994)とか(Anderson 1992; Aronoff 1994)という具合にセミコロンで区切られます.

3番目の引数は,{n}にすると引用部分が数字に,{s}にすると上付数字になります.言語学ではそのような表記はまず使われませんので,そのまま{a}にしておきましょう.

4番目の引数は,引用文献の著者名と発行年の間に何を入れるかを指定します.通常言語学では何も入れませんが,(Anderson, 1992)のようにしたければ,{,}と書きます.

最後の引数は,著者が同一の文献を一気に引用したときに,発行年を何で区切るかを指定するものです.上記の例だと,Bybee (1985, 2001)や(Bybee 1985, 2001)のようになります.{;}とすれば,Bybee (1985; 2001)や(Bybee 1985; 2001)となるわけです.

参考文献リストのスタイル

次に自動生成される参考文献リストのスタイルを決めます.これはbstファイルによって決定されます.natbib標準のplainnat.bstは理論言語学向きではないので,他のbstファイルを読み込みます.自分で作成しても良いですが,公開されているものが多数あるので,それらを利用してみましょう.natbib.styと一緒に使うことができ,言語学で使えそうなのは以下のようなものがあります(探せば他にもたくさんあります)

  1. lin.bst(Cambridge University PressのJournal of Linguistics公式スタイル. ココのunpackedというフォルダの中から取ってくるか,LINAuthor(060522).zipを解凍する)
  2. cslipubs-natbib.bst(スタンフォードのCSLI Publications公式スタイル)
  3. linquiry2.bst(Alexis Dimitriadis作成.Linguistic Inquiry風)
  4. lingua.bst(Ron Artstein作成.Lingua風)
  5. LandP.bst(Ron Artstein作成.Linguistics and Philosophy風)
  6. nals.bst(Ron Artstein作成.Natural Language Semantics風)

bstファイルはtexmf/bibtex/bstの中に保存しておき,texファイルでは以下のように\begin{document}の後に,\bibliographystyleの引数として指定します.また\end{document}の前に\bibliographyの引数として上で作った文献データベースのbibファイルを指定します(ここではmyref.bibという名前で保存したと仮定します).

\begin{document}
\bibliographystyle{linquiry2}
...
\bibliography{myref}
\end{document}

論文中での参照

では論文中での参照の仕方です.まず基本の2パターン.\citep{引用キー}は著者名と発行年全体を括弧で囲みます.\citet{引用キー}は著者名の後に括弧付きの発行年を付け加えます.

\citep{Andrews07} => (Andrews 2007)
\citet{Andrews07} => Andrews (2007)

それぞれの命令の引数の前に[…]でオプションをつけることができ,1つだけのときはページ数や章番号,2つつけるときは1つめにseeやcf.など,2つめにページ数や章番号を指定します.

\citep[220]{Andrews07} => (Andrews 2007:220)
\citet[ch.~2]{Bresnan01} => Bresnan (2001:ch. 2)
\citep[see][220]{Andrews07} => (see Andrews 2007:220)
\citep[cf.][]{Andrews07} => (cf. Andrews 2007)

複数の文献を一気に参照するときは,以下のように1つの命令の中で複数の引用キーを列挙します.同一著者の文献を複数列挙するときは,自動的に2つめ以降の著者名が省略されます.

\citep{Otoguro06,Andrews07} => (Otoguro 2006, Andrews 2007)
\citet{Bybee85,Bybee01} => Bybee (1985, 2001)

\bibpunctで括弧を指定していますが,\citealtや\citealpを使えば,それを取って出力することも可能です.上記の\bibpunctの指定だと,以下のように\citealt{…}も\citealp{…}も同じ出力になります.

\citealt{Bresnan01} => Bresnan 2001
\citealp{BresnanMchombo87} => Bresnan and Mchombo 1987

著者名のみ,発行年のみ,括弧つき発行年も以下のように出力することができます.

\citeauthor{Anderson92} => Anderson
\citeyear{Aronoff94} => 1994
\citeyearpar{Stump01} => (2001)

著者が3名以上いるときは,通常第1著者の後にet al.がつきますが,命令の直後に*をつけることで,全員を列挙することができます.

\citet{Fillmoreetalms} => Fillmore et al. (2007)
\citet*{Fillmoreetalms} => Fillmore, Kay, Michaelis, and Sag (2007)
\citep{Fillmoreetalms} => (Fillmore et al. 2007)
\citep*{Fillmoreetalms} => (Fillmore, Kay, Michaelis, and Sag 2007)
\citeauthor{Fillmoreetalms} => Fillmore et al.
\citeauthor*{Fillmoreetalms} => Fillmore, Kay, Michaelis, and Sag

これだけあれば,言語学の論文ではほぼ事足りるはずですし,出版社や投稿雑誌などの違いに伴う微調整も\bibpunctのオプションと引数を変えるだけで対応できるかと思われます.

コンパイル

コンパイルするときは,まず通常通りlatex,次にbibtex,その後2回latexを実行してdviファイルを作成します.その際にbblというファイルが作成されているはずです.これは論文中に参照された文献がデータベースファイルから抽出されて,bstファイルで指定された形式に従ってthebibliographyという環境でリストになったものです.最後のlatexでこれが論文中に取り込まれて,参考文献リストとなるわけです.何らかの理由で,自動生成された参考文献リストを修正したい場合は,最後のlatexを実行する前にbblファイルをエディタで開いて,編集することもできます.

hyperrefとの連携

natbibを使うメリットの1つは,hyperrefと連携していることです.hyperref.styを使っていれば,自動的にnatbibで本文中で言及したした文献は,文献リストと相互参照されるので,作成されたpdfファイル上でクリックするだけで,文献リストの当該文献にジャンプしてくれます.