この記事は次のような人にオススメです!
・$\LaTeX$の環境構築は済んでいる
・実験のレポート・論文をLaTeXで作成したい
・LaTeX指定でレポート・論文を提出する必要があり,困っている
・どうやって引用管理したら良いのか分からない
引用に関する最低限のファイルではありますが,LaTeXのソーステンプレートも用意しておりますので,ぜひご活用ください!
また,レポート全体に関する書き方については,以下の記事にまとめていますので,そちらもあわせてご覧いただけると幸いです.
環境構築
既にLaTeXを利用する環境が整っている場合,この章はスキップしていただいて構いません.
環境構築がまだお済みでない方は,以下の記事にてオススメのツールを比較形式でご紹介しておりますので,そちらもあわせてご覧いただけると幸いです.
引用をコマンド無しで直書きする問題点
はじめに,引用をコマンド無しで直書き(直接,[1], [2], … などのように書く方法)することの問題点について紹介します.既に問題点を把握されている方は,読み飛ばしていただいて構いません.
例えば,引用と引用の間に新たな引用を追加する場合に問題が発生します.
以下のように,引用[1]と[2]の間に新たな引用を追加するとします.

すると,新たに追加した引用が[2]になり,元々[2]にしていた箇所が[3]になり,元々[3]にしていた箇所が[4]になり…
といったような要領で新たに追加した引用以降のナンバリングが振り直しになってしまいます.
この文章のように,高々3個の引用であれば大した手間ではありませんが,実際のレポートや論文のように数十個もの引用を行う場合,毎回手直しで番号を振り直すのはあまりにも非効率的です.
そこで,LaTeXに用意されている引用管理用のコマンドを用いて,効率的に引用文献のリストアップすることが重要です.
具体的な引用管理の方法については,次章以降で説明します.
簡単に引用管理する方法
引用文献リストの並び順に関して,特に制約が無い場合にオススメの方法です.この方法では,比較的簡単かつ直感的に記述することができます.
ただし,引用文献の著者名(五十音,アルファベット)順に列挙する必要がある場合は,不向きですので,後述の「より高度な方法」の章をご覧ください.
方法としては至ってシンプルで,
thebibliography環境下で,\cite{}と\bibitem{}をセットにして使う
というものです.
これだけでは分かりづらいので,以下に具体的なソースファイルを添付します.引用と簡単な章立てだけの最低限しか用意していませんが,一般的なLaTeX環境(pLaTeX(ptex2pdf))で動作します.
\documentclass[12pt]{jreport}
\usepackage[dvipdfmx]{graphicx}
\usepackage{otf}
\usepackage{hyperref}
\hypersetup{
breaklinks=true
}
% 参考文献の見出しを「参考文献」に変更
\renewcommand{\bibname}{参考文献}
\title{\LaTeX における引用文献管理}
\author{}
\date{\today}
\begin{document}
\maketitle
\chapter{このテンプレートについて}
\section{引用文献管理}
レポートや論文では参考(引用)文献の明記が欠かせません.Webページから引用する場合は\cite{web}のように記述し,論文から引用する場合は\cite{article}のように記述し,書籍から引用する場合は\cite{shoseki}のように記述します.2つ目のWebページから引用する場合は\cite{web-2}のように記述します.
\begin{thebibliography}{}
\bibitem{web}
著者名.“ページ名”.サイト名.更新日 \\
\url{https://example.com/},(参照 YYYY-MM-DD)
\bibitem{article}
著者名.記事タイトル.雑誌名.出版年,巻数(号数), \\
開始ページ - 終了ページ
\bibitem{shoseki}
著者名.書籍名.出版社名, 出版年.
\bibitem{web-2}
著者名2.“ページ名2”.サイト名2.更新日 \\
\url{https://example.com/},(参照 YYYY-MM-DD)
\end{thebibliography}
\end{document}上記の書き方をすることで,新たに追加した引用文献を間に追記するだけで,自動でナンバリングをやり直してくれます.

新たな引用が追加され,以降のナンバリングも自動で更新されました!
ソースファイルを1回コンパイルしただけでは,引用が[?]のように文字化けしたり,ナンバリングがおかしくなったりする場合があります.
その場合は,複数回コンパイルすることで解決します.
より高度な方法
続いてご紹介するのは,BibTeXを用いてより高度に引用管理する方法です.
先ほどご紹介した簡単に引用管理する方法では,参考文献が引用順にリストアップされていましたが,BibTeXを使うことで,引用順によらず,著者名(50音・アルファベット)順に自動でソートすることができます.


確かに,実際の引用順によらず著者名順にソートされていることが分かります.
ここで,ソースファイルも見ておきましょう.
% main.tex
\documentclass[12pt]{jreport}
\usepackage[dvipdfmx]{graphicx}
\usepackage{otf}
\usepackage{hyperref}
\hypersetup{
breaklinks=true
}
\renewcommand{\bibname}{参考文献}
\title{BibTeXを用いた引用文献管理}
\author{}
\date{\today}
\begin{document}
\maketitle
\chapter{このテンプレートについて}
\section{引用文献管理}
今度は,引用順\cite{iii}ではなく,著者名の50音・アルファベット順\cite{aaa}に自動でソートする例\cite{uuu}です. \\
先ほどの例\cite{bbbb}とは異なり,ナンバリング及び参考文献リストが引用順ではなく,著者名順\cite{aaaa}になっていることが分かります.
\bibliographystyle{jplain}
\bibliography{references}
\end{document}
% references.bib
@book{aaa,
author = "ああああ",
title = "架空の書籍A",
publisher = "架空出版社A",
year = "2023"
}
@book{iii,
author = "いいいい",
title = "架空の書籍I",
publisher = "架空出版社I",
year = "2022"
}
@book{uuu,
author = "うううう",
title = "架空の書籍U",
publisher = "架空出版社U",
year = "2021"
}
@book{aaaa,
author = "AAAA",
title = "Fictional Book A",
publisher = "Fictional Publisher A",
year = "2020"
}
@book{bbbb,
author = "BBBB",
title = "Fictional Book B",
publisher = "Fictional Publisher B",
year = "2019"
}
BibTeXを用いる方法では,メインのLaTeXソースファイル(main.tex)に加え,リファレンスのデータベースファイル(この例では,「references.bib」)が必要になります.
コンパイル手順
基本的に3回のコンパイルが必要になります.
- 1回目メインファイルのコンパイル
メインファイル「main.tex」をコンパイルします.
- 2回目BibTeXコンパイル
BibTeXをコンパイルします.
TeXworks Editorを使用している場合,プルダウンメニューからコンパイルモードを「BibTeX」に切り替えておきます. - 3回目メインファイルの再コンパイル
再び「main.tex」をコンパイルします.
3回目のコンパイル後も文字化けやナンバリング誤りがある場合は,再度メインファイルのコンパイルを試してください.



