I don't know if I'm missing something obvious in the question...
If your source file defines macro P as stated, why not:
.de P
\\$1 \\$2 \\$3
..
then in the text file:
.P "a b c" "d e" "f g h i"
Whitespace is inserted by the macro between \\$1, \\$2, and \\$3.
This is similar to how it's don
> I want to pass multiple arguments to a macro and each argument may be
> composed of multiple words/characters
> I figured out this works but is there a way without defining individual
> strings
>
> [snip]
Put the arguments in double quotes, like this:
.de P
1 = \\$1
2 = \\$2
3
I want to pass multiple arguments to a macro and each argument may be
composed of multiple words/characters
I figured out this works but is there a way without defining individual
strings
.nf
.de P
\\*[\\$1]
\\*[\\$2]
\\*[\\$3]
..
.
.ds x a b c
.ds y d e
.ds z f g h i
.P x y z
Richard