F diff --git a/g.tmac b/g.tmac --- a/g.tmac +++ b/g.tmac.pn 0\#########################################################################+ .nr title_size_increase 2+ \#########################################################################.nr paragraph_indentation 2.3+ \#########################################################################.nr heading_current_number 1- .nr footnote_current_number 0- .nr footnote_vertical_spacing 5- \# font size- .nr footnote_point_size_reduction 3- \# default heading style.ds heading_style DIGIT\#########################################################################+ .nr footnote_current_number 0+ .nr footnote_point_size_reduction 1+ .nr footnote_vertical_spacing_reduction 1+ .nr footnote_space_between_line_and_first_footnote 0.2+ \#########################################################################.ds show_header yes.ds show_footer yes\#########################################################################\#########################################################################.nr indentation_is_by_how_much 4u\#########################################################################+ .nr list_padding 0.2+ \#########################################################################\#########################################################################\#########################################################################\#########################################################################.de place_header_trap.wh 0 paste_header..+ .de place_footnote_trap+ .wh -1i paste_footnote+ ..\#########################################################################.de place_ordinary_traps.place_header_trap.place_footer_trap..\#########################################################################+ .de set_footnote_environment.ev footnote_environment- .vs \n[footnote_vertical_spacing]+ .vs -\\n[footnote_vertical_spacing_reduction]+ .ps -\\n[footnote_point_size_reduction].ev+ ..+ .set_footnote_environment\#########################################################################\# IMPORTANT!.place_ordinary_traps.de list.ie '\\$1'end' \{\.nr list_indentation 0+ .br\}.el \{\.nr list_indentation 1+ .br\}+ .sp -0.2..\#########################################################################.de item.de title.title_space.ce 9999- .ps +2- .ps -2+ .ps +\\n[title_size_increase]\f[B] \\$1 \f[]+ .ps -\\n[title_size_increase].sp 1.ce 0.ds title_string \\$1\#########################################################################.de footnote.ie '\\$1'end' \{\- .ps +\\n[footnote_point_size_reduction].br.boxa+ .ev.if !d there_is_a_footnote \{\- .wh -1i paste_footnote.ds there_is_a_footnote "yes"+ .place_footnote_trap\}\}.el \{\.nr footnote_current_number +1- [\\n[footnote_current_number]]+ [\\n[footnote_current_number]]+ .ev footnote_environment.boxa footnote_text-- .br- .ps -\\n[footnote_point_size_reduction]- .- [\\n[footnote_current_number]]+ [\\n[footnote_current_number]]\}..\#########################################################################.de paste_footnote\# divert possible unfinished line.di footnote_text_unfinished_text_hold-.br.di.if d footnote_text \{\\# separator- .ev footnote_environment\l'1i'+ .sp \\n[footnote_space_between_line_and_first_footnote].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-+ .br.rm footnote_text_hold.rm footer_start_flag- .ev.di+ .paste_footer\}.el \{\.rm footnote_text- .ev+ .rm there_is_a_footnote.bp\}\}.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 \{\+ .di footnote_text_unfinished_text_hold+ .br+ .di.paste_footer\}..\#########################################################################.de paste_footer+ .ev footer_environment.ce 1- \\n[.pn] -.ce 0.bp.footnote_text_unfinished_text_hold.rm footnote_text_unfinished_text_hold+ .ev..\#########################################################################.de header.de paste_header.if !(\\n[.pn]=1) \{\.if '\\*[show_header]'yes' \{\+ .ev header_env.sp \\n[header_text_from_top_spacing].ad l\\*[header_left].sp \\n[header_line_from_text_spacing].draw_full_page_horisontal_line.sp \\n[header_real_text_from_line_spacing]+ .ev\}\}...el .ad c..\#########################################################################+ .de code+ .ie '\\$1'end' \{\+ \f[]+ .verbatim end+ \}+ .el \{\+ .verbatim+ \f[B]+ \}+ ..+ \#########################################################################.als newpage bp.als newline br.ig