[NTG-context] mkiv digits/units zero padding not working

Wolfgang Schuster wolfgang.schuster.lists at gmail.com
Thu May 7 20:00:13 CEST 2020


Benjamin Buchmuller schrieb am 07.05.2020 um 19:41:
> Hi Wolfang,
> 
> Thank you for your reply. I have indeed not explained my intended result very clearly.
> 
> 1.
> 
> Primarily, I need to get the two values aligned at the digit separator of the first and second number respectively and overall at the ± sign. I’m working in an xtable, where I have entries such as
> 
> \startxcell \mpm{14.0==}{_1.5==} \stopxcell
> \startxcell \mpm{_0.034}{_0.013} \stopxcell
> 
> and defined
> 
> \def\mpm#1#2{
> 	\ifsecondargument
> 	\digits{#1}\,±\,\digits{#2}%
> 	\else
> 	\digits{#1}%
> 	\fi
> }

Is there something missing in here because the \ifsecondargument check 
here makes non sense because the second argument is mandatory and not 
optional.

Is this what you want?

\define[2]\mpm
   {\digits{#1}%
    \doifsomething{#2}{\,±\,\digits{#2}}}

> Since I was hoping that I could exploit the zeropadding of \digits to get the format right. Indeed, it would save a lot of typing, if I wouldn’t have to specify the padding manually and I vaguely recall that there is somewhere a ConTeXt solution that can make such alignments, but I simply can’t find it any more …

You can align number on the decimal point (comma) but this works only 
when you have only one number in a cell.

\starttext

\startxtable[aligncharacter=yes,alignmentcharacter=±]
     \startxrow
         \startxcell
             \digits {14.0} ± \digits {1.5}
         \stopxcell
     \stopxrow
     \startxrow
         \startxcell
             \digits {0.034} ± \digits {0.013}
         \stopxcell
     \stopxrow
\stopxtable

\stoptext

> 2. + 3.
> 
> Absolutely right, this is my bad. I have badly mixed from Hans’ solution to a similar problem,
> 
> https://www.mail-archive.com/ntg-context@ntg.nl/msg00724.html
> 
> which was actually \def\zeroamount{-} and the example in the source, I didn’t read properly. Just skip that part. :)

The message is from 2003!

> 4.
> 
> Indeed,
> 
> \startxcell \mpm{14.==}{_1.5=} \stopxcell
> \startxcell \mpm{_0.03}{_0.01} \stopxcell
> 
> aligns properly. But sometimes, I have the first digit specified, but not the second and unfortunately this doesn’t work
> 
> \startxcell \mpm{14.5=}{_1.5=} \stopxcell
> \startxcell \mpm{_0.03}{_0.01} \stopxcell
> 
> because = is not immediately preceded by .

Can you write another mail with a request for this.

Wolfgang


More information about the ntg-context mailing list