[LaTeX]ヘッダ・フッタ

※uplatex動作未確認 あまりいじらない方がよい。

ヘッダ・フッターを設定する命令として次の2つが用意されています.

  • \pagestyle{引数} — すべてのページに適用
  • \thispagestyle{引数} — この命令が書かれたページのみその書式が適用される

ページスタイルの引数

引数 内容
plain 標準的なスタイル.フッター中央にページ番号を出力し,ヘッダには何も出力しない
empty ヘッダ・フッターは出力しない
headings ヘッダに情報を出力し,フッターには何も出力しない
myheadings ヘッダに任意の文字を出力することができる.

\myheadingsでは,次のコマンドを使ってヘッダに任意の文字を出力することができます.

#sh{{ \markright{引数} \markboth{偶数ページの引数}{奇数ページの引数} }}

引数

引数 内容
\thepage 当該ページの出力
\leftmark \markbothの引数が収められる.デフォルトは節見出し
\rightmark \rightmarkか\markbothの引数が収められている.デフォルトは章見出し.

なお,これらは,\pagestyle{myheadings} の前に書かなければなりません.

fancyhdrスタイル

fancyhdr スタイルを使うと,簡単にヘッダ・フッターをカスタマイズすることができます.(改良前のfancyheadingスタイルは使用しないこと.)プリアンブルに次のコマンドを入力します.

fancyhdrスタイルの詳細は,スタイルファイル付属のfancyhdr.pdf(\share\texmf\doc\latex\misc)を参照してください.

#sh{{ \usepackage{fancyhdr} \pagestyle{fancy} (ヘッダ・フッターの定義) ヘッダ・フッターの定義 \lhead[偶数ページ]{奇数ページ} 左側ヘッダの定義 \chead[偶数ページ]{奇数ページ} 中央ヘッダの定義 \rhead[偶数ページ]{奇数ページ} 右側ヘッダの定義 \lfoot[偶数ページ]{奇数ページ} 左側フッターの定義 \cfoot[偶数ページ]{奇数ページ} 中央フッターの定義 \rfoot[偶数ページ]{奇数ページ} 右側フッターの定義 \renewcommand{\headrulewidth}{値} ヘッダの線の太さ \renewcommand{\footrulewidth}{値} フッターの線の太さ }}

[]を省略すると,{}で指定された内容が偶数ページ・奇数ページの両ページに適用されます.

定義の中には,次のようなものが指定できます.

引数

引数 内容
\thepage 当該ページの出力
\leftmark \markbothの引数が収められる.デフォルトは節見出し
\rightmark \rightmarkか\markbothの引数が収められている.デフォルトは章見出し.

[LaTeX]latexmk

biblatex 備忘録として・・・ latexmkは一連のコンパイルを一気にやってしまおうってやつ?です。たぶん。 [worried] BibTeX, MakeIndexも一緒にやっちゃいます。たぶん。。。 で、結果、動かない。 Script interpreter is not found in PATH.

http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?TeXworks%2F%E8%A8%AD%E5%AE%9A%2FWindows

TeXWorksでの設定

名前 Latexmk-pdfupLaTeX
プログラム latexmk
引数 -e
$latex=q/uplatex %O -synctex=1 -kanji=utf8 -no-guess-input-enc %S/
-e
$bibtex=q/upbibtex %O %B/
-e
$biber=q/biber %O –bblencoding=utf8 -u -U –output_safechars %B/
-e
$makeindex=q/mendex %O -U -o %D %S/
-e
$dvipdf=q/dvipdfmx %O -f ipaex.map -o %D %S/
-norc
-gg
-pdfdvi
$fullname

[LaTeX] TeXStudio

TeX Studioは、強力な統合環境です。

http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?TeXstudio

設定

インストールはポータブル版をダウンロードしておき、適当な場所に展開する。 TeX Studio の設定のコマンドで、uplatexを使用できるようにする。 次のように設定する。

TeXStudioの設定

「高度なオプションの表示」にチェックを入れる。

エディタ

UTF-8の場合、インラインチェックのチェックを外す。

詳細なエディタ設定

「ハック/回避策」(下方にあるので、スクロールする。)の最適なディスプレイオプションの自動選択のチェックを外し、描画モードを「Qt」にする。

コマンド

  1. 「LaTeX」をupLateXにする。#sh{{ ptex2pdf.exe -u -l -ot -no-guess-input-enc -kanji=utf8 %.tex }}
  2. BibTeXをupBibTeXにする。#sh{{ upbibtex % }}
  3. Biberで、UTF-8での文字化け回避のための設定をする。biber.exe –bblencoding=utf8 -u -U –output_safechars %

あとは、コンパイルを押せば、PDFができるはず。

クリップボード01_0.jpg

[BiBTeX] biblatex

BibTeX の後継?として、biblatex があります。 武田先生の説明であるように、

  • レイアウトの手書き修正ができない
  • アプトプットをTeX本体に貼り付けることができない など、不便な面があります。

どのようなものかbiblatexを使ってみたいと思います。

で、インストールから挫折。 TeXのインストールのインストール手順にしたがっていれば、はいっているはずなのに よくみると、ダウンロードのファイルサイズがおかしい。 ダウンロードし直して、インストールしたら大丈夫でした [smile]

で、使ってみました。

TeXWorksでの設定

私の環境(Win8.1pro 64bitかどうかは不明)では、なぜかupbibtexがうまく動かない。(既知の不具合?http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?upTeX%2CupLaTeX#p35560b1) 以下のように設定。

名前 bibtex
プログラム D:/usr/local/bin/pbibtex.exe
引数 -kanji=utf8
引数 $basesname

TeXStudioの設定

biberを使ったほうが良い。

biber.exe –bblencoding=utf8 -u -U –output_safechars %

既定の文献ツールを

txs:///biber

にしておく

プログラムソース

\documentclass[uplatex]{jsarticle}

\usepackage[backend=bibtex, style=numeric]{biblatex} または、biberを使う場合 \usepackage[backend=biber, style=numeric]{biblatex} \addbibresource{mybib.bib} \begin{document} \cite{goo1998}, \cite{oku2013}. \printbibliography[title=参考文献] \end{document}

まず、パッケージで、biblatexを指定する。バックエンドにbibtexまたはbiberを指定し、ラベルは番号にしておく。 bibファイルは、プリアンブルで指定します。拡張子の省略不可。複数のbibファイルがある場合は、1行ごとにaddbibresourceを書く。 参考文献を表示したい場所に、\printbibliographyと書く。タイトルは、デフォルトはReferencesになる。

bibファイルは以下の通り。

@book{oku2013,

 author = {奥村, 晴彦 and 黒木, 裕介},
 title = {[改訂第6版] \LaTeX2e 美文書作成入門},
 publisher = {技術評論社},
 year = {2013},

} @book{goo1998,

 author = {Michel Goossens and Frank Mittelbech and Alexander Samarin},
 translater = {アスキー書籍編集部},
 title= {The \LaTeX コンパニオン},
 publisher = {アスキー},
 year = {1998}

}

こんな感じになります。 filebiblatexsample.pdf

どうも、しっくりこない。慣れたらまた、更新するかも。

[BiBTeX] ソフトを利用した文献の管理

文献管理ソフトは、有料、無料で多くでています。 また、TeXに対応したソフトもあります。

Endnote

Endnoteで文献管理を行い、bibファイルを生成します。 Endnoteでの設定は、Edit-Output Style – Open Style Managerで、 BibTeX Exportにチェックを入れておきます。

エクスポートしたい文献をグループ化しておいて、Exportすると、bibファイルができます。 Endnote X7の場合、文字コードはUTF-8で出力されます。

  • &やóのような文字は、そのまま出力されるので、BibTeXで変換すると文字化けします。BibTeXで処理する前に、テキストエディがで \& や{\’ o} などに置換しておいてください。
  • Endnoteでエクスポートすると、pagesの項目は、10-12のように、ハイフンが1つですが、BibTeXで処理すると、10–12のようにハイフンが2つ自動でつきます。

google scholar は、endnote形式でEndnoteにインポートできるので、とても便利です。 Endnote Basicは、無料で使うことができます。結構な量の文献を無料で管理することができます。

google scholar

google scholarで文献を管理します。引用タブから、bibtex形式で出力することができます。 google scholar の書誌情報がたまにおかしいこともあります。 [worried] 査読で突っ込まれました><

表計算ソフト

自分でこつこつ作っていくので、タイプミスがなければ、信頼度の高いデータベースになるでしょう。

表のそれぞれの列に次のような情報が入っていたとします。

A B C D E F G H I
種類 キー 著者名 タイトル 雑誌名 発行年 ページ
article mye1981 Roger B. Myerson Optimal Auction Design Mathematics of Operations Research 1981 6 1 58–73

セルの参照を活用します。 Excelの場合、次のように参照します。分かりやすく改行しています。

=”@”& A2& “{“& B2& “, author={“& C2& “}, title={“& D2& “}, journal={“& E2& “}, year={“& F2& “}, volume={“& G2& “}, number={“& H2& “}, pages={“& I2& “}}”

参照結果は次のようになります。

@article{mye1981,

 author={Roger B. Myerson},
 title={Optimal Auction Design},
 journal={Mathematics of Operations Research},
 year={1981},
 volume={6},
 number={1},
 pages={58--73}
}

[BiBTeX] BibTeX を使わない文献目録の作成

BibTeXを使わずに文献目録を作成する場合、1回限りの文献目録作成には都合がよいですが、使い回したり、文献を管理するには不向きです。

文献目録を直接作成する方法は、thebibliography環境(番号方式の場合)と,list 環境(著者名年号方式)の2つがあります。

thebibliography環境を使う方法

実は、BibTeX で処理された bbl ファイルをみると、thebibliography環境を生成していることが分かります。

\begin{thebibliography}{10} \bibitem[1]{das:1979} Dasgupta, P., P.~Hammond, and E.~Maskin (1979). \newblock “The Implemntation of Social Choice Rules:

Some General Results on Incentive Compatibility''.

\newblock {\em Review of Economic Studies}, {\bfseries 46} pp.185–216.

\bibitem[2]{laf:1980} Laffont, J.-J. and E.~Maskin (1980). \newblock “A Differential Approach to Dominant Strategy Mechanisms”. \newblock {\em Econometrica}, {\bfseries 48} pp.1507–1520. 省略 \end{thebibliography}

よって番号方式の場合これを tex ファイルに直接記述すればよいわけです。

\begin{thebibliography}{一番長い表示ラベルをここに書く} \bibitem[表示ラベル]{引用キー} 文献内容 \bibitem[表示ラベル]{引用キー} 文献内容 ... \end{thebibliography}

ある投稿雑誌の規定では、雑誌名はイタリック体にしないさいと指定があります。上では、¥em が使われていますが、クラスファイルなので、¥em の定義をボールドなどに変更されていたら、ここの表示も変わってしまいます。¥textitと明示的に書いた方が良いかもしれません。

文献内容は,latex の通常のコマンドを使うことができます.\newblock{内容} は,中カッコで囲まれた内容を一括りにする命令です。

list 環境を使う方法

文献目録を著者名年号方式で掲載したい場合は,list 環境を利用します。list 環境なので、引用キーはありません。というより、文献の自動生成ではないから、著者名と年号は自分で入れるはず。ただし、あまり勧められません。

\begin{list}{}{\setlength{\itemindent}{-0.5truein}} \item 文献内容 \item 文献内容 ... \end{list}

1行目の命令は,リストの2行目以降にインデントをつける命令です.文献内容は,latex の通常のコマンドを使うことができます.

[BiBTeX] bst ファイルのカスタマイズ

bstファイルをいじらない方法

文献の引用が確定し、BibTeXで処理することがなくなった場合、 bbl ファイルをUTF8対応のテキストエディタでいじります。 [huh]

本文中の et~al. をイタリックにしたい。

bbl ファイルの

\bibitem[Abascal et~al., 2005]

\bibitem[Abascal {\itshape et~al.}, 2005]

というように置換します。

たくさんある場合は、”et~al.” を”{\itshape et~al.} で一括置換します。

bstファイルをいじる方法

まず、所望の出力に近い bstファイルを探します。ここでは、plain.bstを例にとって説明します。(bstファイルの中には以下の作業ではうまく動作しない場合があります)。bstファイルの関数は次のような形式になっています。

FUNCTION{定義名}{定義の内容}

plain.bstをテキストエディタで開くと,次のような関数があります。

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 
     format.vol.num.pages output 
     format.date "year" output.check 
   } 
   { format.article.crossref output.nonnull 
     format.pages output 
   } 
 if$ 
 new.block 
 note output 
 fin.entry

}

これは、articleというエントリ型で、フィールドを次のような順番に出力せよいう命令です。

著者名.タイトル.雑誌名.(巻,号,引用ページ).年号.

フィールドの並べ替え

format.フィールド output.check

の順番を入れ替えることで,フィールドを並べ替えることができます.著者名の次に年号を表示したい場合は,次のように入れ替えます。

FUNCTION {article} { output.bibitem
format.authors "author" output.check

newblock   format.date “year” output.check

 new.block 
 format.title "title" output.check 
 new.block 
 crossref missing$ 
   { journal emphasize "journal" output.check 
     format.vol.num.pages output 
   } 
   { format.article.crossref output.nonnull 
     format.pages output 
   } 
 if$ 
 new.block 
 note output 
 fin.entry

}

フィールドで表示される文字の変更

incollectionなどのエントリ型ではフィールドの1つに「editor」が用いられます.editor は次のように表示されます.

David K. Levine and Steven A. Lippman editors

このeditorsやeditorsを(ed)や(eds)に変更します.このようにフィールドで表示される文字を変更するには各フィールドの関数を変更します.

#sh{{ FUNCTION { fomat.フィールド} }}

この例では次の関数が変更箇所となります.

FUNCTION {format.editors} { editor empty$
   { "" } 
   { editor format.names 
     editor num.names$ #1 > 
{ ", editors" * } 
{ ", editor" * } 
     if$ 
   } 
 if$

}

この中のeditor, editorsを(ed),(eds)に置き換えるだけです.

この関数の中には編集者が2人以上ならば (editors) そうでないならば (editor) というような条件分岐が存在します.一般に bst ファイルの条件分岐は次のような形になっています.

条件$

    {条件が真のとき}
    {条件が偽のとき}

if$ }

editorにおいて,2つの条件分岐が存在します.

条件:editor empty$.「編集者がいないとき(empty)」 条件:editor num.names$ #1 > .「編集者の人数(editor num.names)が1より大きいとき(#1 >」

著者名の出力の変更

author (editorを含む)の書式を指示する関数はnamesです.

FUNCTION {format.names} { ‘s :=
 #1 'nameptr := 
 s num.names$ 'numnames := 
 numnames 'namesleft := 
   { namesleft #0 > } 
   { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := 
     nameptr #1 > 
{ namesleft #1 > 
    { ", " * t * } 
    { numnames #2 > 
 { "," * } 
 'skip$ 
      if$ 
      t "others" = 
 { " et~al." * } 
 { " and " * t * } 
      if$ 
    } 
  if$ 
} 
't 
     if$ 
     nameptr #1 + 'nameptr := 
     namesleft #1 - 'namesleft := 
   } 
 while$

}

7行目の部分はFirst Name Last Name von Jrを表しています.記号の意味は次の表の通りです.

変更例

ll Last Nameをすべて表示
ff First Nameをすべて表示
vv vonをすべて表示
jj Jr.をすべて表示
l Last Name の頭文字のみ表示
f First Name の頭文字のみ表示
v von の頭文字のみ表示
j Jr. の頭文字のみ表示

変更例

赤字の部分 フィールド 出力
{f.~}{v.~}{ll}{, jj} John Maynard Keynes J. M. Keynes
{ll}{, vv~}{,ff} John Maynard Keynes Keynes,John Maynard
  • 「~」(ティルダ)は文字を切り離さないための命令です。日本語でも、姓と名が別の行にあれば縁起が悪いとされますが、そうならないための命令と解釈してください。
  • 「.」(ピリオド)は省略された名につける記号です。
  • 「,」(カンマ)はLast Nameが先に表示された場合につける記号です。

著者が複数人の場合

plainスタイルでは,著者名を「David Baron and David Besanko」と入力すると,「David Baron and David Besanko」と出力されます.これを「Baron, D. and D. Besanko」のように一人目だけ Lasr Name を最初に表示したい場合は次のように関数を変更します。

FUNCTION {format.names} { ‘s :=
 #1 'nameptr := 
 s num.names$ 'numnames := 
 numnames 'namesleft := 
   { namesleft #0 > } 
  { nameptr #1 >  
       { s nameptr "{f.~}{vv~}{ll}{, jj}" 
            format.name$ 't :=  } %2人目以降のときの出力
       { s nameptr "{vv~}{ll}{, jj}{, f.}" 
            format.name$ 't :=} %1人目の出力
     if$ 
     nameptr #1 > 
       { 
         namesleft #1 > 
           { ", " * t * } 
           { 
             ", " * 
      t "others" = 
 { " et~al." * } 
 { " and " * t * } 
      if$ 
    } 
  if$ 
} 
't 
     if$ 
     nameptr #1 + 'nameptr := 
     namesleft #1 - 'namesleft := 
   } 
 while$

} }}}}}

タイトルの出力の変更

plain.bstでは,タイトルを「Implementaion and Information in Teams」と入力すると,次のように最初の文字を残してすべて小文字で出力します.

Implementaion and information in teams これは関数title 関数によって出力が制御されます.

FUNCTION {format.title} { title empty$ %もしtitleフィールドが空白ならば
   { "" }         %何も記述しない 
   { title "t" change.case$ } %さもなければ,
   titleの表記を先頭をのぞいて小文字(t)に変換して記述せよ. 
 if$               %条件終わり

} }

タイトルの大文字小文字の判断はchange.case$によって赤字の部分で指定されています.

t 先頭の頭文字を除いて,残りの頭文字を小文字に変換
l すべて頭文字を小文字に変換
u すべての文字を大文字に変換

引数の[t]は,例えば,「Subgame Perfect Implementation: A Necessary and Almost Sufficient Condition」と入力すると次のような出力になります.

Subgame perfect implementation: A necessary and almost sufficient condition

タイトルを入力通りに出力したい場合は,change.case$を書きません.

FUNCTION {format.title} { title empty$ %もしtitleフィールドが空欄ならば

   { "" }        %何も記述しない 
   { title }     %さもなければ,title を記述せよ. 
 if$             %条件終わり

}

さらに,タイトルの両側を(“),(”)で囲みたい場合は次のように書き直す.

FUNCTION {format.title} { title empty$

   { "" } % 
    {title  % 
    "``" swap$ * "''" * 
   } 
 if$

}

年号の出力の変更

年号や月の書式を整える関数はFUNCTION {format.date}であります.年号を「(1999)」のよう「( )」をつけるためには次のように書き換えます.

FUNCTION {format.date} { year empty$ %もしyearが空欄ならば
       { month empty$ %もしmonthが空欄ならば 
{ "" }                %なにも記述されない 
{ "there's a month but no year in " cite$ * warning$ 
  month               %さもなければ警告文を出力する 
} 
     if$ 
   } 
   { month empty$     %もし,yearが空欄でなくかつmonthが空欄ならば 
    {year "(" swap$ * ")" * }  %yearを記述せよ 
    { month * " " * year "(" swap$ * ")" * } %さもなければ,monthも記述せよ. 
     if$ 
   } 
 if$

}

フィールドの強調

plainスタイルのarticleのjournalは強調(\em)表示されます.強調表示は次の関数で制御されています.

FUNCTION {emphasize} { duplicate$ empty$

   { pop$ "" } 
   { "{\em " swap$ * "}" * } 
 if$

}

\emを\bfseriesに変更すると強調されているすべてのフィールドがボールド体になります.これを理解するために,journal の関数を見てみましょう.

journal emphasize “journal”  output.check

このようにフィールド名がemphasizeによってjournalが強調されていることがわかります.

応用:関数の定義

これを応用してvolumeをボールド体で出力してみよう.ボールド体で表記するために新しく関数boldを作る.関数boldは上の関数emphasizeの\emを\bfseries に変更しただけであります.

FUNCTION {bold} { duplicate$ empty$

   { pop$ "" } 
   { "{\bfseries " swap$ * "}" * } 
 if$

}

次に,volume,number,pagesをつかさどる関数を書き直します.

FUNCTION {format.vol.num.pages} { volume bold field.or.null %volumeをボールド体で記述せよ.

 number empty$ 
   'skip$ 
   { "(" number * ")" * * 
     volume empty$ 
{ "there's a number but no volume in " cite$ * warning$ } 
'skip$ 
     if$ 
   } 
 if$ 
 pages empty$ 
   ';skip$ 
   { duplicate$ empty$ 
{ pop$ format.pages } 
{ ":" * pages n.dashify * } 
     if$ 
   } 
 if$

}

pbibtexでの条件文

pBibTeXでは,bibTeXで用意されている関数の他に次の関数が追加されています.

#sh{{ is.kanji.str$ }}

jplain.bstをテキストエディッタで開き,関数editorを見てみましょう.

FUNCTION {format.editors} { editor empty$

   { "" } 
   { editor format.names 
     editor num.names$ #1 >%もし編者が二人以上ならば 
     { editor is.kanji.str$        %かつ,editorが日本語ならば 
          {"(編)" * }    %$editorに(編)を表記せよ 
          {", editors" * } %さもなければ(英語ならば)
          editorsを表記せよ. 
           if$ 
         } 
         { editor is.kanji.str$ %編者が一人でeditorが日本語ならば 
         {"(編)" *} 
       {", editor" * } 
       if$ 
     } 
   if$ 
   } 
 if$

}

このようにis.kanji.str$はフィールドが日本語であるかどうかを判断します。

ここで示したカスタマイズを下記に残しておきましょう。

[BibTeX] スタイルファイルのレイアウトサンプル

各 bst ファイルを用いて作成された文献目録のレイアウトサンプルを紹介します。各サンプルでは、プリアンブルに記述すべき内容、BibTeXを利用するための命令、文献の引用なども併せて掲載するので、何かの役に立てば幸いです。なお、ここでは bst ファイルは配布していませんので、CTAN ジャーナルの投稿先などから必要なファイルを入手してください。

BibTeX 標準のスタイル

スタイル名 texファイル PDFファイル 説明
plain filebib-plain.tex filebib-plain.pdf LaTeX 標準のスタイル
abbrv filebib-abbrv.tex filebib-abbrv.pdf plain のスタイルと同様.ただし,author, editor の first name が省略される
alpha filebib-alpha.tex filebib-alpha.pdf plain のスタイルと同様.ただし,ラベル名は author と year の省略形
unsrt filebib-unsrt.tex filebib-unsrt.pdf plain のスタイルと同様.ただし,文献目録の順番は引用された順
apalike filebib-apalike.tex filebib-apalike.pdf APA (American Psychological Association;米国心理学会)風.社会科学系の一般的な文献目録に近いスタイル.apalikeパッケージが必要
ieeetr filebib-ieeetr.tex filebib-ieeetr.pdf IEEE Transactions のスタイル
siam filebib-siam.tex filebib-siam.pdf SIAM のスタイル

pBibTeX 標準のスタイル

スタイル名 TeXファイル PDFファイル 説明
jplain filepbib-jplain.tex filepbib-jplain.pdf
jabbrv filepbib-jabbrv.tex filepbib-jabbrv.pdf
jalpha filepbib-jalpha.tex filepbib-jalpha.pdf
junsrt filepbib-junsrt.tex filepbib-junsrt.pdf
jipsj filepbib-jipsj.tex filepbib-jipsj.pdf 情報処理学会論文誌欧文用
jname filepbib-jname.tex filepbib-jname.pdf
jorsj filepbib-jorsj.tex filepbib-jorsj.pdf 日本オペレーションズ・リサーチ学会論文誌
tieice filepbib-tieice.tex filepbib-tieice.pdf 電子情報通信学会論文誌
tipsj filepbib-tipsj.tex filepbib-tipsj.pdf 情報処理学会論文誌

natbib のスタイル

本文中の引用や参考文献のレイアウトなどで、カスタマイズ可能なパッケージとして、natbibパッケージがあります。

\usepackage[option]{natbib}

標準スタイルファイル

natbibに対応したスタイルファイルとして以下があります。

スタイル名 TeXファイル PDFファイル
plainnat filebib-plainnat.tex filebib-plainnat.pdf
abbrvnat filebib-abbrvnat.tex filebib-abbrvnat.pdf
unsrtnat filebib-unsrtnat.tex filebib-unsrtnat.pdf

オプション

option では次のものを指定することができます.

文献の括弧

  • round — 文献引用を「( )」で囲む(デフォルト)
  • square — 文献引用を「[ ]」で囲む
  • curly — 文献引用を「{ }」で囲む
  • angle –文献引用を「< >」で囲む

複数の文献の引用の区切り文字

  • colon — 複数の文献引用を「;」で結ぶ(デフォルト)
  • comma — 複数の文献引用を「,」で結ぶ

文献番号

  • authoryear — 文献引用を著者名年号方式(ハーヴァード方式)で引用する(デフォルト)
  • numbers — 文献引用を番号方式で引用する apalike のような著者名年号方式のスタイルを番号方式に変更することができる
  • super — 番号方式の引用を右肩で表示

ソート

  • sort — 文献引用をソートして表示
  • sort&compress — 文献引用をソートして簡略化して表示
  • longnamesfirst
  • sectionbib

文献引用は\cite[コメント]{引用キー}を用いるが,natbib スタイルは次の命令も使うことができます。

  • \citet{引用キー}
    • 著者名年号方式:Dasgupta et. al. (1979)
    • 番号方式:Dasgupta et. al. [1]
  • \citep{引用キー}コメント
    • 著者名年号方式:(Dasgupta et. al. ,1979)
    • 番号方式:[1]
  • \citep*{引用キー} (著者名年号方式のみ) — (Dasgupta, Hammond and Maskin, 1990)
  • \citealt{引用キー} (著者名年号方式のみ) — Dasgputa et. al. 1979
  • \citealt*{引用キー} (著者名年号方式のみ) –Dasupta, Hammond and Maskin 1979
  • \citealp{引用キー} (著者名年号方式のみ) — Dasgputa et. al., 1979
  • \citealp*{引用キー} (著者名年号方式のみ) — Dasupta, Hammond and Maskin, 1979
  • \citeauthor{引用キー} — 著者名の短縮形を表示
  • \citeauthor*{引用キー} — 著者名を表示
  • \citeyear{引用キー} — 年号のみ表示
  • \citeyearpar{引用キー} — (年号) を表示
  • \citetext{コメント} — (コメント) を表示

経済学論文誌のスタイル

http://www.ctan.org/tex-archive/biblio/bibtex/contrib/economic

スタイル名 texファイル PDFファイル 説明
aer filebib-aer.tex filebib-aer.pdf American Economic Review harvard.sty が必要。LaTeX2.09のまま。古い。
aertt filebib-aertt.tex filebib-aertt.pdf alphaクラスの改変。aertt.styとharvard.sty が必要。LaTeX2.09のまま。古い。
cje filebib-cje.tex filebib-cje.pdf Canadian Journal of Economics。 harvard.sty が必要。LaTeX2.09のまま。古い。
econometrica filebib-econometrica.tex filebib-econometrica.pdf Econometrica。 harvard.sty が必要。LaTeX2.09のまま。古い。

jepスタイル

apalikeをもとに私が日本語の経済学論文に対応できるように改変した bst ファイルです。(JPE: Japanese Economic plainの略 [huh])。natbib が必要で,引用形式は,番号方式,著者名・発行年方式に対応します。文献の種類はarticle, book, inbook, incollention に対応しています。他の文献の種類も大丈夫かも・・・ [worried]

更新履歴

  • 14, Oct., 2014 — \citetで、日本語の著者名が二人のとき、二人目が表示されないバグの修正
  • 07, Sep., 2014 — UTF8版に対応
  • 15, Feb., 2005 — \citeで日本の著者名に対応
  • 15, Jan., 2005 — 公開開始

[BibTeX] BibTeX を使った文献目録の作成

プリアンブルの設定

まず,文献目録を掲載する tex ファイルを開き、プリアンブルに使用したい BibTeX のスタイルファイル(bstファイル)を指定します。ここでは,標準のjplain.bstを使用します。

\bibliographystyle{jplain}

apalikeのように一部のスタイルファイルでは、パッケージが必要な場合があります。

\usepackage{apalike} \bibliographystyle{apalike}

参考文献挿入

次に参考文献を掲載したい箇所に次の命令を記述します.

\bibliography{bibファイル名}

bibファイルが複数ある場合は,次のように指定します.

\bibliography{bibファイル名, bibファイル名}

引用

本文中で文献を引用する場合は,\cite を使います。

\cite[コメント]{引用キー}

コメントでは章やページ数などの情報を書き込むことができます。コメントは省略することができます。

入力例

See \cite{mas:1995,mas:1985, mye:1981,} and \cite[Ch. 3]{red:2003}.

BibTeX では,\cite で引用された文献のみを文献目録として作成します。引用されなかったが、文献目録に掲載したい文献がある場合は、\nocite を使ってその文献の引用キーを列挙します。\nocite は,本文の \bibliography より前あればどこに記述してもかまいませんが、\bibliographyの直前に記述するとよいでしょう。

入力例

\nocite{das:1979, sjo:1996}

bib ファイルのすべての文献を掲載したい場合は,\nocite{*} を記述します.

BibTeX の処理の流れ

BibTeX の処理の流れは次の通りです.

  1. tex ファイルをuplatexで処理し aux ファイルを生成する
  2. aux ファイルをpbibtexで処理し,bbl ファイルを作成する
  3. tex ファイルをuplatexで処理する
  4. 参照のためにもう一度 tex ファイルをuplatexで処理する

TeXWorksの設定

タイプセットに pbibtexを用意する。 引数は

  • -kanji=utf8
  • $basename

TeXStudioの設定

コマンドのBibTeXを

pbibtex.exe -kanji=utf8 % にしておく。

既定の文献ツールを

txs:///bibtex  にしておく。

サンプル

サンプルは以下の通りです。

  • filebibtexsample.tex(本文:文字コードはUTf-8形式です)
  • filesample.bib(英語文献サンプル:文字コードはUTf-8形式です)
  • filejsample.bib(日本語文献サンプル:文字コードはUTf-8形式です)

サンプル(筆者の研究分野の個人的な文献データ)には,代表的な文献の種類,article, book, inbook, incollection のデータからなります。

正しく処理されれば,下のような出力結果が得られます.

filebibtexsample.pdf

[BiBTeX]BibTeX 概要

はじめに

BibTeX活用術を最初に書いて、これまた環境もかなり変わりました。書誌データが、amazonやgoogle scholarなどで簡単に入るので、文献管理が非常に楽になりました。

また最近では、Endnoteをはじめとする文献管理ソフトも充実してきています。

一方で、BibTeXによる処理は古いという側面もあります。

近年、では、biblatex というものもあります。

文献目録は,論文やレポートを作成する際に引用した文章の文献や参考となった文献のリストのことで,著者名,本の表題,出版社名,発行年などをを巻末や章末にまとめて示しているものです。

自分の論文で、他人の論文を参考にした、引用した、ときには、参考文献として書くことは当然です。 (話題となった某論文騒動には唖然としましたが [worried]

LaTeX では,文献目録作成用にthebibliography環境が用意されています。 しかし、論文を書くたびに、毎回、文献目録を作成するのは大変です。BibTeX は、膨大な文献データベースから、引用文献のみを取り出して、文献目録を自動で作成し、しかも、スタイルファイルによって投稿論文にあった文献目録の書式に整えてくれるというすばらしい特徴を持っています。

そこで、ここでは、BibTeXを使った文献管理と引用について紹介したいと思います。

BibTeXには、欧文専用のbibtexと日本語文献にも対応したpbibtexがあります。(昔使われていたjbibTeXは、NTTjTeX用コマンドになったようです。platexとpbibtexで名前が統一されて良かったと思います。) ここでは,断りがない限りpbibtexを使用します。

文献データ

文献目録で使用するデータは、下のような bib ファイルというテキスト形式のファイルで管理します。

bib ファイル

@article{ mye:1981,

	author	= {Roger B. Myerson},
	title 	= {Optimal Auction Design},
	journal	= {Mathematics of Operations Research},
	year	= {1981},
	volume	= {6},
	number	= {1},
	month	= {feb},
	pages	= {58-73}

} @incollection{ito2004,

	author	= {伊藤 秀史},
	yomi	= {いとうひでし},
	title	= {インセンティブ設計と社会的選好},
	booktitle = {現代経済学の潮流},
	editor	= {岩田 規久男 and 岩本 康志 and 本多 佑三 and 松井 彰彦},
	pages	= {29-52},
	publisher = {東洋経済新報社},
	year= {2004}

}

※bibファイルはテキストエディタで編集し、拡張子を.bibとします。ここでは、文字コードはUTF-8を使うものとします。

各フィールドはダブルクォテーションで囲んでもかまいませんが、最近の傾向は{}で囲むようです。

bibファイルの中身

bib ファイルは次のような形式になっています.

@文献の種類{ 引用キー,

    フィールド名 = {フィールドの内容},
    フィールド名 = {フィールドの内容},
    …

}

bib ファイルはテキスト形式なので表計算ソフトによって管理・編集(後述)することができます。また、BibTeX は,LaTeX 文書で必要な文献のみを抽出して目録を作成するので、LaTeX 文書ごとに bib ファイルを作成する必要はありません。

bibファイルでは,まず文献の種類を指定します.文献の種類を正しく指定することで,BibTeX は,それぞれの文献の種類に応じた書式に変換します。それぞれの文献の種類がもつ情報は異なります。それゆえ、文献の種類にはいくつかのフィールドが用意されています.フィールドは次の3つに分類されます.

必須フィールド
文献の種類が必要としているフィールド.もしこのフィールドの記述がなければエラーメッセージが表示されます.
任意フィールド
省略可能なフィールド.
無視されるフィールド
文字通り無視されるフィールドであり,BibTeX には何の影響も与えありません.文献の概要などの情報を bib ファイルに自由に書き込むことが可能です。

フィールド

LaTeX で用意されている標準のスタイルで使用されるフィールドを紹介します。

address publisher などの住所
annote 注釈.標準スタイルでは使用されありません.
author 著者名
booktitle 編者がいるバインドされた大きな本の一章節のみを引用したときの本のタイトル(それ自身に、タイトル、著者名が書いてある).(文献の種類が book の場合は,title を使用します.)
chapter 章番号
crossref 参照する文献のデータベースキー
edition 本の版.洋書の場合は「Second」のように順序数を使用します.また頭文字は大文字で入力します.
editor 編集者
howpublished 出版物がどのようにして出版されたのかの説明.
institution techreport(テクニカル・レポート) のスポンサー
journal 論文誌名
key 著作に関する情報がない場合,ソート・相互参照・ラベル作成の処理に使われる.\cite で使用される引用キーではありません
month 出版された月.省略形を使用します.(jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec)
note 付加的な情報の記述
number 論文誌などの通し番号
organization proceeding(会議録) のスポンサー,manual(マニュアル) を作成した機関
pages ページ範囲.「32–45」のように「-」(ダッシュ) を2本つけて指定します.
publisher 出版社
school mastersthesis(修士論文), phdthesis(博士論文) が提出された学校
series 出版物の一連のシリーズ名
title 著作物のタイトル
type techreport(テクニカル・レポート) の種類
volume 論文誌の巻
year 著作物の発行年
yomi pBibTeX 独自のフィールド.著者のふりがなをつけることでソート・ラベル作成の処理に使う。

五十音順で並べたい場合はひらがな表記。アルファベット順で並べたい場合はローマ字表記します。

著者名・編集者名

authorやeditorはフルネームで記述します.ハイフン付きの人名にも対応しています.著者や編集者が複数いる場合は,名前を and で結びます。

入力例

Roger B. Myerson Jean-Jacques Laffont David Baron and David Besanko Partha Dasgupta and Peter Hammond and Eric Maskin

日本人の場合は,姓と名の間に半角スペースを入れておきます.

入力例

#sh{{ 奥野 正寛 and 鈴村 興太郎 }}

スタイルによっては所望の書式で出力されない場合がありますが,その場合は,所望の書式を直接 bib ファイルに記述することもできます.

入力例

R[oger] B. Myerson R. B. Myerson J. -J. Laffont

姓と名が離れないよう~(ティルダ)で結ぶこともあります。

入力例

スタイルによっては自動で Myerson, R. B.と変換してくれるものがありますが,所望の出力にならない場合があるかもしれません。本来は、スタイルファイルでなんとかしなければなりませんが、急いでいるときなど非常時には、{ }を使って次のように出力を強制的に制御することができます。

入力例

{Myerson, R. B} {Baron, D. and D. Besanko}

よみがな

yomi を与えることにより,文献を著者名の五十音順やアルファベット順にソートすることができます.

入力例

yomi={おくのまさひろすずむらこうたろう} yomi={Masahiro Okuno and Kotaro Suzumura}

アルファベット表記において,日本語文献と英語文献を分けたい場合は,AAA を加えたり,ZZZを加えることで,ソートの順番を強引に変えてます。

入力例

yomi={Masahiro AAAOkuno and Kotaro Suzumura} yomi={Masahiro ZZZOkuno and Kotaro Suzumura}

フィールドに¥マークが必要なとき

óのようなアクセント付き文字を使用することができます。アクセント文字の命令は,LaTeX の命令と同じでありますが,\’o のように{ } で囲まれていない命令は,{ } で囲む必要があります.

入力例

Tomas Sj{\”o}str{\”o}m

タイトル

titleは,それぞれの単語の頭文字を大文字で入力しておくとよいでしょう.

入力例

#sh{{ The Economics of Regulation Ten Year After }} スタイルが必要に応じて、すべてを小文字にしたり、ダブルクォテーションをつけてくれたりします。ただし、スタイルによっては所望の出力結果が得られない場合があります。

本来はスタイルファイルの問題ですが、これも非常手段として、{ }によって出力を強制的に制御することもできます。

入力例

#sh{{ {“The Economics of Regulation Ten Year After”} }}

文献の種類

文献の種類は次の通りです.

  • article 論文誌の論文,雑誌の記事
    • 必須フィールド — author, journal, title, year
    • 任意フィールド — month, note, number, pages, volume
  • book 出版が明確な本
    • 必須フィールド — (author または editor), title, publisher
    • 任意フィールド — (volume または number), adress, edition, month, note, series
  • booklet 出版者あるいはスポンサーが分からない本
    • 必須フィールド — title
    • 任意フィールド — address, author, howpublished, month, not, year
  • inbook 章などの本の一部分
    • 必須フィールド — (author または editor) (chapter または pages 両方指定も可), publisher, title, year
    • 任意フィールド — (volume または number), address, edition, month, note, series, type
  • incollection それ自身が表題もっている本の一部分
    • 必須フィールド — author, booktitle, publisher, title, , year
    • 任意フィールド — (volume または number), address, chapter, edition, editor, month, note, pages, series, type
  • inproceeding (または,conference.Scribe との互換性のため) 会議録の論文
    • 必須フィールド — author, booktitle, title, year
    • 任意フィールド — (volume または number), address, editor, month, note, organization, pages, publisher, series
  • manual マニュアル
    • 必須フィールド — title
    • 任意フィールド — address, author, edition, month, note, organization, year
  • mastersthesis, phdthesis 修士論文, 博士論文
    • 必須フィールド — author, school, title, year
    • 任意フィールド — address, month, note, type
  • proceedings 会議録
    • 必須フィールド — title, year
    • 任意フィールド — (volume または number), address, editor, note. month, organization, publisher, series,
  • techreport 学校などで発行されているテクニカルレポート
    • 必須フィールド — author, title, institution, year
    • 任意フィールド — address, month, notenumber, type
  • unpublished 出版されていない著作物
    • 必須フィールド — author, title, note
    • 任意フィールド — month, year
  • misc 上のどれも当てはまらないもの
    • 必須フィールド — なし
    • 任意フィールド — author, title, howpublished, month, year, note

各文献の種類において,keyは、author などの記述がない場合、ソート・相互参照・ラベル作成の処理に使われるので記述しなければなりません.

引用キー

引用キーは\citeなど本文中で文献の出典を示すときに用いられます.引用キーは任意の名前を付けることができます.文献データの管理を容易くするために,規則性のある名前を付けるとよいでしょう。私は、著者名の頭3文字と西暦を「:」で結んでいます.しかし,このようなラベリングの場合,同じラベルが生じることもあります.そのようなときアルファベットで区別しています.

入力例

sjo:1996a sjo:1996b matsushima:1996