初級編(後編)
はじめに#
このチュートリアルの内容#
この LaTeX チュートリアル 初級編(後編)では、 自分でレポートとかを LaTeX を使って作れるようになるレベルまで、最速で到達してもらいます。
細かい説明はあえて省略していますが、最低限必要であろうコマンドは一通り説明しているつもりです。
Info
前回に引き続き、このページにあるサンプルコードは、
platex + dvipdfmx を使ってタイプセットすることを想定して書いています。
tex用語・文書構成#
texファイルからpdfファイルを生成することを「タイプセット」と言います。
ここでは、texファイルの基本的な構成について説明します。
以下のコードは、Hello, LaTeX! を出力するだけの最もシンプルなものです;
1 2 3 4 | |
1行目の \documentclass は、文書のクラスを指定するコマンドです。
文書のクラスとは、テーマのようなもので、記事や書籍、レポートなどのクラスがあらかじめ用意されています。
上の例では jsarticle という和文記事の文書クラスを指定しています。
| クラス名 | 用途 |
|---|---|
jsarticle |
和文記事 |
jsbook |
和文書籍 |
jsreport |
和文レポート |
\documentclass の直後の { } で、コマンドの引数として文書クラスの名前を与えています。
2行目と4行目にあるような \begin と \end がセットになっているコマンドは一般に「環境」と呼ばれます。
上の例にある \begin{document} ~ \end{document} は document 環境と呼ばれ、
この環境の中に書いた文章が、pdfの内容として出力されます。
つまり、上の例では、3行目に書いた Hello, LaTeX! がpdfに出力されるわけです。
基本的な LaTeX コマンド#
コメント文#
コメント文とは、タイプセットの際に無視される文のことです。
コード中に % を書くと、以降の文が(改行されるまで)無視されます(コメントアウト)。
1 2 3 4 5 6 | |
クラスのオプション#
クラスにはいくつかのオプションが用意されています。
Note
オプション引数とは、省略可能な引数のことです。 省略した場合は、標準で設定されている値が適用されます。
普通の引数は { } で与えますが、オプション引数は [ ] で与えます。
例えば、フォントサイズを 12pt にするには、
以下のようにして \documentclass コマンドにオプションを与えます;
\documentclass[12pt]{jsarticle}
Tip
標準(デフォルト)のフォントサイズは 10pt です。 何も指定しなければ、このサイズになります。
さらに、用紙サイズ(標準ではA4)を B5 に変更するには、
b5paper と papersize を書き加えます;
\documentclass[12pt,b5paper,papersize]{jsarticle}
Info
このチュートリアルでは platex でのタイプセットしか説明しませんが、 platex をユニコード文字が使えるように拡張した uplatex というものもあります。
uplatex を使ってタイプセットするには、クラスのオプションに uplatex を指定する必要があります;
\documentclass[uplatex]{jsarticle}
タイトルなどの出力#
文書のタイトルや著者名、日付などを出力するには \maketitle というコマンドを使います;
1 2 3 4 5 6 7 8 9 10 | |
3行目の \title{} コマンドに、引数として文書のタイトルを指定します。
4行目の \author{} には著者名を、5行目の \date{} には日付を指定します。
上の例では、日付を直接指定していますが \date{\today} と書けば、
タイプセットしたときの日付を自動で指定することができます。
あとは、document環境中に \maketitle と書けば、そこにタイトルなどが出力されます。
出力されるタイトルなどのスタイルは、\documentclass{} で指定した文書のクラスに依存します。
段落#
段落を作るには、\par コマンドを使います;
1 2 3 4 5 6 7 8 9 | |
あるいは、文中に空行を入れることでも、段落が作られます;
1 2 3 4 5 6 7 8 9 | |
Attention
文章の区切りには、段落コマンド \par を使いましょう。
くれぐれも、ただの改行でしかない \\ コマンドを使わないように。
見出し#
見出しは \section{} というコマンドで出力することができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
章番号は、順に自動で出力されます。
章番号を出力したくない場合は、代わりに \section*{}というコマンドを使います。
小節の出力には \subsection{}、さらには \subsubsection{} が用意されています。
章立ても文書クラスに依存します。
| コマンド | 説明 | 備考 |
|---|---|---|
\part{} |
部 | |
\chapter{} |
章 | jsarticle クラスでは使用不可 |
\section{} |
節 | |
\subsection{} |
小節 | |
\subsubsection{} |
小々節 | jsbook, jsreport クラスでは番号なし |
\paragraph{} |
段落 | 番号なし |
\subparagraph{} |
小段落 | 番号なし |
Tip
余程大規模な文書でない限りは、\section から始めれば十分です。
book クラスの場合は \chapter から始めましょう。
目次#
目次を作成するには、\tableofcontents コマンドを使用します;
1 2 3 4 5 6 7 8 9 10 11 | |
\setcounter{tocdepth}{深さ} で、目次に表示する見出しの深さを指定できます;
1 2 3 4 5 6 7 | |
| 深さ | 表示される見出し |
|---|---|
-1 |
部 \part のみ |
0 |
章 \chapter まで |
1 |
節 \section まで |
2 |
小節 \subsection まで(デフォルト) |
3 |
小々節 \subsubsection まで |
脚注#
脚注を出力するには、次のように書きます;
1 2 3 4 5 | |
Tip
文末に脚注を付ける際は、\footnote コマンドは句点の前に入れるのが常識。
箇条書き#
箇条書きをするには、itemize 環境を使用します;
\begin{itemize}
\item りんご
\item ぶどう
\item メロン
\end{itemize}
enumerate 環境を使えば、リストに番号を付けられます;
\begin{enumerate}
\item とまと
\item キャベツ
\item じゃがいも
\end{enumerate}
入れ子にもできます;
\begin{enumerate}
\item くだもの
\begin{enumerate}
\item りんご
\item ぶどう
\item メロン
\end{enumerate}
\item やさい
\begin{enumerate}
\item とまと
\item キャベツ
\item じゃがいも
\end{enumerate}
\end{enumerate}
番号の書式は、ローマ数字やアルファベットにも変更できます;
\begin{enumerate}
\renewcommand{\labelenumi}{(\roman{enumi})} % 1段目の書式
\renewcommand{\labelenumii}{\Alph{enumii}.} % 2段目の書式
\item くだもの
\begin{enumerate}
\item りんご
\item ぶどう
\item メロン
\end{enumerate}
\item やさい
\begin{enumerate}
\item とまと
\item キャベツ
\item じゃがいも
\end{enumerate}
\end{enumerate}
| コマンド | 書式 | 例 |
|---|---|---|
\arabic |
アラビア数字 | 1, 2, 3, ... |
\roma |
小文字のローマ数字 | i, ii, iii, ... |
\Roma |
大文字のローマ数字 | I, II, III, ... |
\ahph |
小文字のアルファベット | a, b, c, ... |
\Alph |
大文字のアルファベット | A, B, C, ... |
Note
番号の書式を文書全体に適用したいなら、
\renewcommand{\labelenumi}{(\roman{enumi})} プリアンブルに書けばよい。
Tip
\renewcommand{\AAA}{BBB} は、\AAA というコマンドを BBB という内容で再定義する、というコマンド。
数式環境#
テキストスタイル#
文中で数式を使うときはドル記号 $ で囲みます;
これは運動方程式 $F = ma$ です。
ディスプレイスタイル#
中央にデカデカと出力するときは、ドル記号2つ $$ で囲みます;
$$
F = m \frac{dv}{dt}
$$
Tip
\frac{分子}{分母} は、数式環境中で分数を出力するコマンドです。
複数行(align 環境)#
ディスプレイスタイルの数式環境中で、数式を途中で改行するには、
amsmath.sty というスタイルファイルで定義された align 環境を使います。
Info
標準の LaTeX で用意されている数式環境(eqnarray 環境とか)もありますが、
このチュートリアルでは amsmath の align 環境に統一して使っていくことにします。
align 環境は、標準のLaTeXでは定義されていないので、
数学用のマクロ集である amsmath パッケージをロードする必要があります。
スタイルファイルのロードは、tex 文書中の「プリアンブル」と呼ばれる領域
(\documentclass{} と \begin{document} の間)に、
\usepackage{} というコマンドを書くことで行うことができます;
1 2 3 4 5 6 7 8 9 10 11 12 | |
align 環境の中で \\ を書くと、そこで数式が改行されます。
改行した数式の位置を揃えるには、揃えたい場所に & を書きます。
上の例では、イコール = の位置で揃えるようにしています。
align 環境は自動で式番号を出力しますが、
式番号を出力したくない場合は、代わりに align* 環境を使うか、
\notag というコマンドを使います;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
図の挿入#
まずは、挿入したい図や画像を用意し、texファイルのあるディレクトリに配置します。
test.tex
fig01.png
画像を挿入するには、graphicx パッケージを使用します。
\includegraphics コマンドで fig01.png を読み込みます;
1 2 3 4 5 | |
graphicx パッケージを読み込む際、dvipdfmx オプションを与えます。
Info
ドライバの指定は、グローバルオプションで与えることもできます。
1 2 3 4 5 | |
挿入する画像の出力サイズは、\includegraphics のオプション引数で与えます。
上の例では、横幅(width)が 5cm となるように画像を挿入しています。
画像サイズの指定は、横幅 width の代わりに、高さ height で指定することもできます。
大きさの単位は cm, mm, pt など、いろいろ使えます。
画像を中央寄せするには center 環境を使用します;
\begin{center}
\includegraphics[width=5cm]{fig01.png}
\end{center}
キャプションを付けるには、figure 環境を使用します;
\begin{figure}[htbp]
\centering
\includegraphics[width=5cm]{fig01.png}
\caption{素晴らしい図}
\end{figure}
htbp というオプションは、図を挿入する位置を指定しています。
左に書いたもの程、優先度が高いです。
| オプション | 位置 |
|---|---|
h |
ソースコード通りの位置 (here) |
t |
ページの上部 (top) |
b |
ページの下部 (bottom) |
p |
別ページに単独で (page) |
表の作成#
表を作成するには、tabular 環境を使用します;
1 2 3 4 5 6 7 8 9 10 11 12 | |
上の例では、4行3列の表を出力しています。
列は & で区切り、\\ で行を改めます。
\hline は、行方向に線を引くコマンドです。
2つ重ねると、2本の線を引きます。
\begin{tabular} の直後にある引数には、各列の位置を指定します。
3列の表を作るなら、3文字を指定します。
| 引数 | 位置 |
|---|---|
l |
左寄せ |
c |
中央寄せ |
r |
右寄せ |
キャプションを付けるには、table 環境を使用します;
\begin{table}
\centering
\caption{野菜リスト}
\begin{tabular}{rcl}
\hline\hline
野菜 & 色 & 味\\
\hline
トマト & 赤 & 酸っぱい\\
キャベツ & 緑 & 無味\\
じゃがいも & 茶色 & 美味しい\\
\hline\hline
\end{tabular}
\end{table}
Tip
図のキャプションは図の下に付け、 表のキャプションは表の上に付けるのが常識です。
相互参照#
数式や図表にラベルを付け、式番号や図・表番号を参照することができます。
\label{} でラベルを付け、\ref{} で参照します;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | |
Note
目次の作成や相互参照を利用するには platex コマンドを2回実行する必要があります。
1回目のタイプセットで参照情報を記した aux ファイルを生成し、2回目にそれが読み込まれます。
latexmk を使用すれば、1回のコマンド実行で、必要な数だけ自動で platex が実行されるので、
ユーザがタイプセット改数を気にする必要はありません。
参考文献#
参考文献は、thebibliography 環境で出力します;
参考文献\cite{test2020}より、、、
\begin{thebibliography}{99}
\bibitem{test2020} 著者名、『書籍名』、出版社、出版年。
\bibitem{simizu2004} 清水明,『新版 量子論の基礎』,サイエンス社,2004.
\end{thebibliography}
\bibitem{} の引数で、文献のラベルを指定します。
本文中で参照するには \cite{} を使います。