LaTeX の概要

目次

LaTeX の全体構成

LaTeX ソースファイルは \documentclass[オプション]{文書のクラス} (LaTeX 2.09 の場合は \documentstyle[オプション]{文書のスタイル})から始まり, \begin{document}\end{document} の間に本文を書きます. \begin{document} より前の部分をプリアンブルと言います.

\documentclass[オプション]{文書のクラス}
\begin{document}
   :  (本文)
\end{document}
文書のクラス(スタイル)
jbook
jarticle 論文
jreport 報告書
letter 手紙
オプション
a4j 用紙サイズ A4
a5j 用紙サイズ A5
b4j 用紙サイズ B4
b5j 用紙サイズ B5
twocolumn 2段組
twoside 両面印刷

以下に例とそのプレビューイメージを示します.

\documentclass[a4j]{jarticle}
\title{タイトル}
\author{著者名}
\begin{document}
\maketitle
\section{第1節の見出し}
第1節の本文
\subsection{第1節第1項の見出し}
第1節第1項の本文
\section{第2節の見出し}
第2節の本文
\begin{itemize}
\item 箇条書きの項目
\item 箇条書きの項目
\item 箇条書きの項目
\end{itemize}
\end{document}
LaTeX の全体構成
BACK

タイトルをつける

文書にタイトル,著者名,日付を付けるときは,プリアンブル(\begin{document} の前)に \title{文書のタイトル}\author{著者名}\date{日付} を置き,本文の先頭(\begin{document} の直後)に \maketitle を置きます.

\date{日付} を省略すると,\date{\today} と同じ(すなわち,コンパイルした日)になります.著者名や日付をタイトルページに含めたくないときは,それぞれ \author{}\date{} としてください.

\documentclass[オプション]{文書のクラス}
\title{タイトル}
\author{著者名}
\date{日付}
\begin{document}
\maketitle
   :  (本文)
\end{document}
BACK

概要を書く

文書に概要を書く時は \maketitle(もしあれば)の後に \begin{abstract}\end{abstract} を置き,その間に書いてください.

\documentclass[オプション]{文書のクラス}
\title{タイトル}
\author{著者名}
\date{日付}
\begin{document}
\maketitle
\begin{abstract}
概要には,
この文書の目的やこの文書を書くに至った動機,
この文書で述べていること,
この文書を書くために自分がやったことや関連する情報,
そして,それによって得られた結論や成果などを簡潔に書きます.
\end{abstract}
   :  (本文)
\end{document}
概要を書く
BACK

見出しをつける

文書を章や節などに階層的に区分するために,見出しを用います.文書の階層構造は次のようになります.

文書の階層構造
\part
\chapter
\setction
\subsection
\subsubsection  
\paragraph 段落
\subparagraph  

文書クラス jarticle には \chapter はなく,最上位の見出しは \section になります.

\documentclass[オプション]{jarticle}
\title{タイトル}
\author{著者名}
\date{日付}
\begin{document}
\maketitle
\section{第1節の見出し}
   :  (第1節の本文)
\subsection{第1節第1項の見出し}
   :  (第1節第1項の本文)
\section{第2節の見出し}
   :  (第2節の本文)
\end{document}

逆に,jbook や jreport では \section\chapter の下位の構成要素である必要があります.

\documentclass[オプション]{jreport}
\title{タイトル}
\author{著者名}
\date{日付}
\begin{document}
\maketitle
\chapter{第1章の見出し}

\section{第1章第1節の見出し}
   :  (第1章第1節の本文)
\subsection{第1章第1節第1項の見出し}
   :  (第1章第1節第1項の本文)
\section{第1章第2節の見出し}
   :  (第1章第2節の本文)
\end{document}

見出しには自動的に番号がふられます.見出しに番号をつけたくないときは,\section*{番号をつけない見出し}のように,見出しのコマンドに * を付けてください.

\chapter*{番号のない章の見出し}

\section*{番号のない節の見出し}

\subsection*{番号のない項の見出し}

空白や改行を入れる

LaTeX ソースプログラム中の改行や空白は無視されてしまいます.強制的に改行したり単語間を開けたりするためには,下のようなコマンドを使います.

空白・改行・改ページ
\, 小さい空白
\スペース 1文字分の空白
~(チルダ) 改行されない空白
\hspace{長さ} 横方向のスペース
\vspace{長さ} 縦方向のスペース
\\ 改行 (\newline)
\\* 改ページされない改行 (\newline*)
空行 段落 (\par)
\newpage 改ページ
\clearpage まだ出力していない図表を全部出力して改ページ

段落を改めるときは,段落間を1行空けて(空行を入れて)ください.

\documentclass{jarticle}
\begin{document}
\section{第1節の見出し}
ここは第1段落.ここは第1段落.ここは第1段落.
ここは第1段落.ここは第1段落.ここは第1段落.ここは第1段落.
ここは第1段落.ここは第1段落.

ここは第2段落.ここは第2段落.ここは第2段落.ここは第2段落.
ここは第2段落.ここに2cmの空白→\hspace{2cm}←ここに2cmの空白.
ここは第2段落.ここは第2段落.ここは第2段落.
\end{document}
空白や改行を入れる

「長さ」は次のように表現します.

長さの表現
cm センチメートル,例:5cm
mm ミリメートル,例:3mm
in インチ,例:0.5in
pt ポイント,1in は 72.27pt
em その字体の文字 M の幅
ex その字体の文字 x の高さ
zh その字体の漢字の高さ
zw その字体の漢字の幅
\fill 伸ばせるだけの長さ(伸縮する)
\hsize その場所の横幅いっぱいの長さ
\linewidth 段の幅
\textwidth 印字領域の幅
BACK

箇条書き(リスト表示)

箇条書きを行う部分は \begin{itemize}\end{itemize} ではさんで,各項目の先頭に \item を置きます.

\begin{itemize}
\item 一つ目の項目
\item 二つ目の項目
\item 三つ目の項目
\item 四つ目の項目
\end{itemize}
箇条書き

\begin{itemize}\end{itemize} の中に \begin{itemize}\end{itemize} を置いて,リストを入れ子構造にすることもできます.

番号つきリスト

各項目に番号をつけたリストも作成できます.これは箇条書きの部分を \begin{enumerate}\end{enumerate} ではさんで,各項目の最初に \item を置きます.これもリストを入れ子構造にできます.

\begin{enumerate}
\item 一つ目の項目
\item 二つ目の項目
\item 三つ目の項目
\item 四つ目の項目
\end{enumerate}
番号つきリスト
BACK

記述(定義)形式のリスト

単語リストのように,あるキーワードに対して説明を加えるようなリストです.これはリストの部分を \begin{description}\end{description} ではさんで,\item[キーワード] に続けて,そのキーワードに対する記述を置きます.これもリストを入れ子構造にできます.

\begin{description}
\item[札幌ラーメン] 麺は太めのちぢれ麺であり,
    醤油,塩,味噌などのバリエーションがあるが,
    特に味噌ラーメンが重視されている.
    具は一般的なものに加えてコーンを加えることが多い.
    バターをのせることもある.
\item[博多ラーメン] 細いストレート麺が主流で,
    中でも長浜ラーメンの麺はかなり細い.
    スープはトンコツが主体で,
    色の白いスープが多い.
    かなり脂っこいものもある.
    付け合わせに紅しょうが・からし高菜を用いるようだ.
\item[和歌山ラーメン] 細目の麺だが,
    博多ラーメンほどではない.
    わりと伸び気味にゆでるせいか,
    スープで麺が太っていることもある.
    スープはトンコツベースの醤油味.
    いっしょに早すし(早熟れ鮨,あせ巻き寿司)を食べる.
\end{description}
記述形式のリスト
BACK

引用する

引用部分は \begin{quotation}\end{quotation} ではさみます.この部分は行の長さを本文より短くします.引用文の段落には空行を置きます.

ここは本文.ここは本文.ここは本文.ここは本文.
ここは本文.ここは本文.ここは本文.ここは本文.
ここは本文.ここは本文.ここは本文.ここは本文.
ここは本文.ここは本文.ここは本文.ここは本文.
\begin{quotation}
ここは引用文の1つ目の段落.ここは引用文の1つ目の段落.
ここは引用文の1つ目の段落.ここは引用文の1つ目の段落.

ここは引用文の2つ目の段落.ここは引用文の2つ目の段落.
ここは引用文の2つ目の段落.ここは引用文の2つ目の段落.
\end{quotation}
ここは本文.ここは本文.ここは本文.ここは本文.
ここは本文.ここは本文.ここは本文.ここは本文.
ここは本文.ここは本文.ここは本文.ここは本文.
引用

\begin{quote}\end{quote} ではさんだ引用部分は,空行は改行として扱われ,段落の先頭の字下げを行いません.これは短い文章の引用に用います.

ここは本文.ここは本文.ここは本文.ここは本文.
ここは本文.ここは本文.ここは本文.ここは本文.
ここは本文.ここは本文.ここは本文.ここは本文.
ここは本文.ここは本文.ここは本文.ここは本文.
\begin{quote}
ここは引用文の1行目の文章.ここは引用文の1行目の文章.
ここは引用文の1行目の文章.ここは引用文の1行目の文章.

ここは引用文の2行目の文章.ここは引用文の2行目の文章.
ここは引用文の2行目の文章.ここは引用文の2行目の文章.
\end{quote}
ここは本文.ここは本文.ここは本文.ここは本文.
ここは本文.ここは本文.ここは本文.ここは本文.
ここは本文.ここは本文.ここは本文.ここは本文.
短い引用
BACK

中央に揃える

中央に揃えたい部分は \begin{center}\end{center} ではさみます.各行は \\ で区切ります.

\begin{center}
この部分は \\
中央に \\
揃えられます.
\end{center}

左寄せや右寄せを行うには,center の代りにそれぞれ flushleftflushright を指定します.

BACK

そのまま表示する

LaTeX ソースファイル中では改行や空白は無視されてしまいますが,それだと不便なことがあります.改行や空白によるレイアウトを活かして表示するためには,その部分を \begin{verbatim}\end{verbatim} ではさみます.このはさんだ部分はひとつの段落になってしまうので,1行中にそのまま表示したい部分を含めるときには,\verb+そのまま表示したい文字列+ というように書きます.

この部分は詰め込みが行われる本文.
この部分は詰め込みが行われる本文.
\begin{verbatim}
    ○┃×┃×
    ━╋━╋━
    ×┃○┃○
    ━╋━╋━
    ○┃○┃×
\end{verbatim}
この部分は詰め込みが行われる本文.
\verb+そのまま表示する文字列+
この部分は詰め込みが行われる本文.
BACK

枠に入れる

文章を枠(ボックス)に入れて,それを一つの文字のように扱えるようにできます.空白を含む複数の文字列が途中で改行されないようにするためには,\mbox{文字列} を使ってそれが1文字として扱われるようにします.

ここは本文.\mbox{ここは改行されない.}ここは本文.

\fbox{文字列}\mbox{文字列} と同じですが,ボックスの周囲に枠線を描きます.

ここは本文.\fbox{ここには枠が付く.}ここは本文.

\raisebox{高さ}{文字列} 使えば,ボックスにいれた文字列の位置(高さ)を指定できます.

ここは元の高さ.\raisebox{0.5ex}{ここは 0.5ex だけ上げる.}
ここは元の高さ.\raisebox{-0.5ex}{ここは 0.5ex だけ下げる.}

\makebox[ボックスの幅][位置]{文字列}\mbox{文字列} と同じですが,ボックスの幅を指定できます.位置は l(左),c(中央),r(右)のいずれかで,文字列がボックスの幅より短かったときに寄せる方向を指定します.

ここは本文.\makebox[3in]{3インチ幅で中央揃え.}ここは本文.
ここは本文.\makebox[3in][r]{3インチ幅で右寄せ.}ここは本文.

\framebox{文字列}\makebox{文字列} と同じですが,ボックスの周囲に枠線を描きます.

ここは本文.\framebox[3in][l]{3インチ幅の枠内に左寄せ.}ここは本文.

\parbox[位置]{幅}{文字列} には,段落を含むような長い文章を入れることができます.文字列の長さが幅より長い場合は,その幅で改行されます.その分ボックスの高さは高くなります.位置は t(上)または b(下) で,t ならボックスの上部がそのボックスのある行の高さに一致します.b ならボックスの下部がそのボックスのある行の高さに一致します.位置を省略するとボックスの中央になります.

ここは本文.\parbox{1in}{1インチ幅の枠内に入る.}ここは本文.
ここは本文.\parbox[t]{1in}{1インチ幅の枠内に入る.}ここは本文.
BACK

字体を変える

字体
{\rm 文字列} ローマン体(標準)
{\bf 文字列} ボールド体(太字)
{\it 文字列} イタリック体(強調)
{\sf 文字列} サンセリフ体
{\sl 文字列} 斜体
{\sc 文字列} スモールキャップス(全部大文字)
{\tt 文字列} タイプライタ体
{\gt 文字列} ゴシック体(日本語)
{\mc 文字列} 明朝体(日本語)
BACK

文字の大きさを変える

字の大きさ
{\tiny 文字列} 最小
{\scriptsize 文字列} 添字の大きさ
{\footnotesize 文字列} 脚注の文字の大きさ
{\small 文字列} 小さな字
{\normalsize 文字列} 標準の大きさ
{\large 文字列} 大きな字
{\LARGE 文字列} とっても大きな字
{\Huge 文字列} 巨大な字
BACK

記号

以下の記号は LaTeX のソースファイル中では特別な意味を持つため,そのままでは印刷できません.

% { } & # $ ^ ~ \ _ < > |

これらを表示するには,3通りの方法があります.

  1. \verb+ .. + を用いる.
  2. この文字の左に \ を置く(% { } & # $ _ のみ).
  3. \\backslash で書ける.
\backslash のような記法で書ける記号(特殊文字)は,ほかにもたくさんあります.一部を抜粋します.
記号
\ \backslash
\rightarrow
\leftarrow
\uparrow
\downarrow
小さい○ \circ
小さい● \bullet
小さい◇ \diamond
大きい◯ \bigcirc
大きい◇ \Diamond
\Box
\triangle
\sharp
\flat
ナチュラル \natural
\dagger
\ddagger
BACK

数式

文中に数式を書くときは,式を \(\) ではさんでください.短い式の時は $$ も使えます.数式だけを独立した行に書くときは,\[\] ではさんでください.

\(\)\begin{math}\end{math} の省略形,\[\]\begin{displaymath}\end{displaymath} の省略形です.数式に通し番号を打つときは \begin{equation}\end{equation} を使ってください.

ほかに複数行にわたる数式を書くための \eqnarray というものもありますが,ここでは割愛します.自分で参考書等を読んでください.

2次方程式 \( a x^{2} + b x + c = 0 \) の解は,
\[ x = \frac{ -b \pm \sqrt{ b^{2} - 4 a c } }{2 a} \]
です.
数式

数学記号のほとんどは,次のような記法で書きます.一部を抜粋します.

数式・数学記号
上つき文字 x^{y}
下つき文字 x_{y}
分数 \frac{分子}{分母}
平方根 \sqrt{x}
3乗根 \sqrt[3]{x}
合計 \sum_{i=1}^{n} x_{i}
積分 \int_{0}^{1} f(x) dx
剰余 a \bmod \b または x \pmod{y}
極限 \lim_{x \rightarrow \infty} f(x)
関数 \sin \cos \tan \log \ln ほか
ギリシャ文字 \alpha \beta \pi \theta \phi \omega ほか
±\pm
マイナスプラス\mp
×\times
÷\div
\cdot
\cap
\cup
\leq
\geq
\ll
\gg
\neq
\infty
\in
\ni
\subset
\supset
\subseteq
\supseteq
\wedge
\vee
¬\neg
\Rightarrow
\Leftrightarrow
\forall
\exists
\angle
\bot
\partial
\nabla
\equiv
\propto
BACK

配列

配列は \begin{array}{桁位置}\end{array} の間に,要素を & で区切り,行を \\で区切って書きます.桁位置は対応する桁の要素を揃える位置を指定します.l は左,c は中央,r は右に揃えます.

\[
\begin{array}{lcr}
a     & x     & 1    \\
a+b   & x+y   & 10   \\
a+b+c & x+y+z & 100
\end{array}
\]
配列

行列や行列式を表すために,配列を大きな(…)や│…│でくくりたいときは,\left(\right)\left|\right| でくくります.{…}でくくりたいときは \left\{\right\{ でくくってください.

\[
\left(
\begin{array}{lcr}
a     & x     & 1    \\
a+b   & x+y   & 10   \\
a+b+c & x+y+z & 100
\end{array}
\right)
\]
行列

\left\right は対応している必要がありますが,\left(\right] のように,左右で異なる括弧を使っても構いません.片方だけの括弧を使いたいときは,括弧を置かない方に \left. あるいは \right. を使ってください.

BACK

表は配列に似ていて,\begin{tabular}{桁位置}\end{tabular} の間に,要素を & で区切り,行を \\で区切って書きます.桁位置は対応する桁の要素を揃える位置を指定します.l は左,c は中央,r は右に揃えます.

\begin{tabular}{lcr}
ラーメン && 500 円 \\
ラーメン && 600 円 \\
チャーシューメン && 600 円 \\
チャーシューメン && 700 円
\end{tabular}
表

縦の罫線は桁位置の指定のところに | を置きます.|| だと2重線になります.横の罫線は各行の \\ のあとに \hline を置きます.これも \hline \hline とすると2重線になります.

\begin{tabular}{||l|c|r||} \hline
ラーメン & 並 & 500 円 \\ \hline
ラーメン & 大 & 600 円 \\ \hline
チャーシューメン & 並 & 600 円 \\ \hline
チャーシューメン & 大 & 700 円  \\ \hline
\end{tabular}
罫線つきの表

表の下にも罫線を引くために,表の最後の行にも \\ が追加されていることに注意してください.複数の列にわたる欄は,\multicolumn{欄の数}{桁位置}{欄の内容} を使って書きます.桁位置は l または c または r で,この欄に罫線を引くときは桁位置の文字に | を追加します.

\begin{tabular}{|l|c||r|} \hline
\multicolumn{2}{|c||}{メニュー} & \multicolumn{1}{c|}{価格} \\ \hline
ラーメン & 並 & 500 円 \\ \hline
ラーメン & 大 & 600 円 \\ \hline
チャーシューメン & 並 & 600 円 \\ \hline
チャーシューメン & 大 & 700 円  \\ \hline
\end{tabular}
表の複数の列をまとめる

なお,このほかに前後の行で桁位置を合わせるために用いる tabbing も表の作成に使えますが,ここでは割愛します.自分で参考書等を読んでください.

BACK

LaTeX の文書中に図をいれるにはいくつかの方法がありますが,Inkscape や GIMP で作った図を入れるのが手っ取り早いと思います.ここでは graphicx というパッケージについて説明します.まず,Inkscape や GIMP で図や画像を EPS 形式で保存してください.ファイル名の拡張子は ".eps" にしておくといいでしょう.

プリアンブルにおいて,\usepackage[dvips]{graphicx} と宣言しておき,図や画像を埋め込みたいところに \includegraphics[オプション]{ファイル名} コマンドを置きます.

\documentclass[オプション]{文書のクラス}

\usepackage[dvips]{graphicx}

\begin{document}
   :
\includegraphics{figure.eps}
   :
\end{document}

埋め込む図や画像のサイズなどを指定する場合は,\includegraphics コマンドのオプションで指定します.オプションには width(幅),height(高さ),scale(拡大縮小率),および angle(回転角)が指定できます.

\documentclass[オプション]{文書のクラス}

\usepackage[dvips]{graphicx}

\begin{document}
   :
\includegraphics[width=8cm]{figure1.eps}
   :
\includegraphics[width=0.9\linewidth]{figure2.eps}
   :
\includegraphics[height=2in]{figure3.eps}
   :
\includegraphics[height=1ex]{figure4.eps}
   :
\includegraphics[angle=90]{figure5.eps}
   :
\end{document}

figure1.eps は横幅 8 センチ,figure2.eps は段の幅の 0.9 倍,figure3.eps は高さ 2 インチ,figure4.eps は文字 "x" の高さ,figure5.eps は 90 度回転して埋め込まれます.width=\linewidth とすると 1 段組み / 2 段組みの段の幅いっぱいに図が埋め込まれます.height=1ex や height=1zh とすると図を文字の高さに合わせて行内に埋め込むことができます.

BACK

図表がうまく収まるようにする

表や図がそのページに収まりきらないと,改ページして次のページに出力されてしまいます.すると,元のページには大きな空白ができてしまうことがあります.\begin{figure}\end{figure}(図の場合)あるいは \begin{table}\end{table}(表の場合)で図表をはさむと,その図や表を収まりのいい場所に自動的に移動することができます.

\begin{figure}
\includegraphics{dog.eps}
\caption{尾も白い犬}
\end{figure}
\begin{table}
\caption{ラーメン屋の価格表}
\begin{tabular}{|l|c||r|} \hline
\multicolumn{2}{|c||}{メニュー} & \multicolumn{1}{c|}{価格} \\ \hline
ラーメン & 並 & 500 円 \\ \hline
ラーメン & 大 & 600 円 \\ \hline
チャーシューメン & 並 & 600 円 \\ \hline
チャーシューメン & 大 & 700 円  \\ \hline
\end{tabular}
\end{table}

図表を中央に揃える場合には,図表の部分を \begin{center}\end{center} ではさんでください.その場合 \leavevmode を追加しないと,うまく中央に揃えられない場合があります.

\begin{figure}[t]
\begin{center}
\leavevmode
\includegraphics[width=60mm]{dog.eps}
\caption{A white tail dog}
\end{center}
\end{figure}
BACK