我一直在使用以下模式來允許在每個斜線之後打破 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
可以輕鬆打破。