I have seen LaTeX code that
- puts a ~ between every math expression and the text preceding it,
- does not use ~ in this manner at all, and
- uses a ~ in this way if and only if the math expression is a number (i.e, consists of digits).
I think the first way is not very nice, since it constrains TeX a lot in how it can typeset the rest of the text. I follow the third way, because I vaguely seem to remember reading somewhere that this is how it should be done; but I cannot recollect where, and I don't have any justification for this.
What is the rule to follow here, and what are the typographical/TeX principles behind this rule? It would be great to have references too, to convince obstinate co-authors (if required!).
Similarly, what is the reasoning behind the (almost universally observed) rule that a ~ should precede a \cite{}? Is this documented somewhere?