Ich habe das folgende Muster verwendet, um zu ermöglichen, dass ein Datum im Format MM/TT/JJJJ nach jedem Schrägstrich umbrochen wird.
01/\hspace{0pt}/01\hspace{0pt}/2001
Ich möchte nie zusätzlichen Platz nach dem Schrägstrich; ich möchte, dass er entweder in einen Zeilenumbruch oder in nichts übersetzt wird (das Äquivalent zu „optionalem Zeilenumbruch ohne Breite“, wie er in MS Word angewendet wird, glaube ich). Aber funktioniert dasTeXSystem das Einfügen von zusätzlichem Leerzeichen zulässt? Sollte ich ein anderes Muster verwenden, um optionale Zeilenumbrüche zuzulassen?
Wenn ich das Datum eingebe als
01/01/2001
es gibt Fälle, in denen die wiedergegebene Form den Rand verletzt.
Antwort1
Ein Skip (hspace) mit beliebiger Dehnung wird überdehnt, wenn die umgebende Box nicht genügend Inhalt hat, um ihre Breite auszufüllen. Dies ist die berüchtigte „underfull hbox“-Warnung. Ein Skip ohne Dehnungs- oder Schrumpfkomponente wie in Ihrem Beispiel wird jedoch nie gedehnt.
Allerdings möchten Sie hier kein Leerzeichen haben, daher \hspace
ist die Verwendung nur zum Zulassen von Zeilenumbrüchen als Nebeneffekt nicht die beste Auszeichnung. Sie könnten verwenden
01/\linebreak[0]01
Dies fügt eine Strafe von 0 hinzu, die eine Unterbrechung erlaubt, aber weder fördert noch verhindert, oder das bereitgestellte Makro verwendet
01\slash 01
Das hat dieselbe Strafe zur Folge wie ein expliziter Bindestrich, der (in den meisten Klassen) einen Trennstrich an dieser Stelle zulässt, aber leicht davon abrät.
Oder Sie nutzen das url
Paket und
\DeclareUrlCommand\mydate{\urlstyle{relax}}
\mydate{01/01/2017}
da dieses Paket Zeilenumbrüche zulässt /
(es relax
sagt nur, dass nichts mit dem Wechseln der Schriftarten zu tun ist)
Antwort2
Versuche dies: 01/\penalty0{}01/\penalty0{}2001
\penalty0
ermöglicht ein leichtes Brechen.