On Mon, 28 Nov 2011 23:13:01 -0500 "James K. Lowden" <jklow...@schemamania.org> wrote:
> > A quick fix for this would be to simply ignore the footnotes > > when not in the top-level diversion, like so: > > > > T{ > > Annualized Return* > > .if !'\n(.z'' .ig > > .FS > > * (footnote text) > > .FE > > .. > > T} After spending time with the .if statement, I now understand my "fix" to your correct syntax changed the meaning. May I try again? My footnoted table row now looks like this, just as you indicated: T{ Annualized Return\*[*] .if !'\n(.z'' .ig .tm \n(.z .FS Compounded Annualized Return .FE T} abc but whenever the conditional expression is true, I get errors: $ make groff -ms -t -G -p -T dvi -P-l t.ms > t.dvi <standard input>:9: zero field width <standard input>:9: warning: can't find character with input code 3 <standard input>:9: zero field width <standard input>:19: zero field width <standard input>:19: zero field width <standard input>:26: zero field width <standard input>:26: zero field width :0: macro error: diversion open while ejecting page (recovering) I get the same errors with .if o .ig and .if !e .ig and with .if !'\n(.z'' foo "foo" appears in the output. The condition is evaluating correctly, but .ig appears to make the ms .FS macro unhappy. Is there an option in groff similar to the C preprocessor to apply the macros and output the resulting troff? If we could see the interaction of the .ig with .FS, perhaps the "zero field width" message would be more meaningful. --jkl