【はじめに】
BibTexが使えるようになり、意気揚々と文献を追加していた、、、その時!
BibTexに移行してから、文献リストの書式が学会指定のスタイルと一致しない。
それもそのはず。
学会が提供している文献フォーマットは、Texのスタイルファイル(.sty)で定義されているが、
BIbTexのスタイルは専用のスタイルファイル(.bst)で定義されるため、(.sty)のスタイルなど
しったこっちゃないのである。
じゃあ、bstファイルを自分で変えてやろうじゃねーかと思っていろいろ調べたが、
とんでもなくハードルが高い。文法に関する情報もないし、編集に関する情報も試行錯誤のものが多い。
自分で開拓するコストがあまりにも高い。
それなら、世の中で誰かが公開されている学会のbstファイルをもらえばいいや!
と思いきや、今回投稿する学会のファイルは誰も公開していない…。
ではでは、今回の学会のフォーマットに一番近いフォーマットのファイルを入手し、
微調整することにしよう!
これが功を奏した。一体こんな設定に何日苦戦していることか…。
【ベースbstファイルの選定】
BIbTex のスタイルのプレビューが見られる素晴らしいサイトを発見。
ここからよさ気なものを見繕う。
スタイルファイルのレイアウトサンプル
今回の学会に一番近いのは、tieice.bst (電子情報通信学会)のよう。
【ベースbstファイルのコピー】
jBibTex が入って入ればデフォルトで格納されるっぽい。
/usr/share/texmf/jbibtex/bst/tieice.bst
これを自分の投稿する学会のtexファイルが格納されているフォルダにコピー。
【bstファイルの編集】
いくつかサイトを参考にしながらやりました。
bst ファイルのカスタマイズ
BibTeXの使い方/参考文献の形式を変更するお(bstファイルの編集)
例えば、私がやりたかったことは
○変更前:文献名を "" をくくる
○変更後: 文献名を"" でくくらない
だとすると、文献名のスタイルに該当する場所を片っ端から変えればよいはずです。
titleで検索してヒットした場所を下記にように修正。
-----------------------------------------------------------------
378 FUNCTION {format.title}
379
380 { after.author 'output.state :=
381 title empty$
382
383 { "" }
384
385
386 { "``" title "t" change.case$ * "''" * }
→ { title }
387
388
389 if$
390 }
-----------------------------------------------------------------
430 FUNCTION {format.btitle}
431
432 {after.author 'output.state :=
433
434 "``" title * "''" *
→ title
435
436 }
-----------------------------------------------------------------
そしてコンパイル。見事所望のスタイルになりましたとさ。
【終わりに】
BibTex には何度か躓いている。新しいものもあるらしいが、もはやBibTexが普及しすぎているようでこの流れは変えられないのでしょう。
とにもかくにも、なんとなく環境が整って、今度こそ本当に論文執筆に取り掛かれそう。
bst【はじめに】
論文をLaTexで書くにあたり、色々と環境設定をしている。
そこで、参考文献のデータベースBibTexを導入しておこうと思ったら、意外とはまったので備忘録にしておく。
一度作ってしまえば未来永劫使える仕組みは、ちょっと時間かかっても仕方がないと思う。
【事前準備】
ミソは、文献スタイルファイル(*.bst)と文献データベース(以下文献DB)ファイル(*.bib)を使える状態にすること。
何も知らずに本やWebの通り設定しても、パスが通っていないとうまくいかないよう。
Webはともかく、本はその辺の含めて書いてほしいものだ…。
○環境変数にパスを追加
今後の全ての論文で共通で使える文献DBのフォルダを作りたいので、準備をしておく。
~/.bashrc に以下を追加
export BIBINPUTS=$BIBINPUTS:/usr/share/texmf/jbibtex/bib:~/research/paper/bibtexDB
export BSTINPUTS=$BSTINPUTS:/usr/share/texmf/jbibtex/bst
/usr/share/texmf はLaTexのインストール先だとか。ユーザを超えて共通で設定したいものはここへ。
~/research/paper/bibtexDB 自分で任意で作る文献DB格納先。自分だけが使うならここ。基本はここで作業する。
○文献DBを作成する
~/research/paper/bibtexDB/reference.bib を作る。
フォーマット等は検索すれば出てくるので、そちらにお任せする。
【論文への反映】
○tes.tex の本文を書く
\documentclass{jsarticle}
\begin{document}
文献-\cite{xxx}. % reference.bib で登録したラベルを参照
文献-\cite[yyy}
\bibliographystyle{jplain} % 文献番号の書式。$BSTINPUTS のパスが通ってないとエラー。
\bibliography{reference} % ここで文献DB 名 reference を入れる。拡張子は不要。$BIBINPUTS のパスが通ってないとエラー。
\end{document}
○コンパイルする
bibtex データベースに変更が加えられたら、コマンドを4回実行しないといけない。
これはめんどくさいが、文献リストを論文執筆毎に繰り返し作るよりはずっと手間は少ないだろう。
test.tex のあるディレクトリに移動
platex test
→ 不完全なtest.aux ができる。
pbibtex test
→ test.bbl ができる。
platex test
→ 参照リストが完成した test.aux ができる。参照リスト不完全のtest.dvi ができる。
platex test
→ 参照リストが感染した test.dvi ができる。
【終わりに】
無知な私はまた今日もハマってしまった。
これでようやく論文執筆に取り掛かれる。
論文をLaTexで書くにあたり、色々と環境設定をしている。
そこで、参考文献のデータベースBibTexを導入しておこうと思ったら、意外とはまったので備忘録にしておく。
一度作ってしまえば未来永劫使える仕組みは、ちょっと時間かかっても仕方がないと思う。
【事前準備】
ミソは、文献スタイルファイル(*.bst)と文献データベース(以下文献DB)ファイル(*.bib)を使える状態にすること。
何も知らずに本やWebの通り設定しても、パスが通っていないとうまくいかないよう。
Webはともかく、本はその辺の含めて書いてほしいものだ…。
○環境変数にパスを追加
今後の全ての論文で共通で使える文献DBのフォルダを作りたいので、準備をしておく。
~/.bashrc に以下を追加
export BIBINPUTS=$BIBINPUTS:/usr/share/texmf/jbibtex/bib:~/research/paper/bibtexDB
export BSTINPUTS=$BSTINPUTS:/usr/share/texmf/jbibtex/bst
/usr/share/texmf はLaTexのインストール先だとか。ユーザを超えて共通で設定したいものはここへ。
~/research/paper/bibtexDB 自分で任意で作る文献DB格納先。自分だけが使うならここ。基本はここで作業する。
○文献DBを作成する
~/research/paper/bibtexDB/reference.bib を作る。
フォーマット等は検索すれば出てくるので、そちらにお任せする。
【論文への反映】
○tes.tex の本文を書く
\documentclass{jsarticle}
\begin{document}
文献-\cite{xxx}. % reference.bib で登録したラベルを参照
文献-\cite[yyy}
\bibliographystyle{jplain} % 文献番号の書式。$BSTINPUTS のパスが通ってないとエラー。
\bibliography{reference} % ここで文献DB 名 reference を入れる。拡張子は不要。$BIBINPUTS のパスが通ってないとエラー。
\end{document}
○コンパイルする
bibtex データベースに変更が加えられたら、コマンドを4回実行しないといけない。
これはめんどくさいが、文献リストを論文執筆毎に繰り返し作るよりはずっと手間は少ないだろう。
test.tex のあるディレクトリに移動
platex test
→ 不完全なtest.aux ができる。
pbibtex test
→ test.bbl ができる。
platex test
→ 参照リストが完成した test.aux ができる。参照リスト不完全のtest.dvi ができる。
platex test
→ 参照リストが感染した test.dvi ができる。
【終わりに】
無知な私はまた今日もハマってしまった。
これでようやく論文執筆に取り掛かれる。
【はじめに】
なんとなくVimの操作に慣れてきたので、Texを導入しようと思う。
表題の通り、Vim-LaTexを導入することにした。
サイズの大きいプラグインらしいが、いろいろ跡付けで設定するのが面倒なのと、Vim-LaTex Wiki の情報が充実していので、こいつに決めました。
【インストール】
GitHub からパッケージを取ってきた。
→ Vim-LaTex Wiki
【基本設定】
$HOME/vimfiles/vimrc を編集する。
→ Vim-LaTex Wiki
【英文スペルチェック設定】
$HOME/vimfiles/vimrc を編集する。
"スペルチェックを有効にする(ただし日本語は除外する)
set spelllang+=cjk
set spell
※順番は必ずこれで
日本語スペルチェックは気が向いたらやることにする。
やらなくてもいいかもだけど。
なんとなくVimの操作に慣れてきたので、Texを導入しようと思う。
表題の通り、Vim-LaTexを導入することにした。
サイズの大きいプラグインらしいが、いろいろ跡付けで設定するのが面倒なのと、Vim-LaTex Wiki の情報が充実していので、こいつに決めました。
【インストール】
GitHub からパッケージを取ってきた。
→ Vim-LaTex Wiki
【基本設定】
$HOME/vimfiles/vimrc を編集する。
→ Vim-LaTex Wiki
【英文スペルチェック設定】
$HOME/vimfiles/vimrc を編集する。
"スペルチェックを有効にする(ただし日本語は除外する)
set spelllang+=cjk
set spell
※順番は必ずこれで
日本語スペルチェックは気が向いたらやることにする。
やらなくてもいいかもだけど。