LaTeXの基本(1)
LaTeXの文書の基本構造は以下のようになります。なおファイルの拡張子はtex
です。
参考
- sample1.tex
命令と環境
命令
LaTeXに対して何らかの処理を行うように指示を与える、\
から始まる文字列のことを命令やコマンドといいます。命令と地の文はしっかりと区別しなければエラーが出て止まってしまいます。以下に正しく動く書き方とエラーが出る場合の例を挙げておきます。
\LaTeX の練習 %コマンドの後に半角スペース->正しく動く
{\LaTeX}の練習 %コマンドを{}で囲う->正しく動く
\LaTeX{}の練習 %コマンドの後に{}を入力->正しく動く
\LaTeXの練習 %コマンドに続けて地の文を入力->エラー
\$
のような記号・数字の場合には半角スペースを入れる必要はありません。
コマンドによっては引数を取るものもあります。引数には2種類あり、必ず必要な引数を必須引数、省略可能な引数をオプション引数といいます。必須引数は{}
で囲い、オプション引数は[]
で囲います。
環境
LaTeXの命令のうち、特に\begin
と\end
の組み合わせのことを環境といいます。例えばhoge環境の場合には\begin{hoge}
から始まり\end{hoge}
で終わります。
LaTeXでは基本的にこれらの様々な命令と環境を用いて記述していくことになります。
ドキュメントクラス
LaTeXでは\documentclass
を用いてその文書の見た目を指定します。用いるLaTeXや文書の用途によって適切なドキュメントクラスを指定する必要があります。
和文における標準的なものは以下の通りです。
- jsclasses
(u)pLaTeX用の標準文書クラス。jsarticle
、jsreport
、jsbook
がある。 - ltjsclasses
LuaLaTeX用の標準文書クラス。ltjsarticle
、ltjsreport
、ltjsbook
がある。 - jlreq
新しい文書クラス。(u)pLaTeX・LuaLaTeXいずれでも利用可能。
用途にあっている限りどれを使っても問題ありませんが、本書ではjlreq
を例にとって進めていきます。
オプションにはドキュメントクラスの細かい設定等を指定します。以下にjlreq
の場合の例をいくつか挙げます。
platex
使うLaTeXの種類を指定。同様にuplatex
やlualatex
というオプションもある。省略した場合には自動で判定される。fontsize
欧文のフォントサイズの指定。fontsize=10pt
のように使う。jfontsize
和文のフォントサイズの指定。fontsize
と同じように使う。dvipdfmx
DVIドライバをdvipdfmxに指定。(u)pLaTeXを使う場合には必須。1
オプションについては各ドキュメントクラスごとに指定方法も異なります。使うときには各自で調べてみましょう。
本文・プリアンブル
LaTeXにおいて、本文は全てdocument環境ないに記述します。 これ以外に記述した内容は出力結果に反映されません。
プリアンブルには細かな設定を記述します。パッケージを利用する際にはここに記述しますし、タイトルや著者名もここで指定しておくと便利でしょう。
改行・空白
改行
入力ファイルにおいての改行、すなわちEnterキーを1回打ったものは出力結果では無視され、出力結果には反映されません。そのため入力ファイルでは適当な長さごとに改行をしておくと読みやすい文章になるでしょう。
出力ファイルで改行(正確には改段落)する場合には入力ファイルで空白行を与える、すなわちEnterキーを2回打つことで可能です。
なお強制改行\\
というものもありますが、これはあまり使うべきではありません。
空白
入力ファイルにおいて全角空白を入力すると入力した分だけ全角空白が出力されます。
一方の半角空白はいくつ並べても1つ分の半角空白しか出力されません。いくつも出したい場合には半角空白の前に\
を入力します。また、連続した空白の途中で改行されたくない場合には~
を使います。
特殊な記号
半角の#
$
%
&
_
{
}
\
^
~
の10文字については特別な意味を持った文字になっているため、そのままでは出力することができません。出力したい場合には以下のようにします
出力 | 入力 |
---|---|
# | \# |
$ | \$ |
% | \% |
& | \& |
~ | \textasciitilde |
_ | \_ |
^ | \textasciicircum |
\ | \textbackslash |
{ | \{ |
} | \} |
それぞれの記号のLaTeXにおける意味は出てきた際に説明します。
なお%
はLaTeXにおけるコメントアウトを意味します。
また、(u)pLaTeXを利用する場合には後述するfonstencパッケージとlmodernパッケージを利用しないと上記の特殊な記号以外にも出力されないものがあります。
(u)pLaTeXの場合の注意点
(u)pLaTeXを用いる場合にはLuaLaTeXとは異なりいくつか注意しなければいけない点があります2。
\documentclass
より前に\RequirePackage{plautopatch}
と記述する- DVIドライバをクラスオプションで指定する(先述)
- プリアンブルで
\usepackage[T1]{fontenc}
と\usepackage{lmodern}
を記述する
3つ目に関しては必須というわけではありませんが、入れておいた方がいいと思います。
-
正確にはdvipdfmx以外もありますが、本書では深くは触れません ↩