LaTeXはコマンドにしたがって文書の整形や自動組版を行いますが,すべてがユーザの思い通りに出力されるとは限りません.そのような場合は,思い通りの出力を得るために微調整をしなければならないときもあります.ここではそのような出力上のレイアウトを微妙に変えるための高度な空白制御について解説します.基本的な空白制御コマンドについては2.2
を参照してください.
ボックスコマンドとは指定した大きさの箱にL-Rモード(1.5.4)で文書を出力するものです.一般の箱は文字1文字やminipage環境(3.8)などの環境を1つの箱として自動的に大きさが決定されますが,ボックスコマンドを使うことでこれを意図的に操作できます.
\mbox
コマンドは引数にとった文字列の長さの箱を用意し,その中に文字列をL-Rモードで出力します.\mbox
コマンドは単に文字列を出力し,
\fbox
コマンドは文字列の回りに罫線を引きます.
\fbox
コマンドの例を次に示します.
これが
\fbox{\verb+\fbox+コマンド}
の例です.
↓
これが
の例です.
空白を無視してしまう数式モード中で一般の文章を出力する際には\mbox
コマンドを用いるとよい.ただし改行はされない.
\mbox
コマンドは引数の文字列の長さの箱を用意しますが,
\makebox
コマンドは箱の大きさを指定できます.また箱の中での文字列の出力位置を左寄せ(l
)にするか右寄せ(r
)にするかを指定することもできます.出力位置を指定しない場合はセンタリングされます.
\makebox
コマンドの記述例を表に示します.\framebox
コマンドは\makebox
コマンドと同様の機能を持ち,さらに罫線を引きます.
表:
\ makeboxコマンド
記述例 |
出力 |
前\makebox{box command}後 |
前box command後 |
前\makebox[10em]{box command}後 |
前box command後 |
前\makebox[10em][l]{box command}後 |
前box command後 |
前\makebox[10em][r]{box command}後 |
前box command後 |
前\makebox[30pt]{box command}後 |
前box command後 |
前\makebox[30pt][l]{box command}後 |
前box command後 |
前\makebox[30pt][r]{box command}後 |
前box command後 |
前\makebox[0pt]{box command}後 |
前box command後 |
前\makebox[0pt][l]{box command}後 |
前box command後 |
前\makebox[0pt][r]{box command}後 |
前box command後 |
|
指定した箱の大きさが出力する文字列より小さいとその文字列は箱からはみ出します.また大きさを0ptに指定するとまったく大きさのない箱を作ることもできます.
横一杯の空白や縦一杯の空白を作りたいときなどは,今までに説明したコマンドでは空白制御を行うのが困難な場合があります.このようなときに便利なのがfillコマンドです.これはページの本文領域の幅や高さから自動的に適切な大きさの空白を挿入してくれるコマンドです.fillコマンドには次のようなものがあります.\fill
コマンドは制限一杯にまで伸びることのできる長さを示すコマンドです.
コマンド |
機能 |
\hfill |
\hspace{\fill} の省略形で横一杯の空白を作る.文字列を領域右端に出力させたいときに用いる. は行頭では効果がないので,そのような場合には\hspace*{\fill} を用いる. |
\vfill |
\vspace{\fill} の省略形で縦一杯の空白を作る.文字列を領域下端に出力させたいときに用いる.l は領域先頭では効果がないので,そのような場合には\vspace*{\fill} を用いる. |
\dotfill |
領域の横一杯にドットを出力する. |
\hrulefill |
領域の横一杯の横線を引く. |
\leftarrowfill |
領域の横一杯の左向き矢印を出力する. |
\rightarrowfill |
領域の横一杯の右向き矢印を出力する. |
\verb+\hfill+ \hfill\ コマンド
\verb+\hfill+ \hfill\ コマンド \hfill\ の例
\verb+\hfill+ \hfill\hfill\ コマンド \fhill\ の例
↓
\hfill コマンド
\hfill コマンド の例
\hfill コマンド の例
fillコマンドをいくつか並べるとその並べた数の比率で空白が挿入されます.すなわち,この例では1行目では``コマンド''という文字列の左に行一杯の空白が挿入されますが,2行目では``
''と``コマンド''の間および``コマンド''と``の例''の間の空白が1対1の割合で挿入されます.また,3行目では同様に空白が2対1の割合で挿入されています.