4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【自研究室向け】LaTeXにおける索引の作成方法

Posted at

はじめに

卒論・修論、学会論文など論文執筆にやはりLaTexは欠かせません(再々)。
以前、LaTeXにおける参考文献の作成方法を紹介しました。
本稿では、前回の続きとして索引の作成の仕方を備忘録として残します。
本稿でもやっぱりやっぱりOverleafは一旦スルーします

LaTeXについて

LaTeXとは、簡単にいうと文書作成ツールです。
インストールの仕方や、VSCodeでの環境構築方法については以下の記事で紹介しているので参考にしてください。

また、前回の参考文献の作成方法についての記事も以下に置いておきます。
本稿はこれの続きです。

索引の作成方法

索引の作成には、\indexを使用します。
LaTeXソースコード内での操作を順を追って説明します。

LaTeXソースコード内での操作

まず最初に使用するパッケージを追加します。

\usepackage{makeidx}

次に索引を作成することを明示するために以下を追加します。

\makeindex

それでは、本文中の索引をつけたい部分に\indexをつけていきます。
例えば、nicterという索引をつけたい場合は以下のようにします。

\index{nicter}

また、もし読み方や先頭の文字列を指定したい場合は@を使用します。
例えば、OpenFlowの読み方を指定する場合は以下のようにします。

\index{おーぷんふろー@OpenFlow}

最後に、索引を出力することを明示するために以下を追加します。

\printindex

これでLaTeXソースコード内での操作は終了です。
最後に、サンプルのソースコード全体を以下に示しておきます。

sample.tex
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{url}
\usepackage{makeidx}
\makeindex
\title{サンプルレポート}
\author{あなたの名前}
\date{\today}
\begin{document}
\maketitle
\section{はじめに}
これはLaTeXのサンプル文書です。文章を自由に追加・編集してください.
記事\index{nicter}を参照する例です。\cite{nicter}.
論文\index{おーぷんふろー@OpenFlow}を参照する例です。\cite{light}\cite{openflow}% ここで文献を参照しています
\section{内容}
\LaTeX は文章やレポートの作成に便利です。数式も簡単に挿入できます.
\subsection{数式の例}
以下は二次方程式の解の公式です.
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
% \reference
\bibliography{bunken}
\bibliographystyle{cs2srt}

\clearpage
\printindex

\end{document}

実行してみよう

実際に索引を作成してみましょう。
まず、索引のフォーマットを指定します。
以下に今回使用するサンプルのistファイルdot.istを示します。
このサンプルも含めて他の様式多くの様式は以下のサイトに記載されているので参考にしてください。

dot.ist
preamble
"\n\\begin{theindex}\n"
postamble
"\n\n \\end{theindex}\n"
item_x0   "\n\\item "
item_x1   "\n \\subitem "
item_x2   "\n  \\subsubitem "
delim_0   "\\dotfill "
delim_1   "\\dotfill "
delim_2   "\\dotfill "
%
% mendex
lethead_prefix
"\\hbox to \\linewidth{\\hfill\\sffamily\\bfseries\\gtfamily\\small "
lethead_suffix
"\\hfill}\\par\n\\nopagebreak\n"
lethead_flag       1
symbol             "‹L†^”Žš"
letter_head        2
% makeindex
heading_prefix
"{\\vbox{\\hbox to \\linewidth{\\sffamily\\bfseries\\gtfamily\\small "
heading_suffix
"\\ \\hskip\\fill}\\vskip1pt\\hrule}}\\nopagebreak\n"
headings_flag      1

次に作成したdot.istsample.texと同じディレクトリに配置してください。
以前の記事で作成したレシピを利用していただいている方は、mendixのコメントアウトを外してVSCodeを再起動してください。
レシピ内にmendixを定義していない方は

mendex -r -c -g -s dot.ist -p any sample.idx

を実行する必要がありますが、idxファイルが必要なので自動で削除しないように注意してください。

それでは、実行してみましょう。
実際にビルドしてみると以下のような索引が作成されていることがわかります。
読み方を指定したOpenFlowはアルファベットではなく、指定した先頭文字で索引に追加されていることがわかります。

image.png

おわりに

とりあえず索引についてはある程度これでできたかなと思います。
索引も自動で作ってくれるなんてやっぱりLaTeXは便利ですね。
論文やレポートを書く際はぜひ使ってみましょう。
(やっぱりやっぱりOverleafには最後まで言及しません)

4
3
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
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?