TeX
第1章 はじめに
編集1.1 TeXとは何か
編集TeXは、スタンフォード大学のドナルド・クヌース教授によって開発された組版システムです。TeXは特に数式や技術文書の美しい組版を実現することを目的として設計されており、学術論文や技術書の執筆に広く使用されています。
TeXの最も重要な特徴は、文書の論理構造と視覚的な体裁を分離して扱うことができる点です。執筆者は文書の論理構造に集中し、体裁の詳細はTeXシステムに任せることができます。
以下は最も単純なTeX文書の例です:
\documentclass{article} \begin{document} これはTeXで書かれた最も単純な文書です。 \end{document}
1.2 TeXの歴史
編集TeXの開発は1977年に始まりました。クヌース教授は自著「The Art of Computer Programming」の組版品質に不満を持ち、高品質な数式組版システムの開発を決意しました。
1982年にはTeX82として知られる安定版がリリースされ、現在使用されているTeXの基礎となりました。バージョン番号はπに漸近する数列として選ばれており、現在は3.141592...となっています。
1.3 TeXとLaTeXの違い
編集TeXは基本的な組版エンジンですが、LaTeXはTeXの上に構築されたマクロパッケージです。LaTeXは以下のような特徴を持っています:
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{amsmath} \begin{document} \title{LaTeXの例} \author{著者名} \date{\today} \maketitle \section{はじめに} これはLaTeXによる文書の例です。 \subsection{数式の例} Einstein の有名な方程式: \[ E = mc^2 \] \end{document}
LaTeXを使用することで、文書の論理構造をより明確に表現できます。セクションの階層構造、相互参照、目次生成などの機能が標準で提供されています。
1.4 TeXのメリット・デメリット
編集メリット
編集TeXシステムには以下のような利点があります:
- 高品質な組版出力
- プラットフォーム非依存
- 数式の美しい表現
- バージョン管理との親和性
- 長期的な文書の保守性
- 以下は数式組版の例です:
\begin{equation} \int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi} \end{equation}
デメリット
編集一方で、以下のような課題もあります:
- 学習曲線が急
- エラーメッセージが分かりにくい
- 画像処理が比較的複雑
- WYSIWYGでない
1.5 現代のTeX環境
編集現代のTeX環境は、統合開発環境(IDE)やオンラインエディタの発展により、より使いやすいものになっています。
TeXのソースコードと出力結果を即座に確認できるオンラインサービスも登場しています:
% オンラインTeXエディタでよく使用される最小構成 \documentclass{article} \usepackage{preview} \begin{document} \[ \sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6} \] \end{document}
第2章 TeXのインストールと環境設定
編集2.1 TeX Liveのインストール
編集TeX Liveは、最も広く使用されているTeXディストリビューションです。クロスプラットフォームで利用でき、包括的なパッケージ群を提供しています。
Linuxでのインストール
編集Debian/Ubuntuベースのシステムでは、以下のコマンドでインストールできます:
$ sudo apt-get update $ sudo apt-get install texlive-full $ sudo apt-get install texmaker # TeXエディタ
より詳細な制御が必要な場合は、公式インストーラを使用します:
$ wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz $ tar -xzf install-tl-unx.tar.gz $ cd install-tl-* $ sudo ./install-tl
Windowsでのインストール
編集Windows用のTeX Liveは、インストーラをダウンロードして実行します。インストール後、以下のような環境変数の設定が必要です:
PATH=%PATH%;C:\texlive\2024\bin\win32 TEXMFHOME=%USERPROFILE%\texmf
2.2 日本語環境の設定
編集日本語TeXでは、pLaTeX、upLaTeX、LuaLaTeXなどのエンジンが利用可能です。以下は標準的な日本語文書の設定例です:
% pLaTeXを使用する場合 \documentclass[a4paper,dvipdfmx]{jsarticle} \usepackage{graphicx} % LuaLaTeXを使用する場合 \documentclass[a4paper,luatex,ja=standard]{ltjsarticle} \usepackage{luatexja}
TeXのフォント設定は以下のように行います:
% フォント設定の例 \usepackage[deluxe]{otf} \usepackage{txfonts} \usepackage{type1cm}
2.3 エディタの選択と設定
編集TeXの編集には専用のエディタを使用すると効率的です。主なエディタとその設定例を示します。
TeXworks の設定
編集TeXworksは標準的なTeXエディタです。タイプセットの設定は以下のように行います:
# タイプセット設定例 pLaTeX -> dvipdfmx Command: platex Arguments: -synctex=1 -interaction=nonstopmode $filename
VSCode での設定
編集VSCodeでTeXを使用する場合、settings.jsonに以下のような設定を追加します:
- settings.json
{ "latex-workshop.latex.tools": [ { "name": "platex", "command": "platex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ] } ], "latex-workshop.latex.recipes": [ { "name": "pLaTeX", "tools": [ "platex", "dvipdfmx" ] } ] }
2.4 必要なパッケージのインストール
編集TeXパッケージの管理には、tlmgrコマンドを使用します:
# パッケージのインストール $ tlmgr update --self $ tlmgr install package-name # 特定のパッケージの更新 $ tlmgr update package-name # 全パッケージの更新 $ tlmgr update --all
よく使用されるパッケージの設定例:
\usepackage[dvipdfmx]{graphicx} % 画像表示 \usepackage{amsmath,amssymb} % 数式拡張 \usepackage{subfigure} % 図の並列配置 \usepackage{url} % URL表示 \usepackage{listings} % ソースコード表示 :<syntaxhighlight lang= copy> :<syntaxhighlight lang=tex copy> % listings パッケージの設定例 \lstset{ language=Python, basicstyle=\ttfamily\small, frame=single, breaklines=true, numbers=left, numberstyle=\tiny, showstringspaces=false }
2.5 動作確認
編集環境構築後は、以下のようなテスト文書でシステムの動作を確認します:
\documentclass{jsarticle} \usepackage[dvipdfmx]{graphicx} \usepackage{amsmath} \begin{document} \title{動作確認文書} \author{テストユーザー} \date{\today} \maketitle \section{日本語テスト} これは日本語のテストです。 \section{数式テスト} \[ e^{i\pi} + 1 = 0 \] \end{document}
第3章 基本的な文書作成
編集3.1 文書クラスの選択
編集TeXでの文書作成は、文書クラスの選択から始まります。文書クラスは文書の基本的なレイアウトと機能を定義します。
標準的な文書クラス
編集主要な文書クラスとその用途を以下のコード例で説明します:
% 標準的な論文形式 \documentclass[a4paper,11pt]{article} % 長めの報告書や本 \documentclass[a4paper,11pt]{book} % レポートや長い論文 \documentclass[a4paper,11pt]{report} % 日本語論文 \documentclass[a4paper,11pt]{jsarticle} % 日本語の本 \documentclass[a4paper,11pt]{jsbook}
3.2 プリアンブルの書き方
編集プリアンブルは、文書の開始前に必要なパッケージの読み込みや設定を行う部分です。以下は包括的なプリアンブルの例です:
\documentclass[a4paper,11pt]{jsarticle} % 文字コードとフォント \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} % 日本語関連 \usepackage{otf} \usepackage[dvipdfmx]{graphicx} % 数式関連 \usepackage{amsmath} \usepackage{amssymb} \usepackage{mathtools} % その他の機能 \usepackage{url} \usepackage{hyperref} \usepackage{color} % 文書情報の設定 \title{文書タイトル} \author{著者名} \date{\today}
3.3 本文の書き方
編集本文は \begin{document} と \end{document} の間に記述します。以下は基本的な文書構造の例です:
\begin{document} \maketitle % タイトルの出力 \begin{abstract} これは論文の要旨です。研究の概要を簡潔に説明します。 \end{abstract} \section{はじめに} これは節の始まりです。 \subsection{背景} これは小節です。 % 段落は空行で区切ります これは新しい段落の始まりです。 TeXは自動的に適切な段落間隔を設定します。 \section{本論} % 箇条書きの例 \begin{itemize} \item 第一の要点 \item 第二の要点 \end{itemize} % 番号付きリストの例 \begin{enumerate} \item 最初のステップ \item 次のステップ \end{enumerate} \end{document}
3.4 コンパイル方法
編集TeXファイルのコンパイルには複数の方法があります。以下は代表的なコンパイルコマンドです:
# pLaTeXを使用する場合 $ platex document.tex $ dvipdfmx document.dvi # LuaLaTeXを使用する場合 $ lualatex document.tex # コンパイルを自動化するLatexmkの例 $ latexmk -pdfdvi document.tex latexmkの設定ファイル(.latexmkrc)の例: ; .latexmkrc :<syntaxhighlight lang=text copy> $latex = 'platex -synctex=1 -halt-on-error'; $bibtex = 'pbibtex'; $dvipdf = 'dvipdfmx %O -o %D %S'; $makeindex = 'mendex %O -o %D %S'; $pdf_mode = 3;
3.5 エラー対処の基本
編集TeXのエラーメッセージを理解し、対処する方法を説明します。
- よくあるエラーとその解決:
% Undefined control sequence \textbf{太字} % \usepackage{textbf}が必要 % Missing $ inserted x^2 % 数式モードで書く必要あり:$x^2$ % Missing \begin{document} \documentclass{article} 本文 % \begin{document}が必要 % File not found \includegraphics{image.png} % パスの確認が必要
- エラーログの読み方:
! LaTeX Error: File `unknown.sty' not found. Type X to quit or <RETURN> to proceed, or enter new name. (Default extension: sty) Enter file name:
このような場合、必要なパッケージのインストールを行います:
$ tlmgr install package-name
第4章 文書要素の扱い方
編集4.1 章立てと見出し
編集TeXでは、文書の論理構造を明確に表現するために、複数レベルの見出しを提供しています。
標準的な見出しレベル
編集文書クラスに応じて利用可能な見出しレベルが異なります:
% book、reportクラスでの章立て \chapter{最上位の章} \section{節} \subsection{小節} \subsubsection{小々節} \paragraph{段落見出し} \subparagraph{小段落見出し} % articleクラスでの章立て(\chapterは使用不可) \section{節} \subsection{小節} \subsection*{番号なしの節} % 番号を付けない場合
見出し番号のカスタマイズ:
% 見出し番号の書式設定 \renewcommand{\thesection}{\Roman{section}} % ローマ数字 \renewcommand{\thesubsection}{\thesection-\arabic{subsection}} % I-1形式 % 見出しの深さの設定 \setcounter{secnumdepth}{3} % 見出し番号を表示する深さ \setcounter{tocdepth}{2} % 目次に表示する深さ
4.2 段落と改行
編集TeXでは、段落は空行で区切り、改行は特別なコマンドで制御します:
第1段落の本文です。 この行は同じ段落の続きとして組版されます。 第2段落の本文です。空行で区切られているため、 新しい段落として扱われます。 % 強制改行の例 一行目\\ 二行目 % 段落間隔の調整 \setlength{\parskip}{1em} % 段落間の間隔 \setlength{\parindent}{1zw} % 段落先頭の字下げ % 行間の調整 \linespread{1.5} % 1.5倍の行間
4.3 箇条書きとナンバリング
編集複数の箇条書き環境と、そのカスタマイズ方法を説明します:
% 基本的な箇条書き \begin{itemize} \item 第1項目 \item 第2項目 \begin{itemize} \item 入れ子の項目1 \item 入れ子の項目2 \end{itemize} \item 第3項目 \end{itemize} % 番号付きリスト \begin{enumerate} \item 手順1 \item 手順2 \begin{enumerate} \item 副手順2.1 \item 副手順2.2 \end{enumerate} \item 手順3 \end{enumerate} % 説明リスト \begin{description} \item[用語1] 用語1の説明 \item[用語2] 用語2の説明 \end{description}
カスタマイズ例:
% enumitemパッケージを使用した高度なカスタマイズ \usepackage{enumitem} \begin{enumerate}[label=\arabic*., align=left, leftmargin=2em] \item カスタマイズされた番号付きリスト \item 左揃えで余白を調整 \end{enumerate}
4.4 脚註と参考文献
編集文書に補足情報を追加する方法を説明します:
本文中に脚註を入れることができます\footnote{これは脚註の内容です}。 % 脚註番号のリセット \setcounter{footnote}{0} % 参考文献の記述(手動の場合) \begin{thebibliography}{99} \bibitem{key1} 著者名,『書籍名』,出版社,年号 \bibitem{key2} Author, "Title", Journal, Year \end{thebibliography} % BibTeXを使用した参考文献管理 \bibliographystyle{junsrt} % 参考文献スタイル \bibliography{mybib} % 参考文献データベース
参考文献データベース(mybib.bib)の例:
- mybib.bib
@book{knuth1984, author = {Donald E. Knuth}, title = {The {\TeX}book}, publisher = {Addison-Wesley}, year = 1984 }
4.5 索引の作成
編集makeindexを使用した索引の作成方法:
\usepackage{makeidx} \makeindex % 本文中で索引項目を指定 \index{キーワード} \index{キーワード!サブ項目} \index{キーワード!サブ項目!サブサブ項目} % 文書末尾で索引を出力 \printindex
- 索引スタイルファイル(.ist)の例:
headings_flag 1 heading_prefix "\\indexsection{" heading_suffix "}" delim_0 "\\dotfill " delim_1 "\\dotfill " delim_2 "\\dotfill "
第5章 数式の入力
編集TeXにおける数式の入力は、その美しい組版結果で広く知られています。本章では、基本的な数式の入力方法から複雑な数式の組み方まで、実践的な例を交えながら解説します。
5.1 基本的な数式表現
編集数式を入力する際、最も基本となるのは演算記号と変数の表現です。TeXでは数式モードにおいて、アルファベットは自動的にイタリック体で表示されます。また、演算記号には専用のコマンドが用意されています。
\documentclass{article} \begin{document} $x + y = z$ % 基本的な足し算 $a \times b$ % 掛け算 $p \div q$ % 割り算 $\alpha \beta \gamma$ % ギリシャ文字 \end{document}
上記のように、演算記号はバックスラッシュで始まるコマンドとして記述します。特に頻出する数学記号について、以下に実例を示します:
% よく使う数学記号の例 $\pm$ % プラスマイナス $\leq$ % 以下 $\geq$ % 以上 $\neq$ % 不等号 $\approx$ % 近似 $\infty$ % 無限大
5.2 分数と指数
編集分数は\frac{分子}{分母}という形式で入力します。指数は^、添え字は_を使用します。複雑な式でも、これらの組み合わせで表現できます。
\documentclass{article} \begin{document} % 複雑な分数式の例 \[ \frac{x^2 + 2x + 1}{(1-x)(1+x)} = \frac{(x+1)^2}{1-x^2} \] % 二項係数の例 \[ \binom{n}{k} = \frac{n!}{k!(n-k)!} \] \end{document}
5.3 数式環境の活用
編集長い式や複数行にわたる数式は、equation環境やalign環境を使用します。これらの環境では自動的に式番号が付与され、後から参照することも可能です。
\documentclass{article} \usepackage{amsmath} \begin{document} % 単一の数式 \begin{equation} E = mc^2 \label{eq:einstein} \end{equation} % 複数行の数式(整列あり) \begin{align} (x+1)^3 &= (x+1)(x+1)(x+1) \\ &= (x+1)(x^2 + 2x + 1) \\ &= x^3 + 3x^2 + 3x + 1 \end{align} \end{document}
式\eqref{eq:einstein}のように、\labelと\refを使用することで式番号への参照が可能です。
5.4 行列の表現
編集行列はmatrix環境群を使用して表現します。bmatrix(角括弧)、pmatrix(丸括弧)、vmatrix(縦線)など、様々な括弧付きの行列環境が用意されています。
\begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{bmatrix}
5.5 数式の装飾
編集数式に対して様々な装飾を施すことができます。上付き線、下線、矢印などの装飾は数式の意味を明確に伝えるのに役立ちます。
\documentclass{article} \usepackage{amsmath} \begin{document} % ベクトルの表現 \[ \vec{a} = \overrightarrow{AB} = \begin{pmatrix} x \\ y \\ z \end{pmatrix} \] % 平均値の表現 \[ \overline{x} = \frac{1}{n}\sum_{i=1}^n x_i \] % 極限値の表現 \[ \lim_{x \to \infty} \frac{1}{x} = 0 \] \end{document}
5.6 数式の空白調整
編集TeXは数式中の空白を自動的に調整しますが、場合によっては手動で調整が必要です。\,(小さな空き)、\:(中くらいの空き)、\;(大きな空き)、\!(負の空き)などのコマンドを使用します。
% 積分での空白調整例 \[ \int_0^1 f(x)\,dx % dxの前に小さな空きを入れる \] % 関数の定義での空白調整例 \[ f\colon X \to Y % 写像の矢印の前後に適切な空白 \]
5.7 数式番号の制御
編集数式番号は自動的に付与されますが、時には制御が必要な場合があります。\tag{}による手動番号付け、\nonumberによる番号の抑制などが可能です。
\documentclass{article} \usepackage{amsmath} \begin{document} % カスタム番号の使用 \begin{equation} \tag{A.1} f(x) = ax^2 + bx + c \end{equation} % 番号なしの数式 \begin{equation*} y = mx + b \end{equation*} % 選択的な番号付け \begin{align} E &= mc^2 \label{eq:mass-energy} \\ F &= ma \nonumber \\ P &= \frac{F}{A} \label{eq:pressure} \end{align} \end{document}
5.8 多段数式の処理
編集cases環境や gathered環境を使用することで、場合分けや複雑な数式の整理が可能です。
% 場合分けの例 \[ f(x) = \begin{cases} x^2 & \text{if } x \geq 0 \\ -x^2 & \text{if } x < 0 \end{cases} \] % 連立方程式の例 \begin{gather} 3x + 2y = 8 \\ x - y = 1 \end{gather}
第6章 図表の挿入
編集文書中への図表の挿入は、論文や技術文書作成において重要な要素です。本章では、TeXにおける図表の扱い方について、実践的な例を交えながら解説します。
6.1 図の挿入
編集図の挿入には、graphicxパッケージを使用します。このパッケージは様々な画像形式(PDF、PNG、JPEG等)に対応しています。
\documentclass{article} \usepackage[dvipdfmx]{graphicx} \begin{document} \begin{figure}[htbp] \centering \includegraphics[width=0.8\linewidth]{sample-graph.pdf} \caption{サンプルグラフ} \label{fig:sample} \end{figure} 本研究の結果を図\ref{fig:sample}に示します。 \end{document}
\includegraphicsコマンドには様々なオプションがあります:
% 画像サイズの指定 \includegraphics[width=8cm]{image.pdf} \includegraphics[height=5cm]{image.pdf} \includegraphics[scale=0.5]{image.pdf} % 回転と反転 \includegraphics[angle=45]{image.pdf} \includegraphics[reflect]{image.pdf} % トリミング \includegraphics[clip, trim=1cm 2cm 1cm 2cm]{image.pdf}
6.2 表の作成
編集表の作成にはtabular環境を使用します。複雑な表の場合は、booktabsパッケージを併用することで、より美しい表組みが可能になります。
\documentclass{article} \usepackage{booktabs} \begin{document} \begin{table}[htbp] \centering \caption{実験結果のまとめ} \label{tab:results} \begin{tabular}{lrrr} \toprule 実験条件 & 試行1 & 試行2 & 試行3 \\ \midrule 条件A & 15.2 & 15.4 & 15.1 \\ 条件B & 18.7 & 18.5 & 18.9 \\ 条件C & 21.3 & 21.5 & 21.2 \\ \bottomrule \end{tabular} \end{table} \end{document}
長い表や複数ページにわたる表の場合は、longtableパッケージが便利です:
\usepackage{longtable} \begin{longtable}{lrr} \caption{長い表の例} \\ \toprule 項目 & 値1 & 値2 \\ \midrule \endfirsthead \multicolumn{3}{c}{(前ページからの続き)} \\ \toprule 項目 & 値1 & 値2 \\ \midrule \endhead \bottomrule \multicolumn{3}{r}{(次ページに続く)} \\ \endfoot \bottomrule \endlastfoot データ1 & 100 & 200 \\ データ2 & 150 & 250 \\ % ... 以下データ続く \end{longtable}
6.3 図表の配置制御
編集図表の配置位置は、環境のオプション引数で制御します:
- h: here(その位置)
- t: top(ページ上部)
- b: bottom(ページ下部)
- p: page(独立したフロートページ)
より細かい制御が必要な場合は、float パッケージを使用します:
\usepackage{float} \begin{figure}[H] % 強制的にその位置に配置 \centering \includegraphics{image.pdf} \caption{強制配置された図} \end{figure}
6.4 グラフの描画
編集TeXでグラフを描画する場合、tikzパッケージが強力なツールとなります:
\usepackage{tikz} \begin{document} \begin{tikzpicture} \begin{axis}[ xlabel=x軸, ylabel=y軸, grid=major ] \addplot[smooth] {x^2}; \addplot[smooth] {x^3}; \end{axis} \end{tikzpicture} \end{document}
データ点からグラフを描画する場合:
\begin{tikzpicture} \begin{axis} \addplot[scatter] table { x y 1 2.3 2 4.5 3 6.7 }; \end{axis} \end{tikzpicture}
6.5 図表番号の管理
編集図表番号の書式は、\renewcommandを使用してカスタマイズできます:
% 図番号を「図1.1」形式に変更 \renewcommand{\thefigure}{\thechapter.\arabic{figure}} \renewcommand{\thetable}{\thechapter.\arabic{table}} % 図のキャプション前の文字列を変更 \renewcommand{\figurename}{図} \renewcommand{\tablename}{表}
これらの基本的な要素を組み合わせることで、読みやすく美しい図表を文書に取り入れることができます。次章では、より高度なページレイアウトの制御方法について解説します。
第7章 ページレイアウト
編集文書の見た目を決定するページレイアウトの設定は、プロフェッショナルな文書作成において重要な要素です。本章では、TeXにおけるページレイアウトの設定方法について解説します。
7.1 基本的なページ設定
編集ページの基本設定は、文書クラスのオプションまたはgeometryパッケージを使用して行います。
\documentclass[a4paper,dvipdfmx]{article} \usepackage[margin=2cm]{geometry} % 全マージンを2cmに設定 % より詳細な設定 \usepackage[ top=25mm, bottom=30mm, left=25mm, right=25mm, includeheadfoot % ヘッダー・フッターをマージンに含める ]{geometry}
用紙サイズの変更例:
\usepackage[b5paper]{geometry} % B5サイズ \usepackage[a5paper]{geometry} % A5サイズ \usepackage[letterpaper]{geometry} % レターサイズ
7.2 ヘッダーとフッター
編集ヘッダーとフッターの設定には、fancyhdrパッケージを使用します。
\documentclass{article} \usepackage{fancyhdr} \pagestyle{fancy} % ヘッダーの設定 \fancyhead{} % 既存のヘッダーをクリア \fancyhead[L]{左側ヘッダー} \fancyhead[C]{中央ヘッダー} \fancyhead[R]{右側ヘッダー} % フッターの設定 \fancyfoot{} % 既存のフッターをクリア \fancyfoot[C]{\thepage} % ページ番号を中央に配置 % ヘッダー区切り線の設定 \renewcommand{\headrulewidth}{0.4pt} % 線の太さ \renewcommand{\footrulewidth}{0pt} % フッターの線を非表示
7.3 段組み設定
編集段組みの設定には、multicols環境またはtwocolumnオプションを使用します。
% 文書全体を2段組みにする場合 \documentclass[twocolumn]{article} % 部分的に段組みを使用する場合 \usepackage{multicol} \begin{document} \begin{multicols}{2} ここに2段組みにしたい文章を書きます。 段の間隔や区切り線なども設定可能です。 \end{multicols} % 段間に縦線を入れる \begin{multicols}{2} \columnseprule=0.4pt % 縦線の太さ 本文... \end{multicols}
7.4 ページ番号の制御
編集ページ番号の形式や位置は柔軟に制御できます。
% ページ番号のリセット \setcounter{page}{1} % ページ番号の形式変更 \pagenumbering{roman} % ローマ数字 (i, ii, iii, ...) \pagenumbering{Roman} % 大文字ローマ数字 (I, II, III, ...) \pagenumbering{arabic} % アラビア数字 (1, 2, 3, ...) \pagenumbering{alph} % アルファベット (a, b, c, ...) \pagenumbering{Alph} % 大文字アルファベット (A, B, C, ...) % 特定のページでページ番号を非表示 \thispagestyle{empty}
7.5 改ページの制御
編集TeXの改ページ制御には様々なコマンドが用意されています。
\newpage % 強制改ページ \clearpage % 浮動体を出力して改ページ \cleardoublepage % 奇数ページまで改ページ % 改ページを抑制 \nopagebreak[4] % 優先度4(最大)で改ページを抑制 % 段落間の改ページを禁止 {\samepage 段落1の内容... 段落2の内容... }
7.6 余白の調整
編集特定の場所での余白調整には、様々なコマンドを使用できます。
% 垂直方向の空白 \vspace{2cm} % 絶対値指定 \vspace*{2cm} % ページ先頭でも有効 \vfill % 可変幅の垂直空白 % 水平方向の空白 \hspace{1cm} % 絶対値指定 \hspace*{1cm} % 行頭でも有効 \hfill % 可変幅の水平空白 % 段落間の空白設定 \setlength{\parskip}{1em} % 段落間の間隔 \setlength{\parindent}{0pt} % 段落先頭のインデント
これらの設定を適切に組み合わせることで、プロフェッショナルな体裁の文書を作成することができます。次章では、文書スタイルのカスタマイズについて、より詳しく解説します。
第8章 スタイルのカスタマイズ
編集LaTeXの大きな特徴の一つは、文書の見た目を細かくカスタマイズできることです。本章では、フォント設定から独自コマンドの定義まで、スタイルカスタマイズの方法を解説します。
8.1 フォントの設定
編集日本語文書では、主にjpfontパッケージを使用してフォントを設定します。
\documentclass[dvipdfmx]{article} \usepackage{fontspec} \usepackage[haranoaji]{jpfont} % 明朝体とゴシック体の切り替え \renewcommand{\rmdefault}{udminr} % 明朝体をデフォルトに \renewcommand{\sfdefault}{udgos} % ゴシック体をサンセリフに % 個別の文字列でフォント指定 {\gtfamily ゴシック体の文字列} {\mcfamily 明朝体の文字列} % フォントサイズの変更 {\small 小さい文字} {\large 大きい文字} {\huge とても大きい文字}
8.2 色の使用
編集xcolorパッケージを使用することで、文書内で色を扱うことができます。
\usepackage[dvipsnames]{xcolor} % 基本的な色指定 {\color{red}赤い文字} {\color{blue}青い文字} % RGB指定による色定義 \definecolor{lightblue}{RGB}{100,149,237} \definecolor{customgreen}{rgb}{0.0,0.8,0.2} % 色の濃度指定 {\color{red!50}50%の赤色} {\color{blue!30}30%の青色} % 背景色の指定 \colorbox{yellow}{黄色い背景の文字列} \fcolorbox{red}{white}{赤い枠で囲まれた文字列}
8.3 独自コマンドの定義
編集\newcommandを使用して、よく使う表現を独自コマンドとして定義できます。
% 引数なしのコマンド \newcommand{\myname}{山田太郎} % 引数を取るコマンド \newcommand{\highlight}[1]{{\color{red}#1}} % オプション引数を持つコマンド \newcommand{\keyword}[2][blue]{{\color{#1}#2}} % 複数の引数を取るコマンド \newcommand{\fullname}[2]{#1\hspace{1em}#2} % 使用例 \myname % 「山田太郎」と出力 \highlight{重要な文章} % 赤字で出力 \keyword{キーワード} % 青字で出力 \keyword[red]{キーワード} % 赤字で出力 \fullname{山田}{太郎} % 姓名を適切な間隔で出力
8.4 独自環境の定義
編集\newenvironmentを使用して、新しい環境を定義できます。
% シンプルな環境 \newenvironment{注意}{% \begin{quote}\textbf{注意:} }{% \end{quote} } % 引数を取る環境 \newenvironment{コラム}[1]{% \begin{quotation} \textbf{コラム:#1} \hrule }{% \hrule \end{quotation} } % 使用例 \begin{注意} これは注意書きです。 \end{注意} \begin{コラム}{発展的な話題} これはコラムの内容です。 \end{コラム}
8.5 スタイルファイルの作成
編集頻繁に使用する設定は、スタイルファイル(.sty)にまとめることができます。
% mystyle.sty \ProvidesPackage{mystyle}[2024/01/16 My custom style] \RequirePackage{graphicx} \RequirePackage{color} % パッケージオプションの処理 \DeclareOption{draft}{\setlength{\overfullrule}{5pt}} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions\relax % スタイル定義 \newcommand{\mysection}[1]{% \section{#1} \hrule } % 使用例(本文ファイル) \documentclass{article} \usepackage{mystyle}
8.6 定理環境のカスタマイズ
編集amsthmパッケージを使用して、定理環境をカスタマイズできます。
\usepackage{amsthm} % 定理スタイルの定義 \newtheoremstyle{mystyle} {3pt} % 上部スペース {3pt} % 下部スペース {\normalfont} % 本文フォント {} % インデント量 {\bfseries} % 見出しフォント {.} % 見出し後の記号 {.5em} % 見出し後のスペース {} % 見出しの定義 % 定理環境の定義 \theoremstyle{mystyle} \newtheorem{theorem}{定理}[section] \newtheorem{definition}[theorem]{定義} \newtheorem{example}[theorem]{例} % 使用例 \begin{theorem} これは定理の内容です。 \end{theorem} \begin{definition} これは定義の内容です。 \end{definition}
これらのカスタマイズ機能を活用することで、一貫性のある、美しい文書を作成することができます。次章では、特殊な文書タイプの作成について解説します。
第9章 特殊な文書の作成
編集TeXは様々な種類の文書作成に対応しています。本章では、代表的な特殊文書の作成方法について解説します。
9.1 プレゼンテーション(Beamer)
編集Beamerクラスを使用することで、プレゼンテーションスライドを作成できます。
\documentclass[dvipdfmx]{beamer} \usetheme{Madrid} \usecolortheme{dove} \usepackage{pxjahyper} \title{サンプルプレゼンテーション} \author{山田太郎} \date{\today} \begin{document} \begin{frame} \titlepage \end{frame} \begin{frame}{目次} \tableofcontents \end{frame} \section{はじめに} \begin{frame}{はじめに} \begin{itemize} \item<1-> 最初の項目 \item<2-> 二番目の項目 \item<3-> 三番目の項目 \end{itemize} \pause % アニメーション効果 \begin{block}{重要な注意} これは強調したい内容です。 \end{block} \end{frame}
9.2 学術論文
編集学術論文では、abstractやbibliographyなど特有の要素が必要です。
\documentclass[a4paper,twocolumn]{jarticle} \usepackage{graphicx} \usepackage{cite} \title{サンプル論文タイトル} \author{山田太郎\thanks{○○大学工学部}} \date{\today} \begin{document} \maketitle \begin{abstract} 本研究では...(要旨) \end{abstract} \section{はじめに} 研究の背景と目的について述べる... \section{実験方法} 実験の手順について説明... % 参考文献 \bibliographystyle{junsrt} \bibliography{references}
9.3 書籍
編集書籍作成では、bookクラスを使用し、章立てを行います。
\documentclass[dvipdfmx,a5paper]{book} \usepackage{graphicx} \usepackage{tocloft} % 目次のカスタマイズ \renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}} \begin{document} \frontmatter \title{サンプル書籍} \author{山田太郎} \date{\today} \maketitle \tableofcontents \mainmatter \chapter{はじめに} 本書の目的について... \chapter{本論} 本題の説明... \appendix \chapter{付録A} 補足資料... \backmatter % 索引や参考文献 \end{document}
9.4 履歴書
編集履歴書は、精密なレイアウト制御が必要です。
\documentclass[12pt]{jarticle} \usepackage[top=20mm,bottom=20mm,left=20mm,right=20mm]{geometry} \begin{document} \begin{center} {\Large 履 歴 書} \vspace{1cm} {\large 令和○年○月○日現在} \end{center} \begin{tabular}{|p{4cm}|p{12cm}|} \hline 氏名 & 山田 太郎 \\ \hline 生年月日 & 平成○年○月○日生(満○歳) \\ \hline 現住所 & 〒xxx-xxxx \\ & ○○県○○市○○町1-2-3 \\ \hline \end{tabular} % 学歴・職歴 \section*{学歴} \noindent 平成○年○月 ○○高等学校 卒業 \\ 平成○年○月 ○○大学○○学部 入学 \\ 平成○年○月 同上 卒業 \end{document}
9.5 ポスター
編集学会ポスターなどは、beamerposterパッケージを使用します。
\documentclass[final,dvipdfmx]{beamer} \usepackage[size=a0,scale=1.4]{beamerposter} \usetheme{confposter} \title{研究発表ポスター} \author{山田太郎} \institute{○○大学} \begin{document} \begin{frame}{} \begin{block}{研究目的} 本研究では... \end{block} \begin{block}{実験方法} \begin{itemize} \item 手順1 \item 手順2 \end{itemize} \end{block} \begin{block}{結果と考察} 実験結果を図1に示す... \end{block} \end{frame} \end{document}
これらのテンプレートを基礎として、目的に応じたカスタマイズを行うことで、様々な種類の文書を作成できます。次章では、より高度なTeXの使用方法について解説します。
第10章 高度なテクニック
編集TeXの高度な機能を活用することで、より柔軟で効率的な文書作成が可能になります。本章では、マクロやパッケージの活用など、上級者向けのテクニックを解説します。
10.1 マクロの作成
編集複雑な処理を行うマクロを作成することで、文書作成を効率化できます。
% 条件分岐を含むマクロ \newcommand{\checknumber}[1]{% \ifnum#1>0 正の数です \else \ifnum#1<0 負の数です \else ゼロです \fi \fi } % カウンタを使用するマクロ \newcounter{problemno} \newcommand{\problem}{% \stepcounter{problemno}% \paragraph{問題\theproblemno}% } % 可変個の引数を取るマクロ \usepackage{xparse} \NewDocumentCommand{\citations}{>{\SplitList{,}}m}{% \cite{\ProcessList{#1}{\SplitArgument{1}{:}}}% }
10.2 パッケージの高度な使用法
編集多機能なパッケージを使いこなすことで、文書の質を向上させることができます。
% hyperrefパッケージの高度な設定 \usepackage[dvipdfmx, bookmarks=true, bookmarksnumbered=true, hidelinks, pdftitle={文書タイトル}, pdfauthor={著者名}, pdfsubject={文書の主題}, pdfkeywords={キーワード1, キーワード2} ]{hyperref} % tikzパッケージによる複雑な図の作成 \usepackage{tikz} \usetikzlibrary{shapes,arrows,positioning} \begin{tikzpicture}[node distance=2cm] \node[draw,circle] (A) {開始}; \node[draw,rectangle] (B) [below of=A] {処理1}; \node[draw,diamond] (C) [below of=B] {判定}; \draw[->] (A) -- (B); \draw[->] (B) -- (C); \draw[->] (C) -- node[right] {Yes} ++(2,0) -- ++(0,4) -- (A); \draw[->] (C) -- node[left] {No} ++(0,-2); \end{tikzpicture}
10.3 相互参照の活用
編集複雑な文書での相互参照を効率的に管理します。
\usepackage{hyperref} \usepackage{cleveref} % 相互参照の設定 \crefname{equation}{式}{式} \crefname{figure}{図}{図} \crefname{table}{表}{表} \begin{document} \begin{equation} E = mc^2 \label{eq:einstein} \end{equation} % 複数の参照 \begin{figure}[htbp] \centering \includegraphics{graph1.pdf} \caption{グラフ1} \label{fig:graph1} \end{figure} \begin{figure}[htbp] \centering \includegraphics{graph2.pdf} \caption{グラフ2} \label{fig:graph2} \end{figure} \cref{eq:einstein}に示すように... \cref{fig:graph1,fig:graph2}に示すように...
10.4 バージョン管理との連携
編集GitなどのバージョンI管理システムとTeXを効果的に連携させる方法について説明します。
- .gitignore
# .gitignore の例 *.aux *.log *.out *.toc *.bbl *.blg *.dvi *.pdf !figures/*.pdf # 図表のPDFは管理対象に含める
% バージョン情報の埋め込み \usepackage{gitinfo2} \begin{document} \title{文書タイトル\\ \texttt{git: \gitDescribe}} \date{\today}
10.5 自動化スクリプト
編集文書のビルドプロセスを自動化するスクリプトの例を示します。
- build.sh
#!/bin/bash # LaTeXの実行 platex main.tex pbibtex main platex main.tex platex main.tex dvipdfmx main.dvi # 中間ファイルの削除 rm -f main.aux main.log main.out main.toc \ main.bbl main.blg main.dvi # 必要に応じてPDFを移動 mv main.pdf output/
Makefileを使用する場合:
- Makefile
# Makefile TARGET = main TEXSRC = $(TARGET).tex PDFTARGET = $(TARGET).pdf .PHONY: all clean all: $(PDFTARGET) $(PDFTARGET): $(TEXSRC) platex $(TEXSRC) pbibtex $(TARGET) platex $(TEXSRC) platex $(TEXSRC) dvipdfmx $(TARGET).dvi clean: rm -f *.aux *.log *.out *.toc *.bbl *.blg *.dvi
これらの高度なテクニックを使いこなすことで、より効率的で質の高い文書作成が可能になります。次章では、一般的なトラブルシューティングについて解説します。
第11章 トラブルシューティング
編集TeXでの文書作成中に遭遇する可能性のある問題とその解決方法について解説します。エラーメッセージの解釈から一般的な問題の解決まで、実践的な対処法を紹介します。
11.1 一般的なエラーと解決法
編集TeXで頻繁に遭遇するエラーとその対処方法を説明します。
% Missing $ inserted \begin{document} x^2 % 数式モードでない場所で数式を使用 % 正しい書き方 $x^2$ % Undefined control sequence \textcolour{red}{テキスト} % スペルミス % 正しい書き方 \textcolor{red}{テキスト} % Missing \begin{document} \title{タイトル} % プリアンブルでの誤った配置 \begin{document} % documentコマンドが必要 \title{タイトル} % Extra }, or forgotten $ {text}}} % 余分な閉じ括弧 % 正しい書き方 {text}
11.2 デバッグ方法
編集エラーの原因を特定するための効果的なデバッグ方法を紹介します。
% デバッグ用パッケージの活用 \usepackage{trace} % マクロの展開過程を追跡 \usepackage{showkeys} % ラベルを表示 % エラー位置の特定 \errorcontextlines=10 % エラー表示行数の増加 % 詳細なログ出力 \tracingmacros=1 \tracingcommands=1
11.3 コンパイルエラーへの対処
編集コンパイル時に発生する様々なエラーとその解決方法を解説します。
% メモリ不足エラーの解決 \usepackage{etex} % より多くのカウンタを利用可能に % 循環参照の解決 \usepackage{xr} % 外部参照用パッケージ \externaldocument{other-doc} % 外部文書の参照 % パッケージの読み込み順序の調整 \usepackage{hyperref} % 最後に読み込むべきパッケージ
11.4 文字化けの解決
編集日本語環境で発生しやすい文字化けの問題と解決方法です。
% 文字コードの指定 \documentclass[dvipdfmx,utf8]{jsarticle} % フォントの明示的指定 \usepackage[haranoaji]{pxchfon} % 特殊文字の対処 \DeclareUnicodeCharacter{2015}{―} % ダッシュ \DeclareUnicodeCharacter{301C}{~} % 全角チルダ
11.5 パッケージの競合解決
編集複数のパッケージを使用する際に発生する競合の解決方法です。
% パッケージの読み込み順序の例 \usepackage{amsmath} \usepackage{mathtools} % amsmath に依存 \usepackage[dvipdfmx]{graphicx} \usepackage{hyperref} % 最後に読み込む % オプションの統一 \usepackage[dvipdfmx]{hyperref} \usepackage[dvipdfmx]{color} % 競合するパッケージの対処 \usepackage{subcaption} % subfigure と競合 % \usepackage{subfigure} % 使用しない
11.6 一般的な警告への対処
編集警告メッセージの意味と適切な対処方法について説明します。
% Overfull \hbox の解決 \sloppy % 行末の余白を緩める \hyphenation{長い-単語} % ハイフネーションの指定 % Underfull \vbox の解決 \enlargethispage{\baselineskip} % ページの高さを調整 % Citation undefined の解決 \nocite{*} % すべての文献を参考文献に含める \bibliography{references}
11.7 PDFファイルの問題解決
編集PDF出力時に発生する問題とその解決方法を説明します。
% フォント埋め込みの確認 \usepackage[no-math]{fontspec} \setmainfont{TeX Gyre Termes} % しおりの文字化け解決 \usepackage{pxjahyper} \usepackage[dvipdfmx, bookmarks=true, bookmarksnumbered=true, hidelinks ]{hyperref}
これらの問題解決方法を知っておくことで、TeXでの文書作成をより円滑に進めることができます。次章では、附録として役立つ情報をまとめます。
第12章 附録
編集12.1 TeXコマンド一覧
編集よく使用されるTeXコマンドを、カテゴリー別にまとめて解説します。
12.1.1 文書構造
編集% 文書クラス \documentclass[オプション]{クラス名} \begin{document} \end{document} % セクション \part{パート名} \chapter{章名} \section{節名} \subsection{小節名} \subsubsection{小々節名} \paragraph{段落名} \subparagraph{小段落名} % 目次関連 \tableofcontents % 目次 \listoffigures % 図目次 \listoftables % 表目次
12.1.2 文字装飾
編集% フォントサイズ \tiny % 極小 \scriptsize % より小さい \footnotesize % 脚註サイズ \small % 小さい \normalsize % 標準 \large % 大きい \Large % より大きい \LARGE % さらに大きい \huge % 巨大 \Huge % より巨大 % フォントスタイル \textbf{太字} \textit{イタリック} \texttt{タイプライター} \textsf{サンセリフ} \textsc{スモールキャップス} \emph{強調}
12.2 便利なパッケージ集
編集頻繁に使用される便利なパッケージとその主な機能を紹介します。
% 基本的なパッケージ \usepackage{graphicx} % 画像挿入 \usepackage{amsmath} % 数式拡張 \usepackage{hyperref} % ハイパーリンク \usepackage{color} % 色指定 \usepackage{listings} % ソースコード表示 \usepackage{booktabs} % 表組み \usepackage{multicol} % 段組み \usepackage{url} % URL表示 \usepackage{geometry} % ページ設定 \usepackage{fancyhdr} % ヘッダー・フッター
12.3 オンラインリソース
編集TeXに関する有用なオンラインリソースを紹介します。
- 公式ドキュメント
- コミュニティサイト
- オンラインエディタ
12.4 TeXコミュニティの活用
編集TeXコミュニティに参加し、情報交換を行う方法について説明します。
- メーリングリスト
- tex-jp-win(日本語Windows環境)
- tex-users-jp(一般的な質問)
- SNSグループ
- TeXユーザーグループ(Facebook)
- #LaTeX(Twitter)
- 地域ユーザーグループ
- 日本TeXユーザーグループ
- 各地域のTeXユーザーグループ
12.5 参考文献
編集TeXに関する参考となる書籍や論文を紹介します。
\begin{thebibliography}{99} \bibitem{knuth1984} Donald E. Knuth, ``The \TeX book'', Addison-Wesley, 1984. \bibitem{lamport1994} Leslie Lamport, ``\LaTeX: A Document Preparation System'', Addison-Wesley, 1994. \bibitem{mittlebach2004} Frank Mittelbach et al., ``The \LaTeX Companion'', Addison-Wesley, 2004. \end{thebibliography}
このハンドブックが、皆様のTeX文書作成の助けとなれば幸いです。TeXは学習曲線が急な面もありますが、一度習得すれば非常に強力な文書作成ツールとなります。継続的な学習と実践を通じて、より美しい文書作成を目指してください。
関連項目
編集参考文献
編集- Knuth, Donald E. "The TeXbook", Addison-Wesley Professional, 1984
- Lamport, Leslie. "LaTeX: A Document Preparation System", Addison-Wesley Professional, 1994
- TeX Live Guide 2024
- Helmut Kopka, Patrick W. Daly "Guide to LaTeX", Addison-Wesley Professional
- 奥村晴彦『改訂第9版 LaTeX美文書作成入門』技術評論社 ISBN 978-4-297-13889-9