# Correctly typesetting a relation

I'm trying to typeset a relation. The following should read "< equals {...}", just in the same sense as one would use "x = {...}".

\documentclass{article}
\begin{document}
$< = \{(x, y), (y, z)\}$
\end{document}


However, the spacing seems to be off: there is too little spacing left of the =:

Now, I could play around with \, and its friends to try to get the spacing right, but I guess there has to be some clear way that does not involve explicitly modifying the space. I read something along the lines of $<{} = \{...\}$ somewhere, but that results in the space being too wide.

I guess this has been answered here before, but I couldn't find anything...

Use \mathord before the < to indicate that it is a symbol.

$\mathord< = \{(x, y), (y, z)\}$


• Thanks, your answer works just as well -- sometimes it would really be nice if one could accept two answers here :). – rainer Jul 26 '13 at 8:08
• @rainer This one is the correct answer; Jagath's one has better explanations of what's going on, though. No space is inserted between consecutive relation symbols, which are treated like a single one. – egreg Jul 26 '13 at 8:53
• just putting braces around the symbol -- {<} -- will have the effect of making it a \mathord without specifying that explicitly. this was pointed out in a comment on another answer, but i thought it useful to put the information closer to an answer with a good explanation, – barbara beeton Jul 26 '13 at 13:51

The symbols < and = are both relational operators. You can see their definition in fontmath.ltx as given below:

\DeclareMathSymbol{=}{\mathrel}{operators}{"3D}
\DeclareMathSymbol{<}{\mathrel}{letters}{"3C}


They are declared as \mathrel (relational operators). My understanding is that, if they came adjacent, then the space will be closed up. To make < behave like a normal character, it should be treated as \mathalpha. So:

\documentclass{article}
\begin{document}
$\mathalpha{<} = \{(x, y), (y, z)\}$
\end{document}


In the above example, you will get space between < and = symbols.

• The diagnosis is correct, but the cure is wrong: \mathalpha is not the correct command, which is \mathord (or just a pair of braces around <). – egreg Jul 26 '13 at 8:51
• @egreg: I thought of considering < as math alphabet. – Jagath Jul 26 '13 at 9:16
• The normal definition of \mathalpha is \relax; it's actually simply a place holder. Your code works because of the braces around <. – egreg Jul 26 '13 at 9:24

The easiest way to do this is to simply add a thick space \; after <. See the comparison with Jagath and ChrisS' answers:

• Thanks for this, but I was trying to avoid fiddling around with explicit spacing to get what LaTeX deems correct instead of what looks nice to me. – rainer Jul 26 '13 at 9:25
• Adding \; would still leave < considered as a binary relation symbol; if it comes first in a formula, no problem, but if it's not the first object … – egreg Jul 26 '13 at 9:29
• You type the least stuff using \;, that's my point :) – Francis Jul 26 '13 at 9:38