I mentioned recently that I’m working on features for `siunitx` v3.1. One area that I’ve now been able to commit is improvements to handling complex values.

In v2, you could give complex values in the normal argument to `\num` or `\SI`. I removed that for v3, and of course that was not entirely popular. Instead, I introduced dedicated commands, `\complexnum` and `\complexqty`. Part of the reason for that was that it makes the implementation of `\num` and `\qty`/`\SI` easier. But the other was that I wanted to address polar form, and that really didn’t look viable if it was mixed in with the normal numerical argument type.

I’ve now committed a change that introduces support for polar form in `siunitx`. So what happens now is if you give a value such as `\num{10:30}`, it’s treated as a magnitude and an angle. The latter has a setting to determine if it’s regarded as being in degrees or radians. The package can then typeset the result in a similar form, using the `\angle` symbol between the two parts. You can also set up to convert between the classical (Cartesian) and polar forms of the value. So hopefully this shows why I wanted to separate out complex numbers: they need special handling, and now they get it.