\hspace によって作成されたスペースはいつ拡張されるのでしょうか?

\hspace によって作成されたスペースはいつ拡張されるのでしょうか?

私は、MM/DD/YYYY 形式の日付を各斜線記号の後で分割できるようにするために、次のパターンを使用しています。

01/\hspace{0pt}/01\hspace{0pt}/2001

私はスラッシュの後に余分なスペースを入れたくありません。スラッシュを改行か何も入れない(MS Wordで適用される「幅なしのオプションの改行」に相当するものだと思います)ようにしたいのです。しかし、テックスシステムでは追加のスペースを挿入できますか? オプションの改行を可能にするために別のパターンを使用する必要がありますか?

日付を次のように入力すると

01/01/2001

レンダリングされた形式が余白を侵害する場合があります。

答え1

周囲のボックスに幅を埋めるのに十分なコンテンツがない場合、任意の量のストレッチを含むスキップ (hspace) は過度にストレッチされます。これは、悪名高い「underfull hbox」警告です。ただし、例のようにストレッチまたは縮小コンポーネントのないスキップは、決してストレッチされません。

とはいえ、ここにスペースを入れたくないので、\hspace副作用として改行を許可するだけに使用するのは最適なマークアップではありません。

01/\linebreak[0]01

0のペナルティを追加して休憩を許可するが、休憩を奨励も阻止もしない、または提供されたマクロを使用する

01\slash 01

これは、明示的なハイフンと同じペナルティを使用します。明示的なハイフンは、(ほとんどのクラスで)そこでの改行を許可しますが、あまり推奨しません。

またはurlパッケージを使用して

 \DeclareUrlCommand\mydate{\urlstyle{relax}}
 \mydate{01/01/2017}

そのパッケージでは改行が許可されているため/relaxフォントの切り替えについては何もしないと書かれています)

答え2

これを試して: 01/\penalty0{}01/\penalty0{}2001

\penalty0簡単に壊れます。

関連情報