[Tex/LaTex] Even numbers of \circ causes weird spacing


I noticed when trying to make a string of 6 \circ symbols that the last one is closer to the one beside it than the rest of them, after playing with it for a while it looks like an even number (greater than 2) of \circ causes this, how can I fix the spacing so it is even?


1 circ: $\circ  $

2 circ: $\circ \circ $

3 circ: $\circ \circ \circ$

4 circ: $\circ \circ \circ \circ$

5 circ: $\circ \circ \circ \circ \circ $

6 circ: $\circ \circ \circ \circ \circ \circ $

7 circ: $\circ \circ \circ \circ \circ \circ \circ $


example rendered

Best Answer

From the TeXbook (page 187, solution on page 326)

Exercise 19.7
B. L. User tried typing ‘\eqno(*)’ and ‘\eqno(**)’, and he was pleased to discover that this produced the equation numbers ‘(∗)’ and ‘(∗∗)’. [He had been a bit worried that they would come out ‘(*)’ and ‘(**)’ instead.] But then a few months later he tried ‘\eqno(***)’ and got a surprise. What was it?

When you type an asterisk in math mode, plain TeX considers * to be a binary operation. In the cases ‘(*)’ and ‘(**)’, the binary operations are converted to type Ord, because they don't appear in a binary context; but the middle asterisk in ‘(***)’ remains of type Bin. So the result was ‘(∗ ∗ ∗)’. To avoid the extra medium spaces, you can type ‘\eqno(*{*}*)’; or you can change \mathcode`*, if you never use * as a binary operation.

It doesn't matter if we're in an equation number (\eqno); the main issue is math mode where the behavior shows. Since \circ is a binary operation symbol just like *, you get the same.

If you want evenly spaced \circ symbols you can use


Even better, define a suitable command:


     {\circ}\prg_replicate:nn { #1 - 1 } { \; {\circ} }










enter image description here

Related Question