summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGalin Simeonov <gts@volconst.com>2021-05-18 16:08:21 +0300
committerGalin Simeonov <gts@volconst.com>2021-05-19 12:09:03 +0300
commit3203c24437763d54813a5dae01ad73463447699c (patch)
tree29c4452a895b4fa909c47a5c5da7602f54933ed3
parent435a1c73406126a91bcec67b300310e77f5976cc (diff)
downloadmg-3203c24437763d54813a5dae01ad73463447699c.tar.gz
footnote bug fix
-rw-r--r--g.tmac81
1 files 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