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