Daiji Blog

LaTeXのすゝめ

公開:
更新:

はじめに

本記事はレポート論文等の執筆に役立つツールのLaTeXを紹介しますLaTeXユーザや初心者を対象としています中級者や上級者には物足りないと思います

TeX/LaTeXとは

TeXテック/テフ1スタンフォード大学のDonald E. Knuth教授が自ら開発したフリーの組版システムですTeXMS Wordなどの見たままを出力するWYSIWYGソフトウェアと異なり執筆組版出力の各段階を分けて処理を行います執筆に集中できさまざまなプラットフォーム上で高品質なの文書を出力することができます

LaTeXラテック/ラテフ2Leslie Lamport博士によって開発されたTeXに機能を追加し手軽に組版が行えるようになったシステムです現在ではLaTeXを使うことが一般的なのでTeXLaTeXを指すことが多いです

TeXLaTeXの特徴は次のようなことがあげられます

日本語TeXについて

現在日本語対応している主なTeXエンジンは3つあります

昔からの名残で学会のフォーマットにpLaTeXを採用していることがありますほぼ上位互換のupLaTeXが現在の主流であることからupLaTeXを中心に解説します最新未来の標準LuaLaTeXについてはLuaLaTeXのすゝめで解説しています

upLaTeX について

田中琢爾さんが内部コードをUnicode化したpLaTeXの拡張版ですこれにより次のようなpLaTeXの問題が解決されました

簡単な話いわゆる環境依存文字に優しくなったpLaTeXですpLaTeXを使う理由は皆無と言ってもいいでしょうpLaTeXのフォーマットしか用意されていない学会とかがあるなら別ですが…

LaTeX開発環境

文書作成には自分のPC等にLaTeXをインストールが必要ですTeX LiveというTeXのディストリビューションがオススメですインストール方法はOSごとに異なるためTeX Liveを参考にしてください

自分のPCに環境を構築したくない場合はWeb上のサービスをオススメします日本ではOverleafCloud LaTeXがメジャーだと思いますどちらも無料でブラウザ上からLaTeXを使用できます

文書作成の基本手順

upLaTeXによる文書作成は執筆組版出力の3つのステップで行います4

  1. 原稿執筆にはテキストエディタを用いてTeXファイルを作成する
  2. コマンドuplatexを用いてTeXファイルからDVIファイルを作成する
  3. コマンドdvipdfmxを用いてDVIファイルからPDFファイルを作成する5

この手順により執筆したTeXソースファイルからPDFの文書ファイルを出力できます次に作成手順について例を用いて紹介します

原稿ファイルの執筆TeXファイルの作成

テキストエディタを用いて下に示すソースファイルを作成しますソースコードの具体的な説明はTeXソースの基本構成を参照してください

\RequirePackage{plautopatch}
\documentclass[uplatex,dvipdfmx]{jsarticle}

\title{{\LaTeX}のすゝめ}
\author{Daiji}

\begin{document}
\maketitle

\section{はじめに}

{\TeX}は組版システムです。
{\TeX}を使いやすくするために、{\LaTeX}が開発されました。

p{\TeX}は日本語対応の{\TeX}です。
up{\TeX}はUnicode対応のp{\TeX}です。

\end{document}

組版コンパイル

upLaTeXを呼び出しDVIdevice independent file formatファイル6を生成しますコンパイルする場合は次のコマンドになります

uplatex filename

次のようなメッセージが表示されたならコンパイルは成功しfilename.auxfilename.logfilename.dviが生成されているはずです

...
Output written on filename.dvi (1 page, 1076 bytes).
Transcript written on filename.log.

PDFに変換

DVIファイルをPDFの文書ファイルに変換するには次のコマンドで行えます7filename.pdfが生成されると思います

dvipdfmx filename

TeXソースの基本構成

upLaTeXのソースファイルは次の基本構成となります

\RequirePackage{plautopatch}
\documentclass[uplatex,dvipdfmx]{jsarticle}
% プリアンブル
\begin{document}
% 本文
\end{document}

1行目はpLaTeX/upLaTeXLaTeXの非互換をいい感じにしてくれるヤツですpLaTeX/upLaTeXを使用する場合は何も考えずに書いてください2行目は文書の種類document classを指定する部分です参照8プリアンブルでは文書の体裁に関する宣言やコマンド等の定義を行います本文が実際に出力される文書となりますなお記号%はコメントの開始を意味します参照

本文の執筆の基本ルール

コマンド

ここでは主要な一部のコマンド等の紹介を行います

タイトル

文章のタイトルは次のように指定します

\title{表題}
\author{著者}
\date{日付}
\maketitle

見出し

\part{}
\chapter{} % jsarticle クラスには用意されていない
\section{}
\subsection{}
\subsubsection{}
\paragraph{段落}
\subparagraph{小段落}

\section*{節}のように*をつけることで番号をつけないようにできます

文字サイズ変更

文字サイズを変更するには次のコマンドが利用できますサイズはデフォルトの値になっていますコマンド以降のフォントがすべて変更されます{\Large 文章}のようにすることで一部が変更できます9

コマンドサイズ
\tiny5pt
\scriptsize7pt
\footnotesize8pt
\small9pt
\normalsize10pt
\large12pt
\Large14.4pt
\LARGE17.28pt
\huge20.74pt
\Huge24.88pt

これら以外の文字サイズに変更したい場合には\fontsizeコマンドを使用します文字サイズと行送りを指定して使用します

\fontsize{10.5pt}{15pt}\selectfont

フォントスタイル変更

フォントスタイルを変更するには次のコマンドが利用できます10 11日本語用の明朝体やゴシック体にするコマンド\textmc\textgtも存在します

入力出力
\textrm{Roman}Roman
\textbf{Boldface}𝐁𝐨𝐥𝐝𝐟𝐚𝐜𝐞
\texttt{Typewriter}𝚃𝚢𝚙𝚎𝚠𝚛𝚒𝚝𝚎𝚛
\textit{Italic}Italic
\textsf{SansSerif}𝖲𝖺𝗇𝗌𝖲𝖾𝗋𝗂𝖿
\textsl{Slanted}Slanted
\textsc{SmallCaps}SmallCaps

記号

キーワード扱いの文字や一部の特殊文字を出力するためには次のコマンドなどが利用できます

入力出力
\##
\$$
\%%
\&&
\__
\{{
\}}
--ハイフン
--エヌダッシュ
---エムダッシュ
$-$マイナス
``開きダブルクォーテーション
''閉じダブルクォーテーション12

改ページ

改ページを行なうコマンドには\pagebreak\newpage\clearpageなどがありますコマンドごとに細かな使用が異なりますが基本的に改ページに用いられます

環境

ここでは主要な一部の環境の紹介を行います

箇条書き

箇条書きのための環境として番号なし箇条書きitemize番号付き箇条書きenumerate見出し付き箇条書きdescriptionが用意されています次のように使用してください

\begin{itemize}
  \item 項目1
  \item 項目2
\end{itemize}

揃え

文字揃えは左揃えflushleft中央揃えcenter右揃えflushrightが指定できます次のように使用してください

\begin{flushleft}
  文字列1\\
  文字列2
\end{flushleft}

ドキュメントクラス

1行目のドキュメントクラス指定は次のように記述します

\documentclass[オプション]{ドキュメントクラス}

jsclasses互換クラス次の通りですjarticle等はJIS組版規則に合わないのでオススメできません現在は日本語組版処理の要件に準拠したjlreqが注目を浴びています詳しくはjlreqで説明されています

種類ドキュメントクラス内容
articlejsarticle論文レポート用
bookjsbook書籍用

一部のオプションは次の通りです

オプション内容
11pt, 12pt本文の文字サイズ
landscape横長
twocolumn2段組
fleqn数式を左揃え
titlepage独立したタイトルページ
a4paper用紙サイズをA4に指定
b5paper用紙サイズをB5に指定

目次/相互参照

LaTeXには自動で節やキャプションの参照が行えます文書の一部を書き直すときも自動で変更してくれるのでとても便利です

目次

目次を出力するには挿入したい場所に\tableofcontentsと書きTeXファイルを3回コンパイルしてください同様に図や表の目次を出力したい場所には\listoffigures\listoftablesと書いてください

相互参照

節や図表の表題式の後に\label{ラベル}を書くことでその番号を参照したいところで\ref{ラベル}とすれば対応する番号を参照できますまた\pageref{ラベル}とすればページ番号が参照できます相互参照を使う場合にはTeXファイルを2回コンパイルする必要があります

本研究で用いた試験材料の外観を図\ref{fig:test}に示す。
\begin{figure}
  ....
  \caption{実験装置の外観}
  \label{fig:test}
\end{figure}
温度特性は、式(\ref{eq:test})で近似できる。
\begin{align}
  y = \exp(x) + c. \label{eq:test}
\end{align}

数式

本文中の数式

本文中にf(x)=ax+bのように数式を書くには次のように$で挟むことでできます

本文中に$f(x) = ax + b$のように数式を書くには次のように\texttt{\$}で挟むことでできます。

別行立て数式

別行立て数式は

f(x)=ax+bg(x)=cx2+dx+e

のように環境alignにより書くことができます13他の数式環境のeqnarrayも有名だがamsmath.styではサポートしていないので推奨できません

別行立て数式は、
\begin{align}
  f(x) &= ax + b\\
  g(x) &= cx^{2} + dx + e
\end{align}
のように環境により書くことができます。

おわりに

今回はupLaTeXを中心にLaTeXごく一部を紹介をしました本記事では以下に示すような紹介できてないです

今後暇を見付けて記事のアップデートしていきたいと思います楽しいLaTeXライフを願っています

文献

  1. 改訂第8LaTeX2e美文書作成入門
  2. TeX Wiki
  3. Overleaf
  4. Cloud LaTeX
  5. LuaLaTeXのすゝめ
  6. jlreq
  7. LaTeXのすゝめ

脚注

  1. TeXのように書くことが望ましいです難しい場合はTeXにしましょうこの記事では統一のためにTeXにしています

  2. LaTeXのように書くことが望ましいです難しい場合はLaTeXにしましょう

  3. TeXの数式記法は現在一般的に使用されています

  4. (u)pLaTeXのようなレガシーLaTeXDVIを経由してPDFを作成しますpdfLaTeXLuaLaTeXなどのモダンLaTeXは直接PDFを出力するので2つのステップ執筆と出力になります

  5. 他のソフトコマンドによりPDFファイル以外のPSファイルを出力する場合などもあります

  6. レイアウト情報を埋め込んだファイルのことです

  7. 古いdvipdfmというDVIウェアもあるが今は使えません

  8. uplatexはこのソースファイルがupLaTeX用であることを明示するためにありますまたdvipdfmxgraphicxcolorパッケージのドライバ指定用ですグローバルオプションとしてすべてのパッケージに適用されます

  9. 本ブログでは\footnotesizeが使えないため別の方法で再現しています

  10. \bf\itのようなフォントスタイルを変更するコマンドは古く使ってはいけません現在は\bfseries等の使用が推奨されます

  11. 本ブログではslscが使えないため別の方法で再現しています

  12. TeXでは1キーで入力するダブルクォーテーション"の使用は推奨されません

  13. このブログでは式番号が表示されないが実際のTeXでは表示されますまたTeXで式番号を表示しない場合は環境をalign*とします