From 49046ab042d28e58d48a48cb11d94567e4ec7619 Mon Sep 17 00:00:00 2001 From: Galin Simeonov Date: Fri, 14 May 2021 12:42:13 +0300 Subject: added macros for proofs and theorems --- g.tmac | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/g.tmac b/g.tmac index 496dbfa..36c5f5e 100644 --- a/g.tmac +++ b/g.tmac @@ -1,4 +1,5 @@ .pn 0 +\######################################################################### .nr paragraph_indentation 2.3 .nr heading_current_number 1 .nr footnote_current_number 0 @@ -7,9 +8,19 @@ .nr footnote_point_size_reduction 3 \# default heading style .ds heading_style DIGIT +\######################################################################### .ds show_header yes .ds show_footer yes \######################################################################### +.nr current_problem_number 1 +.ds problem_string Problem +.ds solution_string Solution +\######################################################################### +.nr current_theorem_number 1 +.rm current_theorem_string +.ds theorem_string Theorem +.ds proof_string Proof +\######################################################################### .de place_footer_trap .wh -3v paste_footer .. @@ -138,6 +149,7 @@ .nr footnote_current_number +1 [\\n[footnote_current_number]] .boxa footnote_text + .ps -\\n[footnote_point_size_reduction] . [\\n[footnote_current_number]] @@ -150,6 +162,7 @@ \# separator .ev footnote_environment \l'1i' +.br .footnote_text .rm footnote_text .br @@ -214,6 +227,55 @@ \} .. \######################################################################### +.de problem +.br +\f[B]\\*[problem_string] \\n[current_problem_number]: \f[] +.nr current_problem_number +1 +.br +.. +\######################################################################### +.de solution +.br +\f[B]\\*[solution_string]:\f[] +.br +.. +\######################################################################### +.de mark_problem +.if !'\\$1'' \{\ +.nr \\$1 \\n[current_problem_number]-1 +\} +.. +\######################################################################### +.de theorem +.br +.ie !'\\$1'' \{\ +\f[B] \\*[theorem_string] \\$1: \f[] +.ds current_theorem_string \\$1 +\} +.el \{\ +\f[B] \\*[theorem_string] \\n[current_theorem_number]: \f[] +.nr current_theorem_number +1 +.rm current_theorem_string +\} +.br +.. +\######################################################################### +.de mark_theorem +.if !'\\$1'' \{\ +.ie d current_theorem_string \{\ +.ds \\$1 \\*[current_theorem_string] +\} +.el \{\ +.nr \\$1 \\n[current_theorem_number]-1 +\} +\} +.. +.de proof +.br +\f[B]\\*[proof_string]: \f[] +.br +.. +\######################################################################### .als newpage bp .als newline br \######################################################################### -- cgit v1.2.3