動作環境
macOS (High Sierra) 上で,upLaTeX + upBibTeX + dvipdfmxによりpdf出力することで動作確認しています.
まえがき
LaTeXの引用文献はBibTeXで管理されることが多いです.日本語論文が含まれる場合,jecon.bst
というスタイルシートの使用がデファクトスタンダードであるようです.以下の2ステップでjeconスタイルの引用文献が作成できます.
-
jecon.bst
をダウンロードし,適切なディレクトリに配置する- 検索パスに含まれていないディレクトリに置いた場合,当然
jecon.bst
は認識されない
- 検索パスに含まれていないディレクトリに置いた場合,当然
- TeXファイル内で
\bibliographystyle{jecon}
としてスタイルを設定する - BibTeX使用時の基本的な方法に従ってコンパイルする
たったこれだけなのですが,意外と手間だったりします.自分は以下の2箇所でハマりました
- TeXの検索パスが分からないので,jecon.bstをどこに置くべきか分からない
- BibTeX使用時のコンパイルの方法が分からない
とくに前者の問題に困っている人は他にもいる気がします.というのも,
- TeXの検索パスを探す方法に癖がある
- ネットに転がっている情報が少し古いかもしれない (同じ手順を踏んでもうまくいかない場合があった)
からです.そこで参考文献作成までの手順をメモしておくことにしました.
1. jecon.bstの置き場所を探す
jecon.bst
を置く場所の候補は2種類あります.1つは.texファイルと同じ階層です.それで良けれればこの節は読み飛ばしてもらってかまいません.この方法は手っ取り早い一方,他の階層で文書を作成するときにjecon.bst
をコピペする必要があります.
もう1つは,ユーザーごとに用意された設定ファイル置き場 (以下TEXMFHOMEとする) です.ここに適切なディレクトリ構成でファイルを置けばjecon.bst
をデフォルトのスタイルと同じように使えるようになります.したがって,EXMFHOMEを確認し,ディレクトリ構成を確認し,TEXMFHOME下に適切なディレクトリを作成する,計3ステップが必要です.
第一に,TEXMFHOMEの場所を確認します.TEXMFHOMEは環境変数$TEXMFHOME
によって指定されています.しかしこの環境変数は$HOME
のような一般の環境変数とは異なります.$TEXMFHOME
はkpathseaなるパッケージで管理される環境変数であるからです.したがって,たとえばecho $TEXMFHOME
しても何も返ってきません.echo $TEXMFHOME
に対応するコマンドは
kpsewhich -var-value TEXMFHOME
です.自分の場合$TEXMFHOME
は~/Library/texmf
です.このディレクトリが実際に存在しない場合は新たに作成します.
第二に,TeXの標準パッケージ置き場 (以下TEXMFDISTとする) のディレクトリ構成を確認します.TEXMFDISTはTEXMFHOMEと同じく,
kpsewhich -var-value TEXMFDIST
によって確認できます.自分の場合$TEXMFDIST
は/usr/local/texlive/2017/texmf-dist
です.
第三に,TEXMFHOME内にbstを置くディレクトリを作成します.ディレクトリ構成はTEXMFDISTと一致させます.$TEXMFDIST
内のどこにbstファイルが置かれているかを確認することは簡単です.まず,
mdfind jplain.bst
で表示されるリストのうち,$TEXMFDIST
内にあるものを確認します.自分の場合/usr/local/texlive/2017/texmf-dist/pbibtex/bst/jplain.bst
でした.次に,$TEXMFHOME
下に対応するディレクトリを作成します.自分の場合pbibtex/bst
ディレクトリを作成します.作成したらこのディレクトリにjecon.bst
を配置します.結局,自分の場合はjecon.bst
を~/Library/texmf/pbibtex/bst/jecon.bst
として配置したことになります.
beta_jecon2nonote.bstの場合
心理学系論文の「執筆・投稿の手びき」の投稿規定に対応した引用文献を書きたい場合,奥村先生のホームページからbeta_jecon2nonote.bst
もダウンロードします1.こちらは本家jecon.bst
と異なり,ファイルをnkfでunix改行形式 (LF) に変換する必要があります.2017年12月現在,たとえば以下の3行によってbstファイルをダウンロードし文字コードを変換できます (要brew install nkf
).
wget http://blue.zero.jp/yokumura/tex/jpa_nonote/beta_jecon2nonote.bst
nkf -Lu beta_jecon2nonote.bst > beta_jecon2nonote.bst.new
mv beta_jecon2nonote.bst.new beta_jecon2nonote.bst
ダウンロードしたら,jecon.bst
と同じディレクトリに配置します.僕の場合~/Library/texmf/pbibtex/bst/beta_jecon2nonote.bst
としました.
2. タイプセットの設定
BibTeXを使う場合はlatexコマンドとbibtexコマンドをlatex -> bibtex -> latex -> latexと交互にコンパイルし,最後にdvipdfmxでpdf化する必要があります.例えばtexfile.tex
(中でbibdata.bib
を呼び出している) からpdfを作成する場合,
uplatex texfile.tex
upbibtex texfile
uplatex texfile.tex
uplatex texfile.tex
dvipdfmx texfile
とします.面倒であれば引数にファイル名 (texfile
) を取るようなシェルスクリプトを書けばよいと思います.
タイプセットの設定 (Texpadの場合)
macOSでTexpadを使用している場合は上述したビルドを自動化出来ます.
「タイプセット」 → 「グローバルなビルドスクリプトを管理」で開かれるBuildScripts
ディレクトリに,以下のスクリプトをuplatex-upbibtex.tpbuild
として保存します.
#!/bin/bash
uplatex "$TEXPAD_ROOTFILE"
upbibtex "$TEXPAD_ROOTFILE_NO_EXT"
uplatex "$TEXPAD_ROOTFILE"
uplatex "$TEXPAD_ROOTFILE"
dvipdfmx "$TEXPAD_ROOTFILE_NO_EXT"
\newcommand{\citeandt}[1]{{\renewcommand{\&}{and}\citet*{#1}}} % 「&」を「and」に変
-
beta_jecon2nonote.bstを使って心理学論文を書く場合,文章中では
Asan and Bsan (1999)
とし,()内ではAsan & Bsan, 1999
とする必要があります.自分は以下のように\citet
を定義しなおし,そちらを使っています. ↩