On Sat, Nov 13, 2021, Ulrich Lauther wrote:
> Is there a trick to make a macro or string return a value?
<snip>
> The only solution I found looks like this:
> 
>         .de Pos END
>         .nr foo (\\n[.d]u-\\[.v]u)*254+1)/72000
>         \\n[foo] mm/10
>         .END
> 
>         .fi
>         position: \n[.d] units,
>         .Pos

.nr foo has an error -- s/b \\n[.v] -- and the u scaling indicators
are superfluous.  Fixed, the macro could be written

  .de Pos
  \R'foo (\\n[.d]-\\n[.v]*254+1)/72000'\\n[foo]mm/10
  ..

which allows you to enter

  position: \n[.d] units, \*[Pos].

-- 
Peter Schaffter
https://www.schaffter.ca

Reply via email to