Strafe nach Rel, Bin, aber nicht Punct

Strafe nach Rel, Bin, aber nicht Punct

Gibt es im Hinblick auf den Inline-Mathematikmodus einen konzeptionellen oder typografischen Grund dafür, dass TeX nach Atomen des Typs Rel und Bin automatisch eine Strafe vergibt, nach dem Typ Punct jedoch nicht?

Ein Grund, der mir einfällt, ist, dass Sie dadurch die zulässigen Zeilenumbrüche irgendwie bequem steuern können. Vielleicht sollten Sie also lieber i Let $a$, $b$ be numbersstatt of schreiben Let $a,b$ be numbers, da es keinen Grund gibt, den Zeilenumbruch zwischen den Variablen zu vermeiden. Andererseits möchten Sie vielleicht Let $a,b\in Zstatt of schreiben Let $a$, $b\in Z$, da Sie hier möglicherweise Zeilenumbrüche zwischen den Variablen nicht zulassen möchten.

Aber meiner Meinung nach wäre selbst im zweiten Fall ein Zeilenumbruch zwischen $a$und $b$immer noch besser als ein Zeilenumbruch nach \in, daher wäre es wohl sinnvoller, einen positiven Strafpunkt unterhalb von als \relpenaltynach dem Komma einzufügen.

Ein weiteres Beispiel: Ich neige dazu, Abbildungen in der Mathematik wie folgt zu definieren $f\colon A\to B$(ich denke, in diesem Kontext ist es angemessener, den Doppelpunkt als Satzzeichen zu verwenden, statt einer Relation, d. h., ein Leerzeichen darf nur nach dem Doppelpunkt stehen, aber nicht davor). In diesem Beispiel erlaubt TeX einen Zeilenumbruch nach dem \to, aber nicht nach \colon, wo er definitiv angemessener ist.

Die einfachste Lösung für beide Probleme ist wahrscheinlich, die Satzzeichen nur außerhalb des Mathematikmodus zu verwenden und das Makro möglicherweise neu zu definieren, \colonum eine gewisse Strafe einzuschließen. (Weitere Möglichkeiten wurden in einem anderen Thread erörtert.Zeilenumbruch bei , im Inline-Mathematikmodus zulassen?) Trotzdem bin ich sehr daran interessiert, den Grund zu erfahren, warum sich TeX so verhält, da ich möglicherweise etwas Wichtiges übersehe.

EDIT: @egreg hatte in den Kommentaren einen interessanten Punkt zu geordneten Paaren, der jedoch noch besser verdeutlicht, wie unsinnig das Verhalten meiner Meinung nach ist.

Wenn wir also ein geordnetes Paar haben (A,B), wollen wir es sicher nicht unterbrechen. Dies könnte als Argument dafür gesehen werden, Umbrüche nach dem Komma zu verbieten. Aber nun betrachten wir ein Paar (A+B,C). Hier erlaubt TeX den Umbruch nach dem Plus, aber nicht nach dem Komma. Aber ein Umbruch nach dem Plus ergibt noch weniger Sinn als nach dem Komma. Andererseits ist es bei komplizierteren Tupeln wie (A+B,A2 +B2 ,A3 +B3 ), ich denke, es wäre überhaupt nicht schlimm, es nach einem Komma zu trennen, aber definitiv schlimm, es nach einem Plus zu trennen.

Beachten Sie schließlich, dass, wenn Satzzeichen Zeilenumbrüche erlauben, es eine nette Möglichkeit gibt, den Zeilenumbruch im einfachen Paar zu verbieten (A,B), wäre, es in einer Gruppe zu schreiben ${(a,b)}$, die die innere Logik der Formel irgendwie respektiert.

Antwort1

Eine Antwort, wie dieses Verhalten istgemeintist offenbar im TeXbook enthalten (S. 173)

Wenn Sie beispielsweise
$f(x,y) = x^2-y^2 = (x+y)(x-y)$
mitten im Absatz besteht die Möglichkeit, dass TEX nach einem der =-Zeichen (dies wird bevorzugt) oder nach - oder + oder - (im Notfall) umbricht. Aber nach dem Komma wird in keinem Fall ein Umbruch erfolgen – Kommas, nach denen Umbrüche erwünscht sind, sollten nicht zwischen $'s stehen.
Wenn Sie an einer Stelle in der äußeren Ebene einer Formel einen Umbruch zulassen möchten, können Sie \allowbreak sagen. Wenn die Formel beispielsweise
$(x_1,\ldots,x_m,\allowbreak y_1,\ldots,y_n)$
im Text eines Absatzes erscheint, erlaubt TEX die Aufteilung in die beiden Teile '(X1 , ...,Xm ,' und 'j1 , ...,jN )'.

Ich finde das nicht sehr erfreulich, aber ich schätze, ich werde damit klarkommen müssen.


BEARBEITEN: Um das Thema irgendwie abzuschließen und eine erschöpfende Antwort auf meine eigene Frage zu erhalten, möchte ich Ihnen meine Lösung hierfür mitteilen.

Bezüglich des Zeilenumbruchs nach dem Komma definiere ich

\def\ppen{\penalty300 } %punctuation penalty
\let\col=\colon
\def\colon{\col\ppen}

Das heißt, nach jedem \colongibt es eine Strafe \ppender Größenordnung 300. Man kann jetzt \ppenauch an anderen Stellen verwenden, beispielsweise (a,\ppen b+c)beim Setzen von geordneten Paaren.

verwandte Informationen