On Tue, 14 Mar 2023 15:36:37 +0100
Hans Hagen via ntg-context
Indeed, I would like to make NONE of them case insensitive. But currently, when I register an upper case key (C=coulomb) it messes up the lower case prefix (“cm" gets typeset as C•m). I was expecting the parser to distinguish between the “C” and “c”, but it doesn’t. Is that intended? I added an option and an extra registers but it's up to you to decide hwo to use it (and how to deal with conflicts in definitions).
There should not be conflicts, for, formally, c should be 1/100 C should be Coulomb k should be 1000 K should be Kelvin n should be 10^{-9} N should be Newton m should be meter M should be 10^6 (but m also means 10^{-3}) etc. The problems arise as \unit{} presently accepts Kelvin and kelvin Newton and newton Coulomb and coulomb Watt and watt etc. also, mm could be millimeters, or it could be m•m (m^2). Right now, \unit{1 mm-1} and \unit{1 m m-1} give the same result: inverse millimeters (whereas the second should be m•m^{-1}, also known as radians! ;-) I suggest that it be limited to formal (and well-defined) unit names, respecting casing. I also suggest that unrecognized units either give an error message in stdout and in the log file and show up in the output (as {\tt <K>} to be coherent with other subsystems), rather than to be simply ignored. Alan