U21. LaTeX

ユニット概要

分類: 枝(知っていると強い)

依存関係: U0 → U1 → U21

学習目標:

  • LaTeX文書の基本構造(プリアンブルと本文)を理解する
  • 数式をインラインモードとディスプレイモードで記述できる
  • 日本語文書をLuaLaTeXで作成するための設定を理解する
  • BibTeX形式で参考文献を管理し、本文中で引用できる
  • 図表の挿入と相互参照の仕組みを理解する

使用データ: なし(このユニットはRではなくLaTeXの文法を扱います)

ノート環境構築について

LaTeXの実行環境(TeX Liveのインストール、VSCodeの設定など)については 環境構築ガイド を参照してください。このユニットでは、環境構築が済んでいる前提で、LaTeX文書の書き方に焦点を当てます。


事前知識: LaTeXの基礎

LaTeXとは

LaTeX(ラテフまたはレイテック)は、文書を作成するための組版システムです。Wordのように画面上で直接レイアウトを編集するのではなく(WYSIWYG方式)、テキストファイルにマークアップ(命令)を書いてコンパイルし、PDF文書を生成します。

LaTeXの主な利点は次の通りです。

  • 数式の美しい表現: 複雑な数式を正確かつ美しく組版できる
  • 参考文献の自動管理: 引用番号や文献リストを自動生成できる
  • 構造化された文書: 章・節・図表番号などが自動的に管理される
  • 再現性: テキストファイルなのでバージョン管理と相性がよい

学術論文、学位論文、書籍などの執筆で広く使われており、心理学の研究でもデータ分析(R)と文書作成(LaTeX)を組み合わせることで、再現可能な研究報告が可能になります。

文書構造

LaTeX文書は大きく2つの部分から成ります。

  1. プリアンブル: \documentclass から \begin{document} までの設定部分
  2. 本文: \begin{document}\end{document} の間

最小限の文書は次のようになります。

\documentclass{ltjsarticle}
\usepackage{luatexja-fontspec}

\title{最初のLaTeX文書}
\author{名前}
\date{\today}

\begin{document}
\maketitle

\section{はじめに}
ここに本文を書きます。

\section{おわりに}
以上です。

\end{document}

文書の構造を定義するコマンドには次のようなものがあります。

コマンド 意味
\section{...} \section{はじめに}
\subsection{...} 小節 \subsection{参加者}
\subsubsection{...} 小々節 \subsubsection{手続きの詳細}
\paragraph{...} 段落見出し \paragraph{注意事項}

\tableofcontents\maketitle の後に書くと、自動的に目次が生成されます。

数式

LaTeXの最大の強みの一つが数式の表現力です。数式の書き方には2種類あります。

インラインモード: 本文中に数式を埋め込む場合は $...$ で囲みます。

例: 平均は $\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i$ で求められる。

ディスプレイモード: 独立した行に数式を表示する場合は $$...$$ または \begin{equation}...\end{equation} を使います。

例:

$$
\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i
$$

よく使う数式コマンドを以下にまとめます。

表現 コマンド 出力例
分数 \frac{a}{b} a/b(分数表記)
上付き x^2 x の2乗
下付き x_i x の添字 i
平方根 \sqrt{x} x の平方根
平均記号 \bar{x} x にバー
推定記号 \hat{\theta} theta にハット
総和 \sum_{i=1}^{n} シグマ記号
積分 \int_{a}^{b} 積分記号
ギリシャ文字 \alpha, \beta, \gamma, \sigma, \mu 各ギリシャ文字
不等号 \leq, \geq, \neq 以下、以上、不等
矢印 \rightarrow, \Rightarrow 右矢印
無限大 \infty 無限大記号

行列の記述は amsmath パッケージの環境を使います。

\usepackage{amsmath}  % プリアンブルに追加

% 丸括弧の行列
\begin{pmatrix}
  a & b \\
  c & d
\end{pmatrix}

% 角括弧の行列
\begin{bmatrix}
  1 & 0 \\
  0 & 1
\end{bmatrix}

複数行にわたる数式には align 環境を使います。& で揃える位置を指定し、\\ で改行します。

\begin{align}
  y &= ax + b \\
  z &= cx^2 + dx + e
\end{align}

日本語文書

日本語を含むLaTeX文書を作成するには、LuaLaTeXというエンジンを使います。ドキュメントクラスには ltjsarticle(論文用)または ltjsbook(書籍用)を指定し、luatexja-fontspec パッケージを読み込みます。

\documentclass{ltjsarticle}
\usepackage{luatexja-fontspec}

これだけで日本語の文章を自然に書くことができます。コンパイルには lualatex コマンド(または VSCode LaTeX Workshop の lualatex レシピ)を使います。

警告pLaTeX / upLaTeX との違い

古い日本語LaTeX環境では platexuplatex というエンジンを使っていました。これらは jsarticle というドキュメントクラスを使い、dvi → pdf の変換が必要でした。現在は LuaLaTeX を使うのが標準的です。

参考文献

学術論文では参考文献の管理が重要です。LaTeXでは BibTeX形式.bibファイル)で文献情報を管理し、本文中では \cite{key} コマンドで引用します。文献リストは自動的に生成されます。

.bib ファイルのエントリは次のような形式です。

% 英語論文
@article{abelson1954technique,
    title     = {A technique and a model for multi-dimensional attitude scaling},
    author    = {Abelson, Robert P},
    journal   = {Public Opinion Quarterly},
    volume    = {18},
    number    = {4},
    pages     = {405--418},
    date      = {1954},
    publisher = {Oxford University Press}
}

% 日本語論文
@article{Haebara1987,
    title    = {相関係数および平均値差の解釈のための確率的な指標},
    author   = {南風原,朝和 and 芝,祐順},
    sortname = {Haebara,Tomokazu and Shiba, Sukeyori},
    journal  = {教育心理学研究},
    volume   = {35},
    number   = {3},
    pages    = {259-265},
    date     = {1987},
    language = {japanese}
}

% 英語の書籍
@book{Borsboom2005,
    title     = {Measuring the mind: conceptual issues in contemporary psychometrics},
    author    = {Borsboom, Denny},
    publisher = {Cambridge University Press},
    date      = {2005}
}

エントリの種類には @article(論文)、@book(書籍)、@inbook(書籍の一章)、@online(Webページ)、@software(ソフトウェア)などがあります。

本文中での引用は次のように行います。

\usepackage[backend=biber,style=jpa]{biblatex}
\addbibresource{sample.bib}

% 本文中
Abelson~(\citeyear{abelson1954technique})は...
\textcite{Borsboom2005}によると...

% 文献リスト
\printbibliography[title=引用文献]

参考文献を含む文書をコンパイルするには、lualatex → biber → lualatex → lualatex の順に実行する必要があります(VSCode LaTeX Workshopの対応レシピを使うと自動化できます)。

図表

図の挿入graphicx パッケージと figure 環境を使います。

\usepackage{graphicx}

\begin{figure}[htbp]
  \centering
  \includegraphics[width=0.8\textwidth]{sample_figure.png}
  \caption{図のキャプション}
  \label{fig:sample}
\end{figure}

[htbp] は図の配置オプションで、h(here: ここ)、t(top: ページ上部)、b(bottom: ページ下部)、p(page: 独立ページ)の優先順位を指定します。

表の作成table 環境と tabular 環境を組み合わせます。

\begin{table}[htbp]
  \centering
  \caption{記述統計量}
  \label{tab:descriptive}
  \begin{tabular}{lrrr}
    \hline
    変数 & 平均 & 標準偏差 & $N$ \\
    \hline
    年齢 & 20.5 & 1.2 & 100 \\
    得点 & 75.3 & 12.8 & 100 \\
    \hline
  \end{tabular}
\end{table}

tabular の引数 {lrrr} は列の揃え方を指定します(l: 左揃え、r: 右揃え、c: 中央揃え)。& で列を区切り、\\ で行を区切り、\hline で水平線を引きます。

相互参照

図表や数式に \label{} でラベルを付け、\ref{}\eqref{} で参照できます。

% 図に対する参照
Figure~\ref{fig:sample}に結果を示す。

% 表に対する参照
Table~\ref{tab:descriptive}は記述統計量を示している。

% 数式に対する参照
\begin{equation}
  y = ax + b \label{eq:linear}
\end{equation}

式~\eqref{eq:linear}は線形モデルを表す。

番号はコンパイル時に自動的に割り振られるため、図表の順序を入れ替えても番号が正しく更新されます。ただし、参照を正しく解決するには通常2回以上コンパイルする必要があります。

テンプレートと資料

ゼミでは以下のファイルを用意しています(環境構築ガイド からダウンロードできます)。

ファイル 説明
templete.tex テンプレートファイル(コピーして使用)
sample.bib 参考文献サンプル(様々なエントリ型の例)
jpa.bbx / jpa.cbx / jpa.dbx 日本心理学会の引用スタイル
latex_guide.pdf 詳細ガイド
tex_build.sh コマンドラインビルドスクリプト

ランクC: 基礎知識を確認しよう

21-C-1

LaTeXはWordと同じWYSIWYG方式のワープロソフトである。

LaTeXはWYSIWYG(What You See Is What You Get)方式ではありません。テキストファイルにマークアップ(命令)を記述し、コンパイルしてPDFを生成する方式です。画面上で直接レイアウトを編集するWordとは根本的に異なります。マークアップ方式の利点は、構造と見た目を分離できること、数式の表現力が高いこと、バージョン管理と相性がよいことなどです。


21-C-2

LaTeX文書で、プリアンブル(設定部分)と本文を区切るコマンドの組み合わせとして正しいものはどれですか?