コンテンツにスキップ

LaTeXの基本(1)

LaTeXの文書の基本構造は以下のようになります。なおファイルの拡張子はtexです。

\documentclass[オプション]{クラス}
%%プリアンブル%%
\begin{document}
%%本文%%
\end{document}
LaTeXにおける基本的なルールを見ていきましょう。

参考

  • sample1.tex

命令と環境

命令

LaTeXに対して何らかの処理を行うように指示を与える、\から始まる文字列のことを命令コマンドといいます。命令と地の文はしっかりと区別しなければエラーが出て止まってしまいます。以下に正しく動く書き方とエラーが出る場合の例を挙げておきます。

\LaTeX の練習  %コマンドの後に半角スペース->正しく動く
{\LaTeX}の練習 %コマンドを{}で囲う->正しく動く
\LaTeX{}の練習 %コマンドの後に{}を入力->正しく動く
\LaTeXの練習   %コマンドに続けて地の文を入力->エラー
なお\$のような記号・数字の場合には半角スペースを入れる必要はありません。

コマンドによっては引数を取るものもあります。引数には2種類あり、必ず必要な引数を必須引数、省略可能な引数をオプション引数といいます。必須引数は{}で囲い、オプション引数は[]で囲います。

%\somecs[]{}型のコマンドの場合
\somecs{f}
\somecs[x]{f}

環境

LaTeXの命令のうち、特に\begin\endの組み合わせのことを環境といいます。例えばhoge環境の場合には\begin{hoge}から始まり\end{hoge} で終わります。

LaTeXでは基本的にこれらの様々な命令と環境を用いて記述していくことになります。

ドキュメントクラス

LaTeXでは\documentclassを用いてその文書の見た目を指定します。用いるLaTeXや文書の用途によって適切なドキュメントクラスを指定する必要があります。 和文における標準的なものは以下の通りです。

  • jsclasses
    (u)pLaTeX用の標準文書クラス。jsarticlejsreportjsbookがある。
  • ltjsclasses
    LuaLaTeX用の標準文書クラス。ltjsarticleltjsreportltjsbookがある。
  • jlreq
    新しい文書クラス。(u)pLaTeX・LuaLaTeXいずれでも利用可能。

用途にあっている限りどれを使っても問題ありませんが、本書ではjlreqを例にとって進めていきます。

オプションにはドキュメントクラスの細かい設定等を指定します。以下にjlreqの場合の例をいくつか挙げます。

  • platex
    使うLaTeXの種類を指定。同様にuplatexlualatexというオプションもある。省略した場合には自動で判定される。
  • fontsize
    欧文のフォントサイズの指定。fontsize=10ptのように使う。
  • jfontsize
    和文のフォントサイズの指定。fontsizeと同じように使う。
  • dvipdfmx
    DVIドライバをdvipdfmxに指定。(u)pLaTeXを使う場合には必須。1

オプションについては各ドキュメントクラスごとに指定方法も異なります。使うときには各自で調べてみましょう。

本文・プリアンブル

LaTeXにおいて、本文は全てdocument環境ないに記述します。 これ以外に記述した内容は出力結果に反映されません。

プリアンブルには細かな設定を記述します。パッケージを利用する際にはここに記述しますし、タイトルや著者名もここで指定しておくと便利でしょう。

改行・空白

改行

入力ファイルにおいての改行、すなわちEnterキーを1回打ったものは出力結果では無視され、出力結果には反映されません。そのため入力ファイルでは適当な長さごとに改行をしておくと読みやすい文章になるでしょう。

出力ファイルで改行(正確には改段落)する場合には入力ファイルで空白行を与える、すなわちEnterキーを2回打つことで可能です。

このように入力ファイルで改行しても
出力では改行されません

空白行を入れることで改行(改段落)されます

なお強制改行\\というものもありますが、これはあまり使うべきではありません。

空白

入力ファイルにおいて全角空白を入力すると入力した分だけ全角空白が出力されます。

一方の半角空白はいくつ並べても1つ分の半角空白しか出力されません。いくつも出したい場合には半角空白の前に\を入力します。また、連続した空白の途中で改行されたくない場合には~を使います。

全角空白なら    しっかり出力される\\
半角空白だと     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つ目に関しては必須というわけではありませんが、入れておいた方がいいと思います。


  1. 正確にはdvipdfmx以外もありますが、本書では深くは触れません 

  2. 参考:日本語LaTeXの新常識2021