[NTG-context] \unit parser ignoring case, in some cases.
Alan Braslau
alan.braslau at icloud.com
Tue Mar 14 17:08:31 CET 2023
On Tue, 14 Mar 2023 15:36:37 +0100
Hans Hagen via ntg-context <ntg-context at ntg.nl> wrote:
> > 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
More information about the ntg-context
mailing list