段落間、center環境での行間について

段落間、center環境での行間について

- n k の投稿
返信数: 2
お世話になっております。行間について、いくつかお伺いしたいことがあります。

まず、私は昔から、プリアンブルに
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
と書いて文書を作成していました。このコマンドが、段落間の縦スペースを広げるものであることは分かっています。しかし例えばこれを
\setlength{\parskip}{1ex}
としても文書に変化がありません。恐らくTeXを使い始めたときに、恐らくこのサイトだと思うのですが(http://www27.cs.kobe-u.ac.jp/~masa-n/misc/cmc/j-kiso2001/iabasic/jlshort/node45.html、文字化けしててもう読めません)ここに書かれてたのを特に何も考えずコピペして使っており、それをプリアンブルごとコピペし今まで使っていた、ということになると思います。ということで、このplusとかminusがどういう意味でこう書かれているのかが、よく分からないでいます。ネットでこのコマンドをそのまま検索するといくつもヒットするのですが、このplusやminusが具体的にどういう意味で用いられているのかという情報が発見できませんでした。まずこの
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
というコマンドが、どういう意味のコマンドであるのかを詳しく教えて頂きたい、というのが1つ目の質問になります。

それで、このコマンドにより、改段落時の縦スペースと、center環境などの際の上下の間隔が広がっております。しかし私の希望としては、\parによる段落改行時の縦スペースはもう少し広くしたく、一方center環境などの上下の間隔はもう少し狭くしたいと考えています。この件についてネットで調べると
\abovedisplayskip、\belowdisplayskip、\abovedisplayshortskip、\belowdisplayshortskip
を調整するという情報が出てきます。しかしこれは、(今はあまり使われていないと思われますが)\[ \]や、equation環境の際の上下の間隔を調整するもののようです。私は一行立てで数式や言葉を書く時は、基本的にcenter環境で書いています。なので、先ほど述べたように、\parによる段落改行時の縦スペースはもう少し広くし、center環境などの上下の間隔はもう少し狭くする方法を教えて頂きたいというのが2つ目の質問になります。というか、そもそもこの2つは独立して設定できるものなのでしょうか?確認ですが、center環境などは、「段落」として扱われている、という認識は正しいんでしょうか。

それで、これに付随して、2点お伺いしたいことがあります。

3. \abovedisplayskip、\belowdisplayskipと、\abovedisplayshortskip、\belowdisplayshortskipの違いについて、検索すると情報は出てくるのですが、厳密な情報が見つかりません。具体的に何が違うのか、教えて頂きたいです。
(参考)https://tex.stackexchange.com/questions/30909/abovedisplayskip-vs-abovedisplayshortskip

4. 上に書いたように、私は一行立てで数式や言葉を書く時は、基本的にcenter環境で書いており、特に何も考えず今までずっとそうしてきたのですが、ふと思ったのですが、そういう時は、例えば数式だったらequation環境を使うなどする方が一般的だったりするんでしょうか?

以上長くなりましたが、詳しい方がいらっしゃいましたらご教授頂けますと幸いです。
よろしくお願いいたします。
n k への返信

Re: 段落間、center環境での行間について

- 北見 けん の投稿
長いので、上から読みながら順番に書いてみます。

> 恐らくこのサイトだと思うのですが(http://www27.cs.kobe-u.ac.jp/~masa-n/misc/cmc/j-kiso2001/iabasic/jlshort/node45.html、文字化けしててもう読めません)

FireFox ブラウザで表示メニューから「テキストエンコーディングを修復」選んだら読めました。お使いのブラウザにもそのような機能があると良いですが。

1. plus と minus について。

TeXで扱う空白には、伸び縮みを許さないもの(カーン)と、周囲の状況に応じて伸び縮みを許容するもの(グルー)があります。伸び縮みを許す場合にどこまで許容するのかを規定するのが plus と minus です。伸び縮みが許される場合でも、周囲の状況によって伸び縮みする必要がなければ、その許容分を無視した本来の大きさの空白となります。
\parskip を 1ex plus 0.5ex minus 0.2ex に設定した場合、この段落間の空白を伸び縮みさせなければ紙面の最下部に不格好な空白ができてしまうのでなければ、\parskip が 1ex である場合と同じ結果となります。

2. center環境について

center環境は、前後の段落とは別の独立した段落を中央揃えで組むための環境です。これに対して、別行建てのディスプレイ数式は前後の文章と同じ段落中の文脈に埋め込まれているものの、数式だけを目立つようにしたものです。多くの数式は、center環境ではなく数式として扱われるのが正統的でしょう。「\[ \]や、equation環境」を使うのでよいと思います。

3. \abovedisplayshortskip などについて

上記の通りディスプレイ数式は前後の地の文の間に置かれるので、数式の「直前の行」というものがあるわけです。ディスプレイ数式は地の文から目立たせるために上下に縦方向の空白を少し挟むのですが、「直前の行」が長くて数式のすぐ真上まで覆い被さるような場合と、「直前の行」が短くて数式の上までかからない場合とで、ちょうどよい上下のアキの分量は自ずと異なるでしょう。それぞれの場合に異なるアキ量を設定できるようになっているのが \abovedisplayskip と \abovedisplayshortskip というわけです。お示しの stackexchange の回答にも書かれていたようですが。

4. 数式をcenter環境で書くのは一般的か

上記の 2. にも書きましたが、別行建ての数式を書くのに center環境を使うのはあまりやられていないと思います。equation環境を使うことが多いのではないでしょうか。この掲示板で他の質問をざっと眺めてみれば、みなさんの使用例が見つかるかと思います。
n k への返信

Re: 段落間、center環境での行間について

- Z. R. の投稿
(http://www27.cs.kobe-u.ac.jp/~masa-n/misc/cmc/j-kiso2001/iabasic/jlshort/node45.html、文字化けしててもう読めません)

リンク先の文書は「LaTeX2eへの道」(有名な“The Not So Short Introduction to LaTeX2e”の日本語版)のようです。ほぼ同じ版※の文書(PDF形式)がTeX Liveに収録されていてtexdoc lshortを実行する※と読むことができます。

※バージョン表記はどちらも「Version 1.00, 28 June 2000」です。ただ副題「〇分 LaTeX2e入門」の〇の数値は異なっています(83と94)。
※もしこれで別言語版が開かれるようであれば代わりににtexdoc jlshortを試してください。

残念ながら日本版にはplusminusの説明は載っていません。しかし英語版※には以下の説明が載っています。

※バージョン表記は「Version 6.4, March 09, 2021」。かなり新しいのでXeLaTeXやTikZなどの最近の話題も扱っている。

The plus and minus parts of the length above tell TeX that it can compress and expand the inter-paragraph skip by the amount specified, if this is necessary to properly fit the paragraphs onto the page.

(上記の長さ値のplusおよびminusの部分は「段落をページに適切に配置するために必要であれば指定の長さだけ段落間空きを伸縮できる」ことをTeXに指示している。)