LoginSignup
37
29

More than 5 years have passed since last update.

Zotero+BibTeXで参考文献の出力を自動化&論文の引用で出てきた順にソートする

Last updated at Posted at 2019-01-10

はじめに

はじめまして.
初めてQiitaに投稿させていただきます.
現在は卒論,修論時期でメンドクセって思ってる方も多いでしょう.
そこで,楽にする方法の一つとして参考文献だけでも楽にしてみましょう,という記事です.

問題点

参考文献を書く際に,\begin{thebibiliograpy}を使ってる人も多いでしょう.
確かにパッケージ依存もなくて楽だと思います.しかし,論文に出てきた順に自力でソートしなくてはなりません.これがまぁ面倒くさい.というわけで,自動的にソートできたらいいな.欲を言えば,自動的に参考文献のリストも出力したい.というわけでその願い叶えましょう.

必要環境

  • OS:Unix系統(多分Winでもできる)
    • 筆者はmacOS Mojave 10.14にて設定
  • TeXで文書を記述していること
  • TeXがインストールされていること

Zoteroのインストール

Zoteroは参考文献を管理してくれるスグレモノ.プラットフォームに関係ないから,ZoteroのIDを作ればいつどの環境でも使える(はず).ここからインストール.Downloadを押して,自分にあったプラットフォームのインストーラーを選ぶだけ.Zotero Connectorもあるといいかも.ciniiとかj-stageから直接論文を拾えるスグレモノ.

Zotero-better-bibtexのインストール

Zotero-better-bibtexとは,zoteroのプラグイン的なもの.まぁ,機能を拡張してくれる程度に認識してもらえれば大丈夫かと.

  1. ここの最初,the latest releaseをクリックして,zotero-better-bibtex-x.x.x.xpiをクリック&ダウンロード.
  2. Zoteroを開き,メニューのtools -> add-onsを選択.
  3. さっきダウンロードしたxpiファイルをドラッグ.
  4. いろいろメッセージが出るけどそのまま進める.再起動等出るけどいいなりに.
  5. ZoteroのPreference->Better BibTeX->exportfields to omit from exportに出力する際に除外する項目を入れる. 筆者はabstract,file,doiと記述した. fileは長くて邪魔だし,abstractも別にいらないので.

これでZotero側は下準備完了.
Zoteroの使い方はここ参照.

Zoteroから.bibファイルの出力

Zotero内で卒論用のフォルダを作って,その中に参考文献を突っ込んでおくと良い.作ったフォルダを右クリック->Export Collection..をクリック.ここでポイントなのがFormatとOptionの選択である.FormatをBetter BibTeXにし,Optionにkeep updatedを選択する.これでフォルダ内に変更があれば,自動的に.bibファイルに出力してくれる.

ここで筆者が詰まった点だが,TeXで引用する際に\cite{引用キー}で引用する.さていつもお世話になっている強化学習の本を例に出そう.

bibliography.bib
@article{sutton2000強化学習,
  title={強化学習},
  author={Sutton, Richard S},
  journal={強化学習},
  year={2000},
  publisher={森北出版株式会社}
}

ここで引用キーはsutton2000強化学習になる.
...日本語入ってるしなんかやだ!変えたい!と思う方もいるだろう.ましてZotero Connectorから論文を引っ張ってきたのなら,尚更名前がおかしいこともあるだろう.
これを変える方法がわからずに詰んでいた.この変え方として,Zoteroで変えたい文献をクリックして,画面右にあるのInfo->ExtraCitation Key:変えたい引用キーを追加する.これで引用キーを変えられる.

TeXの準備

準備と言ってもTeXをインストールしているならBibTexもあるはず.なければfinkやらbrewやら使ってインストール.ということで,論文が書いてある.texファイルの\begin{documentclass}の下あたりに以下の文章を記述する.

thetis.tex
\bibliographystyle{junsrt}

junsrtは論文に出てきた順にソートするよう命令するもの(だと思う).アルファベット順に出力したいならjplainとか.詳細はここ.junsrtの場合,\cite{}で引用しない文献は参考文献のページに出力されない.

参考文献を出力したい場所で以下の文章を記述.

thetis.tex
\bibliography{出力した.bibファイルの相対パス}

以上で.bibファイル生成の自動化&ソートが可能となった.
コンパイルに関しては,latexmkを使うと楽.使い方はここ参照.軽く説明すると,latexmkだと,texファイルからpdfに一気にコンパイルしてくれるコマンド.ついでにtexファイルの変更があれば自動的にコンパイルし,なおかつpdfビューアーによって,変更点を随時確認することも可能(オプション次第).何だこいつ強い.

終わりに

つたない文章ですが,自分への覚書と将来,またはいま現在論文を書いてる方の参考になれば嬉しい限りです.良い論文ライフを!

参考にしたサイト

BiBTeXとは

Zoteroで日本語文献のまともなBibTeX作成

文献管理ソフト Zotero ~ 設定編~ - humosy's blog

【卒論・レポート対策に】文献管理ソフトZoteroが最強すぎたので使い方をまとめました。

37
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
29