Yamamoto's Laboratory
 
 
表紙
フォント・行
図
 
公開情報
 
 
古い情報
 
 

LaTeXフォントと行の設定

LaTeX でフォントサイズ,書体,そのまま出力,改行,段落,行間,行揃え,文字位置を調整する方法を説明します.本文では,見た目を直接指定しすぎず,必要な場所だけ範囲を限定して変更することが大切です.

目次


はじめに

LaTeX では,文書の構造をソースに書き,見た目はドキュメントクラスやパッケージに任せるのが基本です.本文中でフォントや行間を細かく変えすぎると,文書全体の統一感が失われます.

それでも,表紙,注意書き,短い説明,プログラムリストなどでは,フォントサイズや行の設定が必要になります.このページでは,必要な範囲だけを変更するための基本的な命令を説明します.

フォント

LaTeX の文字は,サイズ,ファミリー,シリーズ,シェイプなどの属性で決まります.本文中では,意味を表す \emph や,範囲を限定した \textbf,\textit などを使うと扱いやすくなります.

サイズ

本文の基準サイズは,ドキュメントクラスのオプションで決めます.標準的には 10pt,11pt,12pt を使います.

\documentclass[10pt,a4paper]{jsarticle}

文中で一部だけサイズを変えるときは,次の宣言を使います.宣言は,その後ろに効果が続きます.そのため,通常は波括弧で範囲を限定します.

宣言 説明
\tiny 最も小さい文字です.脚注より小さい文字に使います.
\scriptsize, \footnotesize, \small 本文より小さい文字です.表の注や短い補足に使います.
\normalsize 本文の標準サイズです.
\large, \Large, \LARGE 本文より大きい文字です.見出しや強調に使います.
\huge, \Huge さらに大きい文字です.表紙や大きな見出しに使います.
本文です.{\Large この部分だけ大きくします.}本文に戻ります.

{\small この部分だけ小さくします.}

宣言を裸で書くと,以後の文字サイズが変わります.意図しない範囲まで変わるため,本文では波括弧で囲む書き方を勧めます.

図1: フォントサイズを変更した例

任意サイズ

任意のフォントサイズを指定するには,\fontsize と \selectfont を使います.第 1 引数は文字サイズ,第 2 引数はベースライン間隔です.

{\fontsize{14pt}{20pt}\selectfont 14 pt の文字です.}

第 2 引数を小さくしすぎると,行が重なります.任意サイズは便利ですが,文書全体の調和を崩しやすいため,表紙や図中の短い文字列などに限定して使います.

書体

書体は,ファミリー,シリーズ,シェイプを組み合わせて指定します.命令には,範囲を引数で取るコマンドと,後続に効く宣言があります.本文では,範囲が明確なコマンドを使う方が安全です.

分類 コマンド 宣言 内容
強調 \emph{...} 意味として強調します.通常は斜体になりますが,入れ子では形が変わります.
太字 \textbf{...} \bfseries シリーズを太字にします.
イタリック \textit{...} \itshape 欧文をイタリックにします.
斜体 \textsl{...} \slshape 欧文を傾けた形にします.
等幅 \texttt{...} \ttfamily コードやファイル名に向く等幅書体です.
サンセリフ \textsf{...} \sffamily 欧文をサンセリフ体にします.
ローマン \textrm{...} \rmfamily 欧文をローマン体にします.
\emph{重要な語句}を強調します.
\textbf{太字},\textit{italic},\texttt{sample.tex}

日本語フォントの注意

日本語文書では,欧文用の \textit や \textsf が,日本語にそのまま効くとは限りません.日本語の明朝体,ゴシック体,太字の扱いは,使用するエンジン,ドキュメントクラス,フォント設定に依存します.

そのため,本文中では見た目を直接指定するよりも,\emph や自作コマンドを使って意味を残す方が保守しやすくなります.表紙やスタイルファイルで日本語フォントを細かく変える場合は,文書全体のコンパイル環境に合わせて設定します.

タイプしたとおりに出力

ソースコードやコマンドを,入力した形に近いまま出力したい場合は,verbatim 環境や \verb を使います.

命令 用途
verbatim 環境 複数行のソースコードやコマンド例を別行立てで表示します.
\verb 行内で短いコマンドや文字列をそのまま表示します.
\begin{verbatim}
#include <stdio.h>

int main(void){
  printf("Hello world!\n");
  return 0;
}
\end{verbatim}

\verb は,次の文字を区切り記号として使います.そのため,区切り記号を変えることができます.

\verb|\Large|
\verb+ a || b +

\verb は,通常の命令の引数の中では使えません.長いプログラムリストをきれいに出す場合は,listings などの専用パッケージを使う方法もあります.

図2: verbatim 環境でプログラムリストを出力した例

空文字の出力

文字列を表示せずに,その文字列と同じ寸法の空白(空文字)を確保するには,\phantom,\hphantom,\vphantom を使います.文字の位置を揃えたり,数式の高さを揃えたりする場合に便利です.追加のパッケージは必要ありません.

引数には,空白の寸法の基準にする文字列や数式を指定します.いずれも引数の内容は表示しませんが,確保する寸法が異なります.ここで,高さはベースラインから上の寸法,深さはベースラインから下の寸法です.

命令 説明
\phantom{...} 引数と同じ幅・高さ・深さを確保します.文字列を置いたときの領域をそのまま空白にします.
\hphantom{...} 引数と同じ幅だけを確保します.高さと深さは 0 なので,横方向の位置を揃えるときに使います.
\vphantom{...} 引数と同じ高さと深さだけを確保します.幅は 0 なので,横方向の空白を増やさずに,数式や括弧の高さを揃えるときに使います.

\phantom の効果は,枠で囲むと確認できます.次の例では,どちらも Ag と同じ寸法の領域を囲みますが,右側の枠内には文字が表示されません.

\fbox{Ag}\quad\fbox{\phantom{Ag}}

\hphantom は,桁数の異なる数値の位置を揃える場合などに使います.次の例では,2 行目の先頭に数字 1 と同じ幅の空白を入れるため,両方の 23 の位置が揃います.

\begin{tabular}{l}
  $123$\\
  $\hphantom{1}23$
\end{tabular}

\vphantom は,根号などの高さを揃える場合に使えます.次の例では,右側の根号の中にも分数と同じ高さと深さを確保するため,2 つの根号の高さが揃います.分数そのものは右側には表示されず,分数の幅も加わりません.

\[
  \sqrt{\frac{a}{b}} + \sqrt{\vphantom{\frac{a}{b}}c}
\]

これらの命令は本文中でも数式中でも使えます.空白の寸法は,その場所のフォントや数式のスタイルで引数を組んだときの寸法になります.数式の寸法を基準にするときは,上の例のように数式モードの中で使います.

行と段落

改行

LaTeX のソースで 1 回改行しても,出力では通常の空白と同じ扱いになります.新しい段落にするには,空行を入れるか,\par を使います.

これは同じ段落です.
ここも同じ段落です.

ここから新しい段落です.

強制的に行だけを変える場合は \\ を使います.ただし,本文で多用すると段落の組版が乱れます.箇条書き,表,詩,住所など,行を明示したい場合に限定します.

〒000-0000\\
東京都○○区○○ 1-2-3\\
株式会社サンプル

\par は強制改行の命令ではなく,現在の段落を終える命令です.空行を入れた場合とほぼ同じで,次の文章は新しい段落になります.そのため,次の段落には通常の字下げが入り,段落間の空きは \parskip の設定に従います.

これは最初の段落です.\par
これは次の段落です.

\\ と \par の違いは,段落を終えるかどうかです.\\ は同じ段落の中で行だけを変えます.\par は段落を終えます.通常の本文では,段落を分けたいときは空行または \par を使い,同じ段落内でどうしても行を変えたいときだけ \\ を使います.

段落とインデント

段落の先頭には,通常インデントが入ります.ある段落だけインデントを消す場合は \noindent を使います.

\noindent
この段落だけ字下げしません.

文書全体の段落インデントを変える場合は,プリアンブルで \parindent を設定します.段落間の空きは \parskip で設定できますが,日本語の本文では標準の字下げを使う方が読みやすい場合が多いです.

\setlength{\parindent}{1zw}
\setlength{\parskip}{0pt}

行間

行間を文書全体で変える場合は,プリアンブルで \linespread を使います.指定値は倍率に近い値ですが,Word の「1.5行」と完全に同じ意味ではありません.

\linespread{1.2}

レポートや論文で「1行半」や「ダブルスペース」を求められる場合は,setspace パッケージが便利です.文書全体にも,一部の範囲にも指定できます.

\usepackage{setspace}

\onehalfspacing

\begin{spacing}{1.2}
この範囲だけ行間を変えます.
\end{spacing}

行揃え

行揃えには,環境と宣言があります.環境は範囲が明確です.宣言は後ろまで効くため,グループや環境の中で使うと安全です.

行揃え 環境 宣言
左揃え flushleft \raggedright
中央揃え center \centering
右揃え flushright \raggedleft
\begin{center}
中央揃えです.
\end{center}

{\raggedleft
この範囲だけ右揃えです.\par
}

図3: 行の左揃え,中央揃え,右揃え

文字列の調整

文字の位置

LaTeX は,文字や図表をボックスとして配置します.文字列を少し上下に動かす場合は,\raisebox を使います.第 1 引数が移動量で,正の値なら上へ,負の値なら下へ動きます.

A\raisebox{1mm}{上げた文字}B
A\raisebox{-1mm}{下げた文字}B

図4: 文字のボックス

図5: 文字列のボックス

水平方向の空きは \hspace,垂直方向の空きは \vspace で調整できます.ただし,本文の段落全体を調整する目的では,余白や行間の設定を見直す方が自然です.

一部を縦書きにする

pLaTeX や upLaTeX では,\tate を使って一部の文字列を縦書きにできます.横書き本文の中で使う場合は,\hbox や \raisebox と組み合わせて位置を調整します.

Stay hungry.
\raisebox{-10mm}{\hbox{\tate ハングリーであれ.}}
Stay foolish.
\raisebox{0mm}{\hbox{\tate 愚か者であれ.}}

縦書きの扱いはコンパイルエンジンに依存します.文書全体を縦書きにする場合は,本文の一部を手で調整するのではなく,縦書きに対応したクラスやパッケージを使います.

図6: 文字列の一部を縦書きにした例

ページ作成情報

参考資料

  1. LaTeX2e font selection, The LaTeX Project, 2025-09.
  2. Standard Document Classes for LaTeX version 2e, The LaTeX Project, 2025-01-22.
  3. The setspace Package, Geoffrey Tobin, Robin Fairbairns, 2022-12-04.

更新履歴

2007年11月頃 ページの新規作成
2015年10月07日 フォントサイズの指定方法を追加
2026年05月16日 説明を整理し,フォント,行間,段落,行揃え,文字位置の説明を追加


no counter