さらばvspace

今回は垂直方向の空白について見てみましょう。

垂直方向の空白は、\vspace{寸法}でとることができます。そして、この命令さえ知っていれば後は何とでもなるものです。ということで、これから書くことは二次的なことです。はっきり言って、瑣末的なこだわりです。ええそうですとも。どうでもいいことです。

さて、気を取りなおして先に進みましょう。TeXには、あらかじめ用意された空白の命令がありますので、これを使うと便利かも知れません。


垂直方向の空白 /
\smallskip    \vskip 3pt plus 1pt minus 1pt
\medskip    \vskip 6pt plus 2pt minus 2pt
\bigskip    \vskip 12pt plus 4pt minus 4pt


右に書いたのは、TeXの中での定義です。\vskipはTeXの命令で、LaTeXでの\vspaceにあたります。上にあげた3つの命令は、プラス、マイナスの範囲で長さの変わる空白(伸縮長)であることに注意して下さい。

次に、TeXで処理した文書は通常、段落間に空白があきます。これは、できるだけ版面全体に文章を割り付けようとするためで、適当に可変長の空白が入れられるわけです。文書のフォーマットの都合上などで、このような段落間の空白を空けたくない場合には、プリアンブルで次のように宣言する必要があります。


段落間の空白をなくす /
\setlength{\parskip}{0.0pt}


ちなみに、段落の先頭での字下げの長さは\parindentで決められています。jarticleクラスでは、\parindent = 1zwに定義されています。

1ページの中で、もう1行増やせば、あるいは1行減らせば、ちょうど良い具合に文書が納まるのに・・・ということがあります。そんな場合には、そのページのみ、一時的に版面の高さを変えることができます。


版面の高さの一時的な変更 /
\enlargethispage{\baselineskip}
\enlargethispage{-\baselineskip}


\baselineskipは、行送りの高さのことです。上の例は、それぞれ、版面の高さを1行増やす、減らす、という命令にあたります。

強制的な改行には\par\linebreak\\などがあります。
\linebreakの場合には、ペナルティ(あるいは「強制度」)を指定することができます。何も指定しない場合には強制ということになります。
\\では、\\[寸法]のようにして、行送りを調節することができます。\parと\\の行送り幅の違いをまとめておきましょう。


改行時の行送り幅 /
\par    \baselineskip + \parskip
\\[ x ]    \baselineskip + x


強制的に改ページするための命令には、\newpage\clearpageがあります。両者の違いは2点あります。1つは、二段組の文書で用いた場合です。このとき、\newpageでは新しい段に移るのですが、\clearpageでは新しいページに移ります(つまり、右側の段が空白になることがある)。もう1つは、\clearpageは浮動体の残りを出力しますが、\newpageはそういう動作はしないようです。

最後に、空白の単位について触れておきます。
単位には、pt(ポイント)、cm(センチメートル)、mm(ミリメートル)、in(インチ)などを用いることができます。これらの単位は(当然ですが)絶対的な長さで、文字の大きさには依存しません。

一方、いま使っている文字の大きさに依存した単位があります。
たとえば、zwは現在の状況での和字の横幅、と定義されます。ですから、何ポイントで書いているか、また\largeなどの命令を使っているか、によって実際の長さは変化します。同じように、zhは和字の高さに等しい長さです(※1)。
欧文に対しては、em(エム)とex(エックスハイト)があります。それぞれ、’M’の幅と’x’の高さに「ほぼ」等しいとされています(※2)。おそらく歴史的な背景があるものと思いますが、確かなことは分かりません。もう1つの単位muについては別項でご紹介します。




(※1) ということですので、私は\vspace{2zw}や、\hspace{3zh}といった書き方はあまり好きになれません。や、全然かまわないんですけどね。単純に気分の問題ですね。
(※2) (pLaTeXでなく)LaTeXでコンパイルするときは、zwやzhは使えません。英語の論文を投稿するようなときは、emやexを使うべきです。(2012.3.19 追記)

(2001.8.16)

Back