Texで書く論文の引用にはbibtexがオススメな４つの理由

##bibtexとは
$\LaTeX$で論文を執筆する際の引用に大変便利なツールです！


##bibtexのいいところ
#### ① 引用漏れ (参考文献に入っているのに本文中で引き忘れているというミス)がなくなる
#### ② 論文中での番号付けを本文で引用した順番に自動でしてくれる(アルファベット順も可能)
#### ③ 参考文献リストを提出直前にまとめる必要がない (引用しそうな論文はとりあえずリストに入れておけば良い)
#### ④ 引用の体裁を整えてくれる (国際会議毎に指定されたbibtexの引用フォーマットをTexに入力すれば良い)

引用されていない論文が入っていたり, 番号付けも行ったり来たりしているミスがありますね↓
<img width="683" alt="スクリーンショット 2018-08-26 17.51.32.png" src="https://qiita-image-store.s3.amazonaws.com/0/182836/3d66b7d6-06e0-e967-0c5e-c6919e2b4fda.png">

bibtexを使うと↓
<img width="700" alt="スクリーンショット 2018-08-26 17.29.06.png" src="https://qiita-image-store.s3.amazonaws.com/0/182836/80320dd6-5aa9-6ac4-3e6e-1c5e6eedd771.png">
このように綺麗になります⭐️

##bibtexを使わない場合

私が知っている方法では, thebibliographyを用いて以下のように引用できます.

``` example.tex
¥documentclass[10pt,a4paper]{jsarticle}
%
¥usepackage{amsmath,amssymb}
¥usepackage{bm}
¥usepackage[dvipdfmx]{graphicx}
¥usepackage{ascmac}
¥usepackage{listings}
¥usepackage{txfonts}
¥usepackage{algorithm}
¥usepackage{algorithmic}
¥usepackage{cite}
¥usepackage{url}
%
¥setlength{¥textwidth}{¥fullwidth}
¥setlength{¥textheight}{45¥baselineskip}
¥addtolength{¥textheight}{¥topskip}
¥setlength{¥voffset}{-0.2in}
¥setlength{¥topmargin}{0pt}
¥setlength{¥headheight}{0pt}
¥setlength{¥headsep}{0pt}


¥title{Test}
¥author{cheerfularge}

¥begin{document}
¥maketitle
Nonnegative Matrix Factorization ¥cite{lee2001algorithms} aims to decompose a large scale matrix into low-rank latent factor matrices with nonnegative constraints. 
NMF has been used in image processing ¥cite{duong2018projective}, co-clustering ¥cite{lim2018codinmf}, sound analysis, and so on.

¥input{reference}

¥end{document}

```

```reference.tex
¥begin{thebibliography}{99}
¥bibitem{lee2001algorithms}
D. D. Lee and H. S. Seung. Algorithms for Non-negative Matrix Factorization. NIPS. 2000.

¥bibitem{lim2018codinmf}
W. Lim, R. Du, and H. Park. CoDiNMF: Co-Clustering of Directed Graphs via NMF. AAAI. 2018.

¥bibitem{brunet2004metagenes}
J. Brunet, P. Tamayo, T. R. Golub, and J. P. Mesirov. Metagenes and molecular pattern discovery using matrix factorization. Proc Natl Acad Sci USA. 2004

¥bibitem{duong2018projective}
V. Duong, Y. Lee, J. Ding, B. Pham, M. Bui, P. Bao and J. Wang. Projective complex matrix factorization for facial expression recognition. EURASIP Journal on Advances in Signal Processing. 2018.

¥end{thebibliography}

```
texの豆知識ですが、

`\input{xxx}`
と記入することで、別のtexファイルを読み込むことができます. 
(xxxには読み込むtexファイルの相対パスから.texを抜いたもの) 
読み込む方のtexファイルにはdocumentclassなど定義する必要はありません.
論文を書く時に１つのTexファイルで管理すると大変なので、章ごとに分けて管理すると便利です.


この結果以下のようなpdfが出来上がります.
<img width="683" alt="スクリーンショット 2018-08-26 17.51.32.png" src="https://qiita-image-store.s3.amazonaws.com/0/182836/3d66b7d6-06e0-e967-0c5e-c6919e2b4fda.png">



引用されてはいますが、順番に読むと番号が飛び飛びだったり、[3]の文献が本文中で引かれてないのに参考文献に入ってしまっていますねorz
bibtexに解決してもらいましょう！


##bibtexの使い方

###準備
1. 論文のデータベースファイルtest.bibを作成します.(bibファイルの作り方は後ほど)
1. 元のTexファイルの参考文献を出力したい部分に以下のように書き込みます. 

```
\bibliography{test} %bibファイルの.bibの前の部分
\bibliographystyle{unsrt} %引用された順番に出力
```
[BiBTeXとは](https://qiita.com/SUZUKI_Masaya/items/14f9727845e020f8e7e9)によると,アルファベット順での出力もできるようです.
3. Texの本文中で引用する.
bibtex中のある引用文献をこのように書き込んでいたとすると

```
@inproceedings{lee2001algorithms,
  title={Algorithms for non-negative matrix factorization},
  author={Lee, Daniel D and Seung, H Sebastian},
  booktitle={Advances in neural information processing systems},
  pages={556--562},
  year={2001}
}
```

bibtexのこの論文の引用させたい位置で ```\cite{lee2001algorithms}```と記入すればいいです.
この```@inproceedings{```の後の**```lee2001algorithms```**がこの論文を本文中で引用するためのおまじないになります.

`@inproceedings`などの種類については[文献データベースの作成](http://akita-nct.jp/yamamoto/comp/latex/bibtex/bibtex.html)を参照してください.


###bibファイルの作り方
1. 作りたいディレクトリで```touch xxx.bib```とターミナル上でコマンドを打ってbibファイルを作り、開きます. (この作り方に限りませんが)
3. 引用したい文献をgoogle scholorで探します.
4. 一番下の```引用元```の左側の```"```をクリックすると
<img width="679" alt="スクリーンショット 2018-08-26 17.42.48.png" src="https://qiita-image-store.s3.amazonaws.com/0/182836/d8c2ee0d-98f2-18eb-1476-15e7f293f436.png">
5. 引用情報が出てきて、左下の```bibtex```をクリックすると
<img width="380" alt="スクリーンショット 2018-08-26 17.42.55.png" src="https://qiita-image-store.s3.amazonaws.com/0/182836/170fa139-9fcf-e99d-78bf-197f4a27afd1.png">

6. bibtexに打ち込むべき情報が出てきます！
<img width="532" alt="スクリーンショット 2018-08-26 17.00.46.png" src="https://qiita-image-store.s3.amazonaws.com/0/182836/05cb7f55-f3e2-45c5-9964-5c70f7ea14ae.png">

コピペしましょう.

google scholarになくても論文名を検索して引っかかった学会やジャーナルのサイトの引用という箇所にbibtexの引用のフォーマットがあります.

ex) IEEE
<img width="713" alt="スクリーンショット 2018-08-26 17.43.11.png" src="https://qiita-image-store.s3.amazonaws.com/0/182836/f6d5100c-242c-e9bd-c42e-4195bce648dc.png">




ex) ACM
右側の```Export formatsのBibtex```をクリックすると
<img width="723" alt="スクリーンショット 2018-08-26 17.43.03.png" src="https://qiita-image-store.s3.amazonaws.com/0/182836/b660d0fd-236f-426b-3c07-650cc28fac34.png">
<img width="800" alt="スクリーンショット 2018-08-26 17.36.08.png" src="https://qiita-image-store.s3.amazonaws.com/0/182836/c7c1f363-b28c-51ab-b43c-1c17a48bf7df.png">


###コンパイル
Texshopを利用している方はタイプセットの右側のプルダウンメニューからBibtexを選択してコンパイルをしてください.(.bibに書き込まれたデータベースが読み込まれます)
その後プルダウンメニューをlatexに戻して数回コンパイルしてください.(うまく読み込まれるまでに引用箇所は[?]になっています.)

文献を追加した時も再度上記操作を行ってください.

このようにして作成されたpdfはこのようになります.
<img width="847" alt="スクリーンショット 2018-08-26 17.29.06.png" src="https://qiita-image-store.s3.amazonaws.com/0/182836/d5aad737-d392-df07-fe33-c930a9c42a10.png">

引用漏れもないですし、本文の順番通りのインデックスがついていますね！
引用しそうな論文はとりあえず.bibファイルに追加しておきましょう.

####最後にbibtexを用いて作成したTex, bibファイルを載せておきます

```bibtex_example.tex
¥documentclass[10pt,a4paper]{jsarticle}
%
¥usepackage{amsmath,amssymb}
¥usepackage{bm}
¥usepackage[dvipdfmx]{graphicx}
¥usepackage{ascmac}
¥usepackage{listings}
¥usepackage{txfonts}
¥usepackage{algorithm}
¥usepackage{algorithmic}
%
¥setlength{¥textwidth}{¥fullwidth}
¥setlength{¥textheight}{45¥baselineskip}
¥addtolength{¥textheight}{¥topskip}
¥setlength{¥voffset}{-0.2in}
¥setlength{¥topmargin}{0pt}
¥setlength{¥headheight}{0pt}
¥setlength{¥headsep}{0pt}


¥title{Test}
¥author{cheerfularge}

¥begin{document}
¥maketitle
Nonnegative Matrix Factorization ¥cite{lee2001algorithms} aims to decompose a large scale matrix into low-rank latent factor matrices with nonnegative constraints. NMF has been used in image processing ¥cite{duong2018projective}, co-clustering ¥cite{lim2018codinmf}, sound analysis, and so on.


¥bibliography{test} 
¥bibliographystyle{unsrt}

¥end{document}
```

```test.bib
@inproceedings{lee2001algorithms,
  title={Algorithms for non-negative matrix factorization},
  author={Lee, Daniel D and Seung, H Sebastian},
  booktitle={Advances in neural information processing systems},
  pages={556--562},
  year={2001}
}

@inproceedings{lim2018codinmf,
  title={CoDiNMF: Co-Clustering of Directed Graphs via NMF},
  author={Woosang Lim and Rundong Du and Haesun Park},
  booktitle={AAAI},
  year={2018}
}

@article{brunet2004metagenes,
  title={Metagenes and molecular pattern discovery using matrix factorization},
  author={Brunet, Jean-Philippe and Tamayo, Pablo and Golub, Todd R and Mesirov, Jill P},
  journal={Proceedings of the national academy of sciences},
  volume={101},
  number={12},
  pages={4164--4169},
  year={2004},
  publisher={National Acad Sciences}
}

@article{duong2018projective,
  title={Projective complex matrix factorization for facial expression recognition},
  author={Duong, Viet-Hang and Lee, Yuan-Shan and Ding, Jian-Jiun and Pham, Bach-Tung and Bui, Manh-Quan and Wang, Jia-Ching and others},
  journal={EURASIP Journal on Advances in Signal Processing},
  volume={2018},
  number={1},
  pages={10},
  year={2018},
  publisher={Nature Publishing Group}
}
```

## まとめ
興味を持っていただいた方は是非使って見てください！
質問があればコメント欄に遠慮なくお願いします＾＾