31

Sometimes the symbol := is used to denote a definition. For example, X:=Y+Z means that X is defined to be Y+Z.

When using LaTeX, can I just use $:=$, or do I need to do something special?

1
  • Do you also know how to add the equal sign with a 'def' above it?
    – Anatoly
    Jan 18 '20 at 15:06
40

Many do, but then the colon isn't correctly centered. Better to use the package mathtools and \coloneqq. See the mathtools documentation for more information.

1
20

Unfortunately, with $:=$, the colon is not centred on the math axis. A solution comes from the mathtools package, which defines \vcentcolon and \coloneqq commands; these lead to two different results, as regards the horizontal spacing between the colon and the equality sign. Compare:

\documentclass{article}

\usepackage[utf8]{inputenc}

\usepackage{mathtools}

\begin{document}

Let  $ a:  = b $

Let  $ a \vcentcolon  = b $

Let  $ a \coloneqq  b $

\end{document} 

enter image description here

The \coloneq(one q!) symbol exists in mathabx, Mnsymbol and fdsymbol (at least). It's named \coloneqqin kpfonts and mdsymbol.

-6

It is not necessary to do anything, LaTeX does it for you.

\documentclass{article}
\begin{document}
Here
\[X:=Y+Z
\]
\end{document}
1
  • 9
    Yes, it does, but incorrectly; in most fonts, the colon is not vertically centred (it sits on the baseline, like a regular . does). This is of course wrong since the = is vertically centred and this assymetry is seriously ugly.
    – yo'
    Aug 1 '14 at 20:49

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