\colon vs : in Klassenbegriffen

\colon vs : in Klassenbegriffen

FortsetzenVerwenden von \colon oder : in Formeln?UndSatznotation: \colon vs :werfen wir einen Blick in Knuths TeXbook auf S. 174:

$\{\,x\mid x>5\,\}$    { x | x > 5 }
$\{\,x:x>5\,\}$        { x : x > 5 }

Und auf S. 438 sehen wir:

f : A → B            $f\colon A\rightarrow B$
L(a, b; c: x, y; z)  $L(a,b;c\colon x,y;z)$

Im AMS-Kurzleitfaden für LaTeX heißt es (S. 12): „Der Befehl \colonerzeugt spezielle Abstände zur Verwendung in Konstruktionen wie f\colon A\to Bf : A → B.“

Zusammenfassend empfehlen diese Arbeiten, in { x : x > 5 } und in f : A → B unterschiedliche Befehle für den Doppelpunkt zu verwenden (also unterschiedliche Abstände zu verwenden).

Nehmen wir nun an, dass Sie den Doppelpunkt (mit dem durch den jeweiligen Befehl erzeugten Abstand) als Trennzeichen innerhalb von Klassenbegriffen verwenden (z. B. weil der senkrechte Strich | oder der Punkt ⦁ häufig für andere Zwecke verwendet werden). Rein syntaktisch ist der Begriff „{ x : p }“ eine Variablenbindungskonstruktion: Die geschweiften Klammern sind ein Variablenbinder und der Doppelpunkt ist ein Trennzeichen. Der Begriff gehört formelmäßig zur selben Klasse wie „∀ x ⦁ p“ / „∀ x : p“, wobei der Quantifizierer ein Variablenbinder und der Punkt / Doppelpunkt ein Trennzeichen ist, oder wie „λ x. p“, wobei das kleine Lambda ein Variablenbinder und der Punkt ein Trennzeichen ist. Daher ist es allzu logisch, dass alle diese Begriffe ähnlich gesetzt werden, was Knuths TeXbook widerspricht. Aber das würde meiner Meinung nach die Tradition brechen: Ich habe noch nie einen gleichen Abstand um das Trennzeichen in allen drei Begriffen im selben Text gesehen. Wenn Sie das jetzt immer noch tun,pochenhinsichtlich der Einheitlichkeit, welchen Abstand würden Sie wählen und wie würden Sie diesen umsetzen?

Einige Tests (teilweise bedeutungslos):

\documentclass{article}
\pagestyle{empty}
\usepackage{amssymb}
\begin{document}\noindent
\(\{\,x\in\mathrm{Nat}\mathpunct{:} p\,\}\)\\
\(\forall\, x\in\mathrm{Nat}\mathpunct{:} p\)\\
\(\mathrm{\lambda}\, x\in\mathrm{Nat}\mathpunct{.} p\)\\\\
\(\{\,x\in\mathrm{Nat}\mathrel{:} p\,\}\)\\
\(\forall\, x\in\mathrm{Nat}\mathrel{:} p\)\\
\(\mathrm{\lambda}\, x\in\mathrm{Nat}\mathrel{.} p\)\\\\
\(\{\,x\in\mathrm{Nat}\mathpunct{\colon} p\,\}\)\\
\(\forall\, x\in\mathrm{Nat}\mathpunct{:} p\)\\
\(\mathrm{\lambda}\, x\in\mathrm{Nat}\mathpunct{.} p\)\\\\
\(\{\,x\in\mathrm{Nat}\mathrel{\colon} p\,\}\)\\
\(\forall\, x\in\mathrm{Nat}\mathrel{:} p\)\\
\(\mathrm{\lambda}\, x\in\mathrm{Nat}\mathrel{.} p\)
\end{document}

Ausgabe

verwandte Informationen