Я использовал следующий шаблон, чтобы разрешить разбиение даты в формате ММ/ДД/ГГГГ после каждой косой черты.
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
позволяет легко сломать.