Hi List,

I am trying to improve the spacing produced by the \unit command. I have solved 
three of my four issues by modifying phys-dim.mkxl, but the fourth issue has me 
stumped. Consider this example:

\showmakeup[mathglue] \mathspacingmode=1

 \unit{1.23e5 kg m^2/s^2} + \unit{8.64e5 newton m} = \unit{987,000 joule}

There is no space between the units and the following + or =. The \showmakeup 
reveals that this is the space between a “dim” and a “bin” or a “dim” and a 
“rel”. I am guessing that “dim” refers to a new “dimension” atom class, and it 
appears that the table determining the spacing between atoms does not include 
space between this dimension class and the binary or relation classes. I don’t 
know that this is the problem, but this is my best guess.

If this is the problem, is there a way I can add this space to the necessary 
table? If this is not the problem, I’m open to any other insight or advice.


> On Oct 8, 2022, at 11:59 AM, Gavin <gavinpub...@comcast.net> wrote:
> Hi list,
> I made a small example with all of the issues I am trying to fix for the 
> \units command. The first formula below uses the \unit command, but produces 
> strange spacing. The second formula produces the desired spacing, without 
> using the \unit command.
> \showmakeup[mathglue] %\mathspacingmode=1
> \starttext
> \startformula
> \unit{1.23e5 kg m^2/s^2} + \unit{8.64e5 W s} = \unit{9.87e5 newton m}
> \stopformula
> \startformula
> 1.23\mathord\times10^5\,{\rm kg\mathord\cdot m^2/s^2} + 
> 8.64\mathord\times10^5\,{\rm W\mathord{\cdot}s} = 
> 9.87\mathord\times10^5\,{\rm N\mathord{\cdot}m}
> \stopformula
> \stoptext
> I’m trying to fix four issues:
>  - No space between the number and the following units. Should be a thin 
> space.
>  - No space between the units and the following symbol (+ and = above). 
> Should be appropriate “bin" or “rel" space.
>  - Too much space around the \cdot in the units. Should be treated like an 
> “ord" when used to separate units.
>  - Too much space around the \times in the scientific notation. Should be 
> treated like an "ord" when used in scientific notation. (I'm not sure there 
> is consensus on this.)
> Some of these seemed like things I could fix myself, so I dug into 
> phys-dim.mkxl to see what I could do. The good news is that I didn’t break 
> anything. The bad news is that nothing I did seemed to have any effect – 
> including deleting phys-dim.mkxl entirely! I double checked that I was 
> working on the same installation used for typesetting. Is the code used for 
> \unit now somewhere else?
> These issues only occur in math mode, and \unit handles comma separators 
> correctly, unlike \digit.
> I’d like to get some sort of temporary patch for at least some of these 
> issues, even if I need to write it myself. I use \unit everywhere in physics 
> problems sets for students and in keys that I share other teachers.
> Any guidance is appreciated!
> Gavin
> P.S. I’m working on a more comprehensive test file, but its not ready yet.

If your question is of interest to others as well, please add an entry to the 

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net

Reply via email to