I noticed that in many documents you encounter $f: X \to Y$ instead of $f \colon X \to Y$. Another example are quantified expressions: $\forall x: P (x)$ versus $\forall x \colon P(x)$. I find the \colon visually more pleasing, however I sometimes think I seem to be the only one, given the overwhelming amount of documents that seem to use :. Is there a rule of thumb to decide where you should use either \colon or :?


2 Answers 2


Both : and \colon typeset a colon, but \colon is a punctuation symbol, while : is considered as a relation symbol as regards to spacing.

The main use of : is in set descriptions

\{\, x : x \notin x \,\}

(somebody uses \mid for this, where a simple | would be wrong; thin spaces after \{ and before \} are recommended by Knuth, be consistent in using them or not).

Conversely, \colon should be used for mappings

f\colon A \to B

but unfortunately many writers don't make this distinction and use :, getting a wrong spacing.

The rule to follow is just the same: use \colon when it's a "punctuation colon", use : when it represents a relation between what's at its left and at its right. In something like "for all x:" I would consider the colon as punctuation, so \forall x\colon

Note that the amsmath package changes the definition of \colon so that it's not exactly the same as a punctuation symbol:


This adds a bit of space before the colon, which seems more right than with a simple \mathpunct.

  • 9
    And use : for ratios. e.g. $x:y:z = 3:4:5$.
    – Leo Liu
    Dec 10, 2011 at 11:25
  • 11
    @LeoLiu Alternatively, \mathbin{:} could be used. Which one is a matter of personal taste. Most important is consistency across the document.
    – egreg
    Dec 10, 2011 at 11:32
  • 29
    How does one distinguish between "punctuation" and "relation"? The notation f\colon A\to B does denote a relation between f and A\to B, namely the relation "has type". And I don't see in what sense the colon in \{\, x : x\notin x \,\} denotes a "relation" between x and x\notin x. Apr 11, 2012 at 10:29
  • 4
    @MikeShulman It's a matter of conventions; usually the colon for maps is considered as punctuation, the one in set descriptions as a relation symbol. Be coherent in your document.
    – egreg
    Apr 11, 2012 at 12:30
  • 11
    Just for clarity, the usual recommendation to use \, after \{ and before the matching \} is only in case the set involves a set descriptor (with the colon). By contrast, use \{a, b, c\} without the thin spaces in case of an explicit enumeration of elements.
    – murray
    Jun 27, 2012 at 21:00

If you're trying to typeset a variable-has-type colon in type theory, you want {:} or \mathord{:} (they display the same). For example, you'll get a nice looking STLC identity function with $\lambda x {:} A . x$.

See this page for a more general discussion.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.