今回はTeXでpdfに索引や参考文献を入れたいときの方法をまとめます。参考文献を入れる方法はBibTeXというやりかたでやります。TeXShopというプラットフォームでやると簡単にできます。
これ。
以下がサンプルです。
\documentclass{article} %preamble \usepackage{makeidx} \makeindex \begin{document} General reference to category theory is Mac Lane \cite{MCWM}. A \textit{category}\index{category} consists of a class of objects and that of arrows with some axioms. A \textit{subcategory}\index{category! subcategory} of a category is a category under the underlying operations. %bibliography \bibliography{this_is_a_sample} \bibliographystyle{plain} %printindex \printindex \end{document}
@book{ MCWM, author = "S. Mac Lane", title = "Categories for the Working Mathematician", publisher = "Springer", year = "1971" }
結果:
やりかた。
(1) TeXを書く。
注意:
(i)
\usepackage{amsart}を使うときは\usepackage{makeidx}は必要ない。
(ii) \makeindexを\begin{document}の前に入れなければならない。
(iii) 索引を表示したい場所に\printindexを入れる。
例えば、このサンプルの場合は、はじめに参考文献が表示されてそのあとに索引が出るようになっているが、もしも逆にしたいならば、
\printindex
\bibliography{this_is_a_sample}
\bibliographystyle{plain}
とすればいい。
(2) bib.を作る。
TextEditに書いた後、保存するとき.txtを.bibに変える。
.txt → .bib
bibの書き方は適当に調べればいい。
注意:
(i) bibのファイル名はつなげなければならない。空白があるとエラーする。つまり、
this_is_a_sample → OK
thisisasample → OK
this is a sample → NG
(ii) 保存先はtexと同じ場所に保存する。
つまり、もしsample001.tex が test_fileというところに保存されているならば、this_is_a_sample.bib も test_fileに保存しなければならない。
(iii)
\bibliography{ファイル名}
\bibliographystyle{plain}
である。ここでは、\bibliography{this_is_a_sample}である。
plainの代わりに他にも色々ある。
(iv) もしも参考文献の本が引用されていないならば、その参考文献は表示されない。例えば、もしも Mac Lane \cite{MCWM}を消したならば、参考文献はReferencesだけ表示されて、Mac Laneの本は表示されない。
(3) とりあえず一回、タイプセットボタン(Typeset)を押す。
エラーが起こらなければpdfが表示される。しかし、索引が表示されなかったり、参考文献が表示されなかったり、引用箇所が [?]などとなっていても全く問題ない。
(4) LaTeXのところをBibTeXに変えて、Typesetを押す。
うまくいけばこうなる。
(5) 再びBibTeXのところをLaTeXに変えて、Typesetを押す。そのあと再びTypesetを押す。うまくいかなければ何回か行う。
これで参考文献が表示される。
(6) LaTeXのところをMakeIndexに変えて、Typesetを押す。
(7) 再び、MakeIndexのところをLaTeXに変えて、Typesetを押す。再びTypesetを押す。
そうしたら索引が表示される。索引の詳しいやり方は適当に調べて。
まとめ
LaTeX, Typeset
LaTeX → BibTeX, Typeset
BibTeX → LaTeX, Typeset
LaTeX, Typeset
LaTeX, Typeset
LaTeX → MakeIndex, Typeset
MakeIndex → LaTeX, Typeset
LaTeX, Typeset
その他: メモ
How to print on Terminal
$ platex my article.tex
$ platex my article.tex
$ mendex my article.idx
$ platex my article.tex
$ platex my article.tex
How to print on Terminal
$ latex my article
$ bibtex my article
$ latex my article
$ latex my article
僕から以上