diff options
author | Galin Simeonov <gts@volconst.com> | 2021-05-27 23:15:41 +0300 |
---|---|---|
committer | Galin Simeonov <gts@volconst.com> | 2021-05-28 21:33:46 +0300 |
commit | ee9d3272aa67de912eb1f015b62ba128fbb1a974 (patch) | |
tree | 9dea1426a6d1dccddf213a1cc6e9c8477b3a17cf | |
parent | 543646b651cba4c305f4f06dd655999eb6a13581 (diff) | |
download | mg-ee9d3272aa67de912eb1f015b62ba128fbb1a974.tar.gz |
Footer and footnote fixes
-rw-r--r-- | g.tmac | 157 |
1 files changed, 104 insertions, 53 deletions
@@ -26,7 +26,7 @@ .ds proof_string Proof \######################################################################### .nr header_text_from_top_spacing 1 -.nr header_line_from_text_spacing 0.3 +.nr header_line_from_text_spacing 0 .nr header_real_text_from_line_spacing 1 .nr header_horizontal_line 1 .nr header_horizontal_line_thickness 0.5p @@ -52,15 +52,29 @@ \######################################################################### \######################################################################### \######################################################################### +.de set_footnote_environment +.ev footnote_environment +.vs -\\n[footnote_vertical_spacing_reduction] +.ps -\\n[footnote_point_size_reduction] +.ev +.. +\######################################################################### .de place_footer_trap -.wh -3v footer_trap_macro +.wh -3v breakpage +.wh -2v footer_trap_macro .. \######################################################################### .de place_header_trap .wh 0 paste_header .. -.de place_footnote_trap -.wh -1i paste_footnote +\######################################################################### +.de remove_footer_trap +.wh -3v +.wh -2v +.. +\######################################################################### +.de remove_header_trap +.wh 0 .. \######################################################################### .de place_ordinary_traps @@ -68,23 +82,23 @@ .place_footer_trap .. \######################################################################### -.de set_footnote_environment -.ev footnote_environment -.vs -\\n[footnote_vertical_spacing_reduction] -.ps -\\n[footnote_point_size_reduction] -.ev +.de place_decoration +.place_ordinary_traps .. -.set_footnote_environment \######################################################################### -\# IMPORTANT! -.place_ordinary_traps +.de remove_decoration +.remove_header_trap +.remove_footer_trap +.. \######################################################################### -.de remove_footer_trap -.wh -3v +.de start +.set_footnote_environment +.place_ordinary_traps .. \######################################################################### -.de remove_header_trap -.wh 0 +.de finish +.references +\#.plainpage end .. \######################################################################### .de paragraph @@ -94,16 +108,16 @@ .de list .ie '\\$1'end' \{\ .nr list_indentation 0 -\!.br +.br \} .el \{\ .nr list_indentation 1 -\!.br +.br \} .. \######################################################################### .de item -\!.br +.br \\n[list_indentation]) .nr list_indentation +1 .. @@ -182,9 +196,16 @@ .br .boxa .ev -.if !d there_is_a_footnote \{\ +.ie !d there_is_a_footnote \{\ .ds there_is_a_footnote "yes" -.place_footnote_trap +.nr current_footnote_height 4v +.wh -(\\n[current_footnote_height]u+\\n[dn]u) paste_footnote +.nr current_footnote_height +\\n[dn]u +\} +.el \{ +.wh -\\n[current_footnote_height]u +.wh -(\\n[current_footnote_height]u+\\n[dn]u) paste_footnote +.nr current_footnote_height +\\n[dn]u \} \} .el \{\ @@ -207,7 +228,7 @@ .di footnote_text_unfinished_text_hold .di -.if d footnote_text \{\ +.ie d footnote_text \{\ \# separator \l'1i' .br @@ -216,7 +237,7 @@ .footnote_text .rm footnote_text .rm footnote_start_flag -.ie d footer_start_flag \{\ +.ie dfooter_start_flag \{\ .di .di footnote_text .footnote_text_hold @@ -232,6 +253,13 @@ .bp \} \} +.el \{ +.bp +.footnote_text_unfinished_text_hold +.rm footnote_text_unfinished_text_hold +\} +.wh -\\n[current_footnote_height]u +.rm current_footnote_height .. \######################################################################### .de footer_trap_macro @@ -249,9 +277,7 @@ \######################################################################### .de paste_footer .ev footer_environment -.ce 1 -- \\n[.pn] - -.ce 0 +.tl ''- \\n[.pn] -'' .bp .footnote_text_unfinished_text_hold .rm footnote_text_unfinished_text_hold @@ -290,20 +316,8 @@ .ev header_env .br .sp \n[header_text_from_top_spacing] -.ad l -\\*[header_left] -.br -.sp -1 -.ad c -\\*[header_center] -.br -.sp -1 -.ad r -\\*[header_right] -.br -.sp -1 -.ad l -.br +.tl '\\*[header_left]'\\*[header_center]'\\*[header_right]' +.sp -1v .sp \n[header_line_from_text_spacing] .draw_full_page_horisontal_line .br @@ -401,11 +415,22 @@ \s-\\n[superscript_size_decrease]\v'-0.5v'\h'-0.2v'\\$1\v'+0.5v'\s+\\n[superscript_size_decrease] .. \######################################################################### -.de ][ -.if !dhasreferences \{ -.ds hasreferences yes -.em references +.de references +.if d references_accumulation \{ +.plainpage +.br +.sp \n[space_from_top_to_bibliography_string] +.center +\\*[bibliography_string] +.center end +.br +.sp \n[space_from_bibliography_string_to_references] +.references_accumulation +.br \} +.. +\######################################################################### +.de ][ .boxa references_accumulation .br [\\*[[F]] @@ -420,21 +445,47 @@ .box .. \######################################################################### -.de references +.de titlepage +.ie '\\$1'end' \{ +.place_header_trap .newpage +.place_footer_trap +.pn 1 +\} +.el \{ +.remove_decoration +\} +.. +\######################################################################### +.de plainpage .br -.sp \n[space_from_top_to_bibliography_string] -.center -\\*[bibliography_string] -.center end +.ie '\\$1'end' \{ +.place_header_trap +.place_footer_trap +\} +.el \{ +.remove_header_trap +.newpage +.remove_footer_trap +\} +.. +\######################################################################### +.de breakpage +.di breakpage_diversion .br -.sp \n[space_from_bibliography_string_to_references] -.references_accumulation +.di +.bp +.breakpage_diversion +.. +\######################################################################### +.de newpage +.bp +.. +\######################################################################### +.de newline .br .. \######################################################################### -.als newpage bp -.als newline br .ig .als параграф paragraph .als заглавие title |