BibLaTeXを最低限使えるようにする

# はじめに
こんにちは。@sahukitaです。
本記事は拙稿、[LaTeX導入, スライド作成, スニペット配布](https://qiita.com/sahukita/items/85939554298f95c8c0a7)の続編で、「取り敢えずBibLaTeXを使える」所まで皆さんをお連れするものです。
# 目次
- [必要なパッケージのインストール](#%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)
- [書いてみる](#%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%BF%E3%82%8B)
- [BibLaTeX使用に必須のコード](#biblatex%E4%BD%BF%E7%94%A8%E3%81%AB%E5%BF%85%E9%A0%88%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89)
- [BibLaTeXの引用の性質](#biblatex%E3%81%AE%E5%BC%95%E7%94%A8%E3%81%AE%E6%80%A7%E8%B3%AA)
- [引用の仕方](#%E5%BC%95%E7%94%A8%E3%81%AE%E4%BB%95%E6%96%B9)
- [書誌情報をどうやって持ってくるか](#%E6%9B%B8%E8%AA%8C%E6%83%85%E5%A0%B1%E3%82%92%E3%81%A9%E3%81%86%E3%82%84%E3%81%A3%E3%81%A6%E6%8C%81%E3%81%A3%E3%81%A6%E3%81%8F%E3%82%8B%E3%81%8B)
- [スニペット配布](#%E3%82%B9%E3%83%8B%E3%83%9A%E3%83%83%E3%83%88%E9%85%8D%E5%B8%83)
- [更に詳しく知りたい方へ](#%E6%9B%B4%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%8F%E7%9F%A5%E3%82%8A%E3%81%9F%E3%81%84%E6%96%B9%E3%81%B8)
# 必要なパッケージのインストール
まずはTeX Live Managerから`biblatex`、`logreq`、`biber`、`biber.windows`、`newunicodechar`、`physics`のパッケージをインストールしてください。
尚、`newunicodechar`と`physics`はBibLaTeXの使用には全く関係ありません。
ですので、[次セクション](#%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%BF%E3%82%8B)で配布するコードから
```LaTeX
\usepackage{newunicodechar} %句読点の置き換え
\newunicodechar{。}{．}
\newunicodechar{、}{，}
```
と
```LaTeX
\usepackage{physics}
```
を抜けば、`newunicodechar`、`physics`のパッケージはインストールせずとも本記事は読み進められます。
それぞれどんな効果があるのかは、@migawariwさんの[【LaTeX】upLaTeXの句読点を置き換えるパッケージ](https://qiita.com/migawariw/items/928227fb5f7611ec3baa)と@HelloRuskさんの[数式をもっと楽に書ける TeX の physics パッケージまとめ](https://qiita.com/HelloRusk/items/ce9f49e9b3fc0344ae23)をご覧ください。
# 書いてみる
まず、`example.tex`としてtexファイルを作成し、以下のコードを貼り付けてください。
```LaTeX:example.tex
\documentclass[a4paper,11pt]{ltjsarticle} %A4: 21.0 x 29.7cm
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{mathtools}
\usepackage{physics}
\usepackage{bm}
\usepackage{ascmac}
\usepackage{fancybox}
\usepackage{graphics}
\usepackage{graphicx,xcolor}
\usepackage{here} %画像の表示位置調整用
\usepackage{type1cm}
\usepackage{hyperref}
\usepackage{enumerate}
\usepackage{newunicodechar} %句読点の置き換え
\newunicodechar{。}{．}
\newunicodechar{、}{，}
\usepackage[backend=biber,sorting=nty,style=authoryear-comp,sortcites=true,date=year]{biblatex}
\addbibresource{example.bib}

\begin{document}
\title{
  BibLaTeXを最低限使えるようにする
\large{\\副題があるならここに記入}
%副題が不要なら%\large{}というように%を前につける
}
\author{}
\date{\today}
\maketitle
\textcite{head2014gravity}では重力モデルの三形態について定義が与えられていた。\par
構造重力モデルとは二国間貿易が以下のように表される重力モデルのことである\parencite{head2014gravity}。
\begin{equation}
  X_{ij} = \frac{Y_{i}}{\Omega _{i}}\frac{E_{j}}{\Phi _{j}}\phi _{ij}
\end{equation}


\printbibliography[title=参考文献]
\end{document}
```
次に、`example.bib`として、bibファイルを作成し、以下のコードを貼り付けてください。
```:example.bib
@incollection{head2014gravity,
  title={Gravity equations: Workhorse, toolkit, and cookbook},
  author={Head, Keith and Mayer, Thierry},
  booktitle={Handbook of international economics},
  volume={4},
  pages={131--195},
  year={2014},
  publisher={Elsevier}
}
@article{anderson2003gravity,
  title={Gravity with gravitas: A solution to the border puzzle},
  author={Anderson, James E and Van Wincoop, Eric},
  journal={American economic review},
  volume={93},
  number={1},
  pages={170--192},
  year={2003},
  publisher={American Economic Association}
}
```
ファイルの作成はフォルダー名（下の画像ではEXAMPLE）右横に出てくる4つのマークの内、1番左のものをクリックして行うのでした。
![スクリーンショット 2024-08-05 224046.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/13e264db-5703-a93b-e7a4-0dbff2baafcb.png)
2つのファイルを準備できたら、`example.tex`をコンパイルして文書を作成してみましょう。文書が出来上がるまで少し長い時間がかかると思いますが、そういうものなのでご安心ください。
コンパイルが終わったら`Ctrl`+`Alt`+`V`を押して文書を表示しましょう。以下の画像のようになれば成功です。
![スクリーンショット 2024-08-05 224921.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/12e5b7ed-2282-c2ae-ebb6-631b14769df1.png)
# BibLaTeX使用に必須のコード
BibLaTeXを使うためには、プリアンブル（`\begin{document}`よりも前の行のこと）に
```LaTeX
\usepackage[backend=biber,sorting=nty,style=authoryear-comp,sortcites=true,date=year]{biblatex}
\addbibresource{.bib} %任意のbibファイル名(今回はexample.bib)
```
を書き、参考文献リストを挿入したい箇所[^1]に
[^1]: 大抵文末だと思います。
```LaTeX
\printbibliography[title=参考文献]
```
を書く必要があります。
また、**`\addbibresource{}`の`{}`内に書かれたファイル名と同名のbibファイルがtexファイルと同じディレクトリに存在していなければなりません[^2]。**
[^2]: 同じディレクトリに存在していなくてもできるようにする方法もあるっぽいですが筆者は浅学非才の身故分かりませんでした。
# BibLaTeXの引用の性質
**BibLaTeXでは文中で引用した書誌のみを参考文献として出力します。**
この性質を確かめるため、まずはbibファイルを見てみましょう。今回使ったbibファイル、`example.bib`の中身は以下の通りでした。
```:example.bib
@incollection{head2014gravity,
  title={Gravity equations: Workhorse, toolkit, and cookbook},
  author={Head, Keith and Mayer, Thierry},
  booktitle={Handbook of international economics},
  volume={4},
  pages={131--195},
  year={2014},
  publisher={Elsevier}
}
@article{anderson2003gravity,
  title={Gravity with gravitas: A solution to the border puzzle},
  author={Anderson, James E and Van Wincoop, Eric},
  journal={American economic review},
  volume={93},
  number={1},
  pages={170--192},
  year={2003},
  publisher={American Economic Association}
}
```
"Gravity equations: Workhorse, toolkit, and cookbook"と"Gravity with gravitas: A solution to the border puzzle"、二つの論文の書誌情報が記載されています。
ここで、出力された文書、`example.pdf`を見てみると、
![スクリーンショット 2024-08-06 031025.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/1996233e-4c58-274e-8ec0-380c71a8996f.png)
「参考文献」として出力されているのは文中で引用した一つ目の論文（"Gravity equations: Workhorse, toolkit, and cookbook"）だけということがお分かりになるでしょう。

# 引用の仕方
`\textcite{}`と`\parencite{}`の二つを使います。
`\textcite{}`では`著者名 (年)`、`parencite{}`では`(著者名 年)`というように出力されます。

さて、`textcite{}`や`parencite{}`の`{}`の中には何を書くのかと言いますと、**引用したい書誌の、bibファイル記載の書誌情報の一行目の、`@incollection{`とか`@article{`とか[^3]の後の所[^4]（今回の例では`head2014gravity`）を書きます。**
[^3]: 書誌の形態によって変わります。他には、本であることを示す、`@book{`をよく見ます。

[^4]: この部分で書誌情報に名前をつけ、判別しています。ですので、この部分の名前が被ってはいけません。大抵被りませんが、万が一被った場合はご自身で修正してください。

# 書誌情報をどうやって持ってくるか
再度申し上げますが、**BibLaTeXの使用には書誌情報の記載されたbibファイルが必要です。**
しかし、書誌情報を自力で構成するのは面倒なのでインターネットから取ってきます。大抵は[Google Scholar](https://scholar.google.co.jp/schhp?hl=ja&as_sdt=0,5)から取ってきます。
では、試しに"Wealth accumulation, on-the-job search and inequality"という論文の書誌情報を取ってみましょう。[Google Scholar](https://scholar.google.co.jp/schhp?hl=ja&as_sdt=0,5)にアクセスして、検索窓に`Wealth accumulation, on-the-job search and inequality`と入力し、エンターを押してください。
![スクリーンショット 2024-08-06 041014.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/885d285f-ab62-2d03-19d8-0798a178c4fb.png)
次に、画面中央からやや左の`"引用`と書いてある所をクリックします。
![スクリーンショット 2024-08-06 041626.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/69432096-ee5b-d644-7d17-d3aeb8b4ed81.png)
そして`BibTeX`と書かれている所をクリックすると、書誌情報が載っているページに飛びます。
![スクリーンショット 2024-08-06 041923.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/45fb52b7-b1bf-17aa-0f58-11d4313d544c.png)
あとはこれをコピーして、`example.bib`にペーストすればいいです。コピペした後は保存を忘れずに。
![スクリーンショット 2024-08-06 042358.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/2d1d33ee-059f-f84e-720d-04b6393a0550.png)

# スニペット配布
最後に、BibLaTeXを使えるように更新したスニペットを配布します。
```LaTeX
"レポートテンプレ":{
        "prefix": "report",
        "body": [
        "\\documentclass[a4paper,11pt]{ltjsarticle} %A4: 21.0 x 29.7cm",
        "\\usepackage{amsmath,amsfonts,amssymb}",
        "\\usepackage{mathtools}",
        "\\usepackage{physics}",
        "\\usepackage{bm}",
        "\\usepackage{ascmac}",
        "\\usepackage{fancybox}",
        "\\usepackage{graphics}",
        "\\usepackage{graphicx,xcolor}",
        "\\usepackage{here} %画像の表示位置調整用",
        "\\usepackage{type1cm}",
        "\\usepackage{hyperref}",
        "\\usepackage{enumerate}",
        "\\usepackage{newunicodechar} %句読点の置き換え",
        "\\newunicodechar{。}{．}",
        "\\newunicodechar{、}{，}",
        "\\usepackage[backend=biber,sorting=nty,style=authoryear-comp,sortcites=true,date=year]{biblatex}",
        "\\addbibresource{.bib}",
        "",
        "\\begin{document}",
        "\\title{",
        "  ",
        "\\large{\\\\\\副題があるならここに記入}",
        "%副題が不要なら%\\large{}というように%を前につける",
        "}",
        "\\author{}",
        "\\date{\\today}",
        "\\maketitle",
        "\\section{}",
        "\\subsection{}",
        "",
        "",
        "",
        "",
        "",
        "\\printbibliography[title=参考文献]",
        "\\end{document}"
        ],
        "description": "レポート用テンプレート"
    },
"スライドテンプレ":{
        "prefix": "slide",
        "body": [
        "\\documentclass[unicode,11pt]{beamer}",
        "\\usepackage{luatexja}",
        "\\usepackage{amsmath,amsfonts,amssymb}",
        "\\usepackage{mathtools}",
        "\\usepackage{physics}",
        "\\usepackage{bm}",
        "\\usepackage{ascmac}",
        "\\usepackage{fancybox}",
        "\\usepackage{graphics}",
        "\\usepackage{graphicx,xcolor}",
        "\\usepackage{here}",
        "\\usepackage{type1cm}",
        "\\usepackage{hyperref}",
        "\\usepackage{enumerate}",
        "\\usepackage{newunicodechar} %句読点の置き換え",
        "\\newunicodechar{。}{．}",
        "\\newunicodechar{、}{，}",
        "\\renewcommand{\\kanjifamilydefault}{\\gtdefault} %既定をゴシック体に",
        "\\usefonttheme{professionalfonts} %Beamerによる数式フォントの置き換えを阻止",
        "\\usetheme[numbering=fraction]{metropolis}",
        "\\definecolor{tractorred}{rgb}{0.99, 0.05, 0.21}",
        "\\definecolor{limegreen}{rgb}{0.2, 0.8, 0.2}",
        "%Theme colors are derived from these two elements",
        "%色変更はここ(https://latexcolor.com/)から行える",
        "\\setbeamercolor{alerted text}{fg=tractorred}",
        "\\setbeamercolor{frametitle}{bg=limegreen}",
        "\\usepackage[backend=biber,sorting=nty,style=authoryear-comp,sortcites=true,date=year]{biblatex}",
        "\\addbibresource{.bib}",
        "",
        "\\title{}",
        "\\subtitle{}",
        "\\date{\\today}",
        "\\author{}",
        "\\institute{}",
        "\\begin{document}",
        "\\maketitle",
        "\\section{}",
        "\\begin{frame}{}",
        "  ",
        "\\end{frame}",
        "\\begin{frame}[allowframebreaks]{References}",
        "\\printbibliography[heading=none]",
        "\\end{frame}",
        "\\end{document}"
        ],
        "description": "スライド用テンプレート"
    }
```
# 更に詳しく知りたい方へ
BibLaTeXの仕様をよく知りたい方は@shiro_takedaさんの
- [biblatex の標準スタイルの解説](https://qiita.com/shiro_takeda/items/81f2c50c28eccbec08be)
- [biblatex のオプションの解説](https://qiita.com/shiro_takeda/items/fac1351495f32c224a28)

を読まれるといいと思います。
日本語文献を扱えるようにしたい方は@sbtseijiさんの[BibLaTeXで日本語文献と英語文献の混在を扱う](https://qiita.com/sbtseiji/items/8ea24a39cd7810740e24)を読まれるといいと思います。