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

フォント

LaTeX では,ユーザーがフォントの書体やサイズを変更することは好ましくありません.これらは,ドキュメントクラスで決められるべきです.LaTeX のソースに記述すべきことは,文書の論理であって,デザインではないからです.やむを得ない場合を除き,フォントの変更は控えるべきです.とはいえ,ユーザーによるフォントの変更が必要な場合があります.ここでは,サイズと書体の変更方法を示します.

サイズの指定

相対指定

LaTeX 文書の本文のフォントサイズ(normal size)は,プリアンブルのドキュメントクラスで定義します.

\documentclass[サイズ(例:10pt)]{ドキュメントクラス(例:jarticle)}

たとえば,ここで 10 [pt] (注意) を指定すると,それが normal size になります.LaTeX のフォントサイズは,normal size を中心に縮小/拡大されます(参照:表1).ひとつサイズが異なると約1.2倍サイズが異なります.これが相対サイズ設定です.この相対サイズ指定は,理にかなっています.プリアンブルを変えるだけで,全体のフォントがバランスよく変化します.ユーザーが止むを得ずフォントサイズを指定する場合は,この相対指定が望ましい方法です.

フォントサイズの設定
コマンド 表示例 コマンド 表示例
\tiny Latex \tiny \large latex \large
\scriptsize latex \scriptsize \Large latex \Large
\footnotesize latex \footnotesize \LARGE Latex \LARGE
\small Latex \small \huge Latex \huge
\normalsize Latex \normalsize \Huge Latex \Huge

LaTeX のソース中では,二通りのフォントサイズ指定方法があります.

  • 影響の及ぶ範囲を指定する方法.サイズを変更したいテキストを波括弧でくくり,その先頭でフォントサイズ (例: {\Large ここにテキスト}) を指定します.
  • フォントサイズを指定した以降のすべてのテキストに影響を与える方法.ソース中に裸でフォントサイズを記述する(例: \Large)と,それ以降のすべてのテキストのサイズが変わります.

具体例として,LaTeX ソースをリスト1に,その実行結果を図1に示します.

フォントの相対サイズ指定の例

\section{最初のセクション}
ここは,normalsize です.\\
\Large Large です.\\
行が変わって,Large のままです.{\small ここは,small}です.

パラグラフが変わってもサイズは変化しません.large のままです.
%
\section{\small 次のセクション}
セクションが変わってもサイズは変化しません.large のままです.
\normalsize
{\small 一部 small にできます.}中括弧から出ると,normalsize になります.
%
\section{三番目の \Huge セクション}
ここのサイズは normalsize です.
%
\section{四番目の{\small セク}ション}
ここも,normalsize です.
LaTeX フォントサイズを変化させた例
図1: リスト1のコンパイル結果

絶対指定

LaTeX では,フォントサイズの絶対指定も可能です.しかし,これは推奨できる方法ではありません.ユーザーは論理デザインに専念すべきで,フォントサイズ指定のような視覚デザインには手を出さないのが LaTeX の流儀でしょうから.さらに,プリアンブルでのドキュメントクラスのフォントサイズ変更の効果が現れない部分ができてしまいます.

フォントサイズの変更は,次のようにします.

\fontsize{フォントサイズ(例:10pt)}{行送り(例:3pt)}\selectfont

LaTeX ソース中では,相対指定と同じように記述します.

  • 影響の及ぶ範囲を指定する方法.サイズを変更したいテキストを波括弧でくくり,その先頭でフォントサイズ (例: {\fontsize{12pt}{3pt}\selectfont ここにテキスト}) を指定します.
  • フォントサイズを指定した以降のすべてのテキストに影響を与える方法.ソース中に裸でフォントサイズを記述する(例: \fontsize{14pt}{0pt}\selectfont)と,それ以降のすべてのテキストのサイズが変わります.

書体の指定

LaTeX のフォントの書体の構成要素は,型 (shape)とシリーズ (series),ファミリー (family) です.これらは,

書体の型 (shape) の指定
型 (shape) コマンド 宣言 結果
Upright \textup \upshape
Italict \textit \itshape
Slant \textsl \slshape
Samll Caps \textsc \scshape
書体のシリーズ (series) の指定
シリーズ (series) コマンド 宣言 結果
Medium \textmd \mdshape
Boldface \textbf \bfseries
書体のファミリー (family) の指定
ファミリー (family) コマンド 宣言 結果
Roman \textrm \rmfamily
Sans serif \textsf \sffamily
Typewriter \texttt \ttfamily

タイプしたとおりに出力

タイプしたとおりに出力したい場合には,\begin{verbatim}\end{verbatim}(ヴァーベイティム)環境を使うか,\verb命令を使います.まとまった行単位で使う場合にはverbatim環境を,行中の文字列に使う場合には verb 命令を使います.

別行立ての環境(verbatim)

verbatim環境で出力すると,行単位で出力されます.ちょっとしたコンピューターのプログラムのソースコードを書くときに便利です.

世界中で,最も多く作られているC言語のプログラムは「Hello world!」だ.
\begin{verbatim}
#include <stdio.h>

int main(void){

  printf("Hello world!\n");

  return 0;
}
\end{verbatim}
verbatim
verbatim 環境を使っいプログラムリストを出力した例.

普通,そのまま出力できない # < > { } \ " が出力されていることが分かるでしょう.

行内(verba)

任意の文字列をそのまま行内で表示させたい場合には,\verb|任意の文字列| を使います.

ここで,文字「|」を表示するときにはどうするのか?—という疑問が湧くでしょう.この場合には,\verb+a || b+ とすることにより,a || b と表示できます.じつは,\verb の次はどのようなテキストでも使え,そのテキストで囲まれた部分がそのまま出力されます.通常のTeXコマンドのように \verb{hoge} のように中括弧で囲むことができない理由がそこにあります.\verb{hoge{ は,OKです.

行の制御

改行

LaTeX のソース (*.tex) で改行しても,コンパイル後のドキュメント出力は改行されません.改行をするためには,「//」と記述します.

インデント(字下げ)

行頭のインデント(字下げ)を入れたくない場合には,コマンド「\noindent」を使います.このコマンドの次の段落の行頭のインデントが無くなります.その次の段落から普通にインデントされます.したがって,複数の段落のインデントを取り除くためには,その都度「\noindent」を指定しなくてはなりません.

文章全体のインデントを調整することも可能です.プリアンブルに「\setlength\parindent{サイズ(例:10mm)}」と記述します.

左/右/中央揃え

LaTeX では,表5に示す環境と宣言で行の文字列を左/右/中央揃えできます.これらは,文字列に限らず表や図の配置にも使うことができます.

行揃え
行揃え 環境 宣言
左揃え flushleft \raggedright
中央揃え center \centering
右揃え flushright \raggedleft

環境を使う場合,\begin{行揃え}\end{行揃え} のと記述します.この場合,影響の及ぶ範囲はこの環境内にとどまります.一方,宣言の場合はそれ以降まで影響が続きます.

行の左/中央/右揃え

%============================
\section{環境}
%============================
\begin{flushleft}
 flushright 環境で左揃え\\
 左揃え
\end{flushleft}
%
\begin{center}
 center 環境で右揃え\\
 中央揃え
\end{center}
%
\begin{flushright}
 flushright 環境で右揃え\\
 右揃え
\end{flushright}

ノーマルな状態(左揃え)に戻る.
%
%============================
\section{宣言}
%============================
\raggedright
\verb|\raggedright|環境で左揃え\\
左揃え

\centering 
\verb|\centering|環境で右揃え\\ 
中央揃え

\raggedleft
\verb|\raggedleft|環境で右揃え\\
右揃え

ノーマルな状態(左揃え)に戻らない,右揃えのまま.

\begin{quote}
 \centering
 quote 環境内の行を中央揃えにできます.\\
 これは,この環境内のみ有効です.
\end{quote}

環境の外では,右揃えのままです.
LaTeXの左/中央/右揃え
図2: 行の左/中央/右揃え

文字列の調整

位置の微調整

LaTeX の文書の要素はボックスを使って配置されます.そのボックスを上下に移動させると,文字や文字列を上下を任意に動かすことができます.そのための命令は「\raisebox{リフト}[高さ][深さ]{文字 or 文字列}」です.リフトを指定するとボックスを上下することができます.負の値 (例: -1.2ex, -2mm) の場合,ボックスは下がります.即ち文字 or 文字列を下げることができます.高さで,サイズを変更することもできます.

図3: 文字の box 特性

図4: 文字列の box 特性

文字列を縦書きに

一部の文字列を縦書きにすることができます.例えば,

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

とすると,図5が得られます.

ここでは,「\raisebox[raise_len]{text}」を使いました.これはLRモードのボックスを作成します.raise_len はベースラインを基準にして,ボックスを上げる寸法指定です.負の値を指定すると,ボックスは下がります.

図5: 一部を縦書き

ページ作成情報

参考資料

  1. 文書処理システム LaTeX 2ε」は LaTeX を作成した レスリー・ランポートが書いています.分かりやすくて良いです.
    文書処理システムLATEX2ε   文書処理システム LaTeX 2ε
    レスリー・ランポート Leslie Lamport

    ピアソンエデュケーション 1999-10
    売り上げランキング : 931021

    Amazonで詳しく見る
    by G-Tools

更新履歴

2007年11月頃 ページの新規作成
2015年10月07日 フォントサイズの指定方法追加.


no counter