It's definitely a typo.
Conceptually I prefer looking at them as
a % b = a - trunc(a / b) * b
a %% b = a - floor(a / b) * b
The latter is even used as % in languages such as Python, which further compounds any syntactical confusion. :D
PS: Hopefully those are short enough to not die on mobile