以降ではCloud LaTeXを念頭において解説していきます。
LaTeXのソースコードは「ドキュメントクラス」「プリアンブル」「ドキュメント環境」の3つに大別されます。①初めにドキュメントクラスを宣言し、②次にプリアンブルで必要なパッケージを読み込み、③ドキュメント環境の中で具体的に文書の中身を記述していくイメージです。LaTeXを用いた文書作成はまずこれらの役割をきちんと理解するところから始まります。それぞれの単語の意味と、具体的にどのようにコーディングしていくのかを以降で見ていくことにしましょう。
「ドキュメントクラス」とは文書の種類のことを指します。LaTeXをコーディングするにあたっては、まずドキュメントクラスを宣言し、どんな類の文書を作成しようとしているのかを決める必要があります。例えば次のような塩梅です。
\documentclass
[オプション]{ドキュメントクラス}
よく使うドキュメントクラスには以下のようなものがあります[注1]。
用途 | 欧文(標準) | 和文(標準・横) | 和文(標準・縦) | 和文(新・横) |
論文・レポート | article | jarticle | tarticle | jsarticle |
長い報告書 | report | jreport | treport | jsreport |
本 | book | jbook | tbook | jsbook |
それぞれのドキュメントクラスは各文書のテンプレートと考えていただいて構いません。例えば授業の課題で日本語のレポートを作成したい時にはjsarticleを用いて冒頭で次のように宣言します。
\documentclass{jsarticle}
ちなみにjs〇〇はj〇〇を改良したものですので、始めは何も考えずjs〇〇を使用して問題ありません。また、次のようにオプションを指定することも可能です。
\documentclass
[11pt]{jsarticle}
このようにすると、文書中の文字サイズがデフォルトの10ptから11ptに変更されます。オプションはカンマで区切ることで複数並べて書くことも可能です。例えば、出力する文書のサイズをA4にしたい場合は次のようにします。
\documentclass
[11pt,a4paper]{jsarticle}
他にもスライドを作成するためのbeamerというクラスや、TikZ環境で作成した図をpdfとして出力するためのstandaloneなど多くのドキュメントクラスが用意されています。この辺りはかなり発展的な内容を含みますので、本ガイドでは割愛します。
[注1] 実は日本語版LaTeXにも色々と種類があり、ここでの記述はpLaTeX・upLaTeXを念頭においています。pLaTeXが以前から普及している日本語版LaTeXで、upLaTeXはその日本語部分をUnicode対応にしたものです。対して、現在はより高機能なLuaLaTeXも広く使われるようになってきています。詳細は奥村・黒木(2023)をご参照ください。
「プリアンブル」とはドキュメントクラスの宣言(\documentclass{hogehoge}[注1])とドキュメント環境の始め(\begin{document})の間のスペースを指します。
\documentclass
[11pt]{jsarticle} ここがプリアンブル \begin{document}
ここでは新しくコマンドやマクロ[注2]を定義したり、パッケージを読み込んだりすることができます。パッケージというのは様々な機能を使うためのマクロです。LaTeXは文書の体裁についてはある程度自動で調整してくれるものの、プリアンブルに何も記述しないままでは、いわば何も武器を持っていない状況に等しいです。数式を記述したり読み込んだ画像にキャプションをつけたりする場合にはそれぞれに対応したパッケージを読み込んであげる必要があります。例えば次のような塩梅です。
図20. プリアンブルの記述例
ここでは主に7つのパッケージを読み込んでいます。amsmath、amssymbは高度な数式を入力するために、bmは文字を太くするために、colorは文字色を変更するために、hyperrefとpxjahyperはハイパーリンクを作成するために、graphicxは図を挿入するために使用されるパッケージです。それぞれ使う機会の非常に多いパッケージですので、本ガイド中でも解説します。
[注1] 「hogehoge」とはサンプルプログラムにおいて何を入れても構わないような、特に意味のない文字列に対して慣習的にあてがわれる言葉です。仲間として「fugafuga」や「piyopiyo」などもあります。
[注2] 複数の命令や操作を1つにまとめ、必要に応じて呼び出せるようにしたもの。Excelのマクロ機能が有名。
さて、プリアンブルまで準備ができれば、いよいよ文書の中身を記述していきます。その前に「環境」という言葉の意味について明文化しておきましょう。環境というのは\begin{なんちゃら}〜\end{なんちゃら}のように対になって囲まれた命令のことを指します。具体的には次のようにコーディングされたもののことです。
\begin{hogehoge} ~~~ \end{hogehoge}
これを口頭では「hogehoge環境」と呼びます。
察しの良い方はお気づきかもしれませんが、「文書を書く」にも専用の環境があります。それが本ボックスのタイトルでもある「ドキュメント(document)環境」です。コンパイルした際、文書として出力されるのはこのドキュメント環境中に記述された内容のみです。ドキュメント環境の後ろに記述した内容はコンパイル時に無視されてしまうので注意しましょう。
\begin{document} ここに書いた内容が出色されます。 \end{document} ここは無視されます。
ソースコードにメモを書いたり、修正前のバージョンを念の為残したりしておきたい、それには2通りのやり方があります。
\begin{document}
ここは出力。 %これ以降は出力されない。
改行後からは普通に出力。
\end{document}
\documentclass{jsarticle}
\usepackage{comment} %コメント環境を使うため
\begin{document}
ここは出力
\begin{comment}
複数行
にわたる文章を
コメントアウト
\end{comment}
\end{document}
さて、いよいよ文書の中身を記述していきましょう。まずはタイトルの記述です。やり方は非常に簡単で、プリアンブルの部分に
\title{hogehoge}
と書き、\begin{document}以降に\maketitleと記述すれば、hogehogeの部分がタイトルとして出力されます。同様に
\title{hogehoge1} \author{hogehoge2} \date{hogehoge3}
と記述した上で\maketitleすれば、タイトルの下に著者と日付も出力されます。ちなみに、\date{}の引数に\todayと入力すると今日の日付が出力されます。
レポートや論文を作成する上では適切な章立ても欠かせません。LaTeXには章立てを行うためのコマンド群が用意されており、文章中での節番号の参照も非常に簡単に行える仕様となっています。
例えば以下のようなソースコードをコンパイルしてみましょう。
\documentclass{jsarticle} (省略) \begin{document} \maketitle \section{LaTeXガイド} \subsection{LaTeXとは} \subsection{LaTeXの基本構造} \end{document}
これをコンパイルすると以下のように出力されます。
図21. 章立て例
\section、\subsectionの引数として入力された内容が表示されました。Wordを含む他のワープロソフトでは文書構造とレイアウトが明確に分かれていないことも多いのですが、LaTeXではこのように非常に簡単に階層構造を組み立てることができます。
上述したソースコードの例では\section{}と\subsection{}を例に挙げましたが、他にも以下のようなコマンドが用意されています。
\subsubsection{} | サブサブセクションの見出し。 |
\chapter{} | 章見出し(artciel系のdocumentclassには用意されていない)。 |
\part{} | 「第何部」という見出し。 |
\paragraph{} | パラグラフの見出し(使用する頻度は少ない)。 |
前述した通り文書中の基本的な文字の大きさはdocumentclassのオプション(グローバルオプションとも言います)で指定できますが、途中で変更したい場合は主に2通りの方法があります。
\tiny | 5 pt |
\nomalsize | 10 pt(デフォルト) |
\large | 12 pt |
\huge | 20.74 pt |
例えば一部分だけを大きく強調し、その後は元の大きさに戻したい場合、\large ホゲホゲ \normalsizeとする方法もありますが、{\large ほげほげ}とすれば括弧内のみが\largeコマンドの対象範囲となるので、文字数を減らすことが可能です。
\fontsize{20truept}{20truept}\selectfont ホゲホゲ
\fontsizeの後ろの1つ目の括弧は文字の大きさを、2つ目の括弧は文字送りの大きさを指定しています。ここでptではなくtrueptとなっているのは、jsarticleのようにjsから始まるクラスの場合、ptでは正しく大きさを指定することができないからです。
色を変更するにはcolorパッケージが必要です。プリアンブルに\usepackage{color}と書いておきましょう。色を変更するにも大きく分けて2種類の方法があります。
\color{red} このように長い文章の文字色を全て変更する時には color を使うのが便利です. \color{black} 変更区間が終わったら色を戻しましょう.
のように入力すると、次のように出力されます。
このように長い文章の文字色を全て変更する時には color を使うのが便利です.
変更区間が終わったら色を戻しましょう.
比較的長めのレポートを執筆する場合は、冒頭に概要があると読みやすくなります。LaTeXにはabstract環境が用意されており、簡単に概要を執筆することができます。概要を出力するには\maketitleした後に以下のように記述しましょう。
\begin{abstract} absthogehoge \end{abstract}
absthogehogeの部分に書いた内容が概要として出力されます。
タイトル、著者、日付を適当に設定し、図17のような体裁の文書を出力してみよう。余力があれば概要も併せて記述してみよう。
\documentclass{jsarticle} \title{LaTeX講座} %タイトル \author{S. Tsukahara} %著者名 \date{2023/10/31} %日付 \begin{document} \maketitle %%%概要を出力したい人はこのように記述 \begin{abstract} 本稿はLaTeXの楽しさを布教するものである. \end{abstract} %%% \section{LaTeXガイド} %セクション \subsection{LaTeXとは} %サブセクション \subsubsection{LaTeXの基本構造} %サブサブセクション \end{document}