F diff --git a/g.tmac b/g.tmac
--- a/g.tmac
+++ b/g.tmac
.ds proof_string Proof
\#########################################################################
.de place_footer_trap
- .wh -3v paste_footer
+ .wh -3v footer_trap_macro
..
\#########################################################################
.de place_header_trap
\#########################################################################
.nr header_text_from_top_spacing 1
.nr header_line_from_text_spacing 0.3
- .nr header_real_text_from_line_spacing 2
+ .nr header_real_text_from_line_spacing 0.3
.nr header_horizontal_line 1
.nr header_horizontal_line_thickness 0.5p
\#########################################################################
[\\n[footnote_current_number]]
.boxa footnote_text
+ .br
.ps -\\n[footnote_point_size_reduction]
.
[\\n[footnote_current_number]]
..
\#########################################################################
.de paste_footnote
- \#just in case we are in a diversion when this hits the trap
- .box
+ \# divert possible unfinished line
+ .di footnote_text_unfinished_text_hold
+
+ .br
+ .di
+ .if d footnote_text \{\
\# separator
.ev footnote_environment
\l'1i'
- .br
+ .ds footnote_start_flag "yes"
.footnote_text
+ .br
.rm footnote_text
+ .rm footnote_start_flag
+ .ie d footer_start_flag \{\
.br
+ .di
+ .di footnote_text
+
+ .footnote_text_hold
+
+ .rm footnote_text_hold
+ .rm footer_start_flag
+ .ev
+ .di
+ \}
+ .el \{\
+ .rm footnote_text
.ev
.bp
+ \}
+ \}
+ ..
+ \#########################################################################
+ .de footer_trap_macro
+ .ie d footnote_start_flag \{\
+ .ds footer_start_flag "yes"
+ .di footnote_text_hold
+ .br
+ .di
+ .ev
+ .paste_footer
+ .ev footnote_environment
+ .di footnote_text_hold
+ .br
+ \}
+ .el \{\
+ .paste_footer
+ \}
..
\#########################################################################
.de paste_footer
- \\n[.pn] -
.ce 0
.bp
+ .footnote_text_unfinished_text_hold
+ .rm footnote_text_unfinished_text_hold
..
\#########################################################################
.de header