From 3203c24437763d54813a5dae01ad73463447699c Mon Sep 17 00:00:00 2001 From: Galin Simeonov Date: Tue, 18 May 2021 16:08:21 +0300 Subject: footnote bug fix --- g.tmac | 81 +++++++++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 50 insertions(+), 31 deletions(-) diff --git a/g.tmac b/g.tmac index ea68856..3c18261 100644 --- a/g.tmac +++ b/g.tmac @@ -1,14 +1,17 @@ .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 \######################################################################### @@ -29,6 +32,8 @@ \######################################################################### .nr indentation_is_by_how_much 4u \######################################################################### +.nr list_padding 0.2 +\######################################################################### \######################################################################### \######################################################################### \######################################################################### @@ -43,15 +48,22 @@ .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 @@ -71,10 +83,13 @@ .de list .ie '\\$1'end' \{\ .nr list_indentation 0 +.br \} .el \{\ .nr list_indentation 1 +.br \} +.sp -0.2 .. \######################################################################### .de item @@ -127,9 +142,9 @@ .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 @@ -159,56 +174,49 @@ \######################################################################### .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 \} \} @@ -218,26 +226,24 @@ .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 @@ -269,6 +275,7 @@ .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] @@ -286,6 +293,7 @@ .sp \\n[header_line_from_text_spacing] .draw_full_page_horisontal_line .sp \\n[header_real_text_from_line_spacing] +.ev \} \} .. @@ -363,6 +371,17 @@ .el .ad c .. \######################################################################### +.de code +.ie '\\$1'end' \{\ +\f[] +.verbatim end +\} +.el \{\ +.verbatim +\f[B] +\} +.. +\######################################################################### .als newpage bp .als newline br .ig -- cgit v1.2.3