\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可以輕鬆打破。

相關內容