1 | ;; JACAL: Symbolic Mathematics System. -*-scheme-*- |
---|
2 | ;; Copyright (C) 1989, 1990, 1991, 1992, 1993, 1995, 1997, 2007, 2009, 2010 Aubrey Jaffer. |
---|
3 | ;; |
---|
4 | ;; This program is free software; you can redistribute it and/or modify |
---|
5 | ;; it under the terms of the GNU General Public License as published by |
---|
6 | ;; the Free Software Foundation, either version 3 of the License, or (at |
---|
7 | ;; your option) any later version. |
---|
8 | ;; |
---|
9 | ;; This program is distributed in the hope that it will be useful, but |
---|
10 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
11 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
---|
12 | ;; General Public License for more details. |
---|
13 | ;; |
---|
14 | ;; You should have received a copy of the GNU General Public License |
---|
15 | ;; along with this program; if not, write to the Free Software |
---|
16 | ;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
---|
17 | |
---|
18 | ;;;; Here are the templates for 2 dimensional output |
---|
19 | |
---|
20 | (define tps:2d |
---|
21 | '( |
---|
22 | (template:default 140 #d0140 "(" #d1010 #(rest ", " #d2010) ")") |
---|
23 | (template:bunch 140 "[" #d0010 #(rest ", " break #d1010) "]") |
---|
24 | (template:matrix 140 (#\[) (#\ ) #d0010 #(rest " " #d1010) (#\ ) (#\])) |
---|
25 | (template:parenthesis 200 "(" #d1010 ")") |
---|
26 | (- 100 #d1100 " - " break #d2101 #(rest " - " break #d3101)) |
---|
27 | (negate 100 "- " #d1100) |
---|
28 | (+ 100 #d1100 #(rest " + " break #d2101)) |
---|
29 | (* 120 #d1120 #(rest " " #d2121)) |
---|
30 | (/ 120 #d1120 "/" #d2121) |
---|
31 | (over 120 ((-1 #d1040) |
---|
32 | (0 #\-) |
---|
33 | (1 #d2040))) |
---|
34 | (^ 140 #d1141 ((-1 #d2100))) |
---|
35 | (= 80 #d1080 " = " break #d2080 #(rest " = " break #d3080)) |
---|
36 | (differential 170 #d1170 "'") |
---|
37 | (partial 130 " " ((-1 "%") |
---|
38 | (0 #\-) |
---|
39 | (1 "%" #d2140)) " " #d1140) |
---|
40 | (suchthat 40 "{" #d1190 " | " #d2040 "}") |
---|
41 | (define 200 #d1120 ": " ((0 #d2010))) |
---|
42 | (rapply 200 #d1200 ((1 #d2030 #(rest "," #d3010)))) |
---|
43 | (abs 200 (#\|) #d1010 (#\|)) |
---|
44 | (box 200 ((-1 #\") |
---|
45 | (0 (#\") #d1010 (#\")) |
---|
46 | (1 #\"))) |
---|
47 | (factorial 160 #d1160 "!") |
---|
48 | (integrate 120 ((-3 #(optional #d4090)) |
---|
49 | (-2 "/ ") |
---|
50 | (-1 "! ") |
---|
51 | (0 "! ") |
---|
52 | (1 "! ") |
---|
53 | (2 "/ ") |
---|
54 | (3 #(optional #d3090))) |
---|
55 | #d1090 "d" #d2120) |
---|
56 | (limit 90 ((0 "limit ") |
---|
57 | (1 #d2090 "->" #d3090)) |
---|
58 | #d1090) |
---|
59 | (sum 90 ((-3 #(optional #d4090)) |
---|
60 | (-2 "====") |
---|
61 | (-1 "\\ ") |
---|
62 | (0 " > ") |
---|
63 | (1 "/ ") |
---|
64 | (2 "====") |
---|
65 | (3 #(optional #d2090 #(optional" = " #d3090)))) |
---|
66 | #d1090) |
---|
67 | (prod 90 ((-3 " " #(optional #d4090)) |
---|
68 | (-2 "/===/") |
---|
69 | (-1 " ! ! ") |
---|
70 | (0 " ! ! ") |
---|
71 | (1 " ! ! ") |
---|
72 | (2 #(optional #d2090 #(optional" = " #d3090)))) |
---|
73 | #d1090) |
---|
74 | (at 90 #d1090 |
---|
75 | ((-2 "!") |
---|
76 | (-1 "!") |
---|
77 | (0 "!") |
---|
78 | (1 "!") |
---|
79 | (2 "!")) |
---|
80 | ((2 #d2010 #(rest ", " #d3010)))) |
---|
81 | (help 100 "help;") |
---|
82 | (qed 100 "qed;") |
---|
83 | (% 200 "%") |
---|
84 | (ncmult 110 #d1109 " . " #d2109) |
---|
85 | (^^ 210 #d1211 "^^" #d2210) |
---|
86 | )) |
---|
87 | |
---|
88 | (define tps:c |
---|
89 | '( |
---|
90 | (template:default 140 #d0140 "(" #d1010 #(rest ", " #d2010) ")") |
---|
91 | (template:bunch 140 "{" #d0010 #(rest ", " #d1010) "}") |
---|
92 | (template:parenthesis 200 "(" #d1010 ")") |
---|
93 | (= 80 #d1080 " == " break #d2080 #(rest "==" break #d3080)) |
---|
94 | (- 100 #d1100 " - " break #d2101 #(rest " - " break #d3101)) |
---|
95 | (+ 100 #d1100 #(rest " + " break #d2101)) |
---|
96 | (* 120 #d1120 #(rest " * " #d2121)) |
---|
97 | (negate 90 "- " #d1090) |
---|
98 | (/ 120 #d1120 "/" #d2121) |
---|
99 | (over 120 #d1120 "/" #d2121) |
---|
100 | (^ 140 "pow(" #d1141 ", " #d2100 ")") |
---|
101 | (rapply 200 #d1200 "[" #d2030 #(rest "," #d3010) "]") |
---|
102 | (box 200 ((-1 #\") |
---|
103 | (0 (#\") #d1010 (#\")) |
---|
104 | (1 #\"))) |
---|
105 | (define 200 #d1120 " = " #d2010) |
---|
106 | (set 20 "set " #d1120 " " #d2010) |
---|
107 | (show 20 "show " #d1120) |
---|
108 | )) |
---|
109 | |
---|
110 | (define tps:std |
---|
111 | '( |
---|
112 | (template:default 140 #d0140 "(" #d1010 #(rest ", " #d2010) ")") |
---|
113 | (template:bunch 140 "[" #d0010 #(rest ", " break #d1010) "]") |
---|
114 | (template:parenthesis 200 "(" #d1010 ")") |
---|
115 | (= 80 #d1080 " = " break #d2080 #(rest " = " break #d3080)) |
---|
116 | (- 100 #d1100 " - " break #d2101 #(rest " - " break #d3101)) |
---|
117 | (+ 100 #d1100 #(rest " + " break #d2101)) |
---|
118 | (* 120 #d1120 #(rest " * " #d2121)) |
---|
119 | (negate 90 "- " #d1090) |
---|
120 | (/ 120 #d1120 "/" #d2121) |
---|
121 | (over 120 #d1120 "/" #d2121) |
---|
122 | (^ 140 #d1141 "^" #d2140) |
---|
123 | (differential 170 #d1170 "'") |
---|
124 | (suchthat 40 "{" #d1190 " | " #d2040 "}") |
---|
125 | (rapply 200 #d1200 "[" #d2030 #(rest "," #d3010) "]") |
---|
126 | (box 200 ((-1 #\") |
---|
127 | (0 (#\") #d1010 (#\")) |
---|
128 | (1 #\"))) |
---|
129 | (define 200 #d1120 ": " #d2010) |
---|
130 | (set 20 "set " #d1120 " " #d2010) |
---|
131 | (show 20 "show " #d1120) |
---|
132 | (factorial 160 #d1160 "!") |
---|
133 | (help 100 "help;") |
---|
134 | (qed 100 "qed;") |
---|
135 | (% 200 "%") |
---|
136 | (ncmult 110 #d1109 " . " #d2109) |
---|
137 | (^^ 210 #d1211 "^^" #d2210) |
---|
138 | )) |
---|
139 | (define tps:tex |
---|
140 | '( |
---|
141 | (template:top 0 "$" #d1000 "$") |
---|
142 | (template:default 140 #d0140 "\\left(" #d1010 |
---|
143 | #(rest ", " #d2010) "\\right)") |
---|
144 | (template:bunch 140 "\\left[" #d0010 #(rest ", " break #d1010) "\\right]") |
---|
145 | ;;; (template:matrix 140 "\\left({\matrix{" #d0010 #(rest "&" #d1010) |
---|
146 | ;;; (#\\)(#\c)(#\r) "}}\\right)") |
---|
147 | (template:parenthesis 200 "\\left(" #d1010 "\\right)") |
---|
148 | (= 80 #d1080 " = " break #d2080 #(rest " = " break #d3080)) |
---|
149 | (- 100 #d1100 " - " break #d2101 #(rest " - " break #d3101)) |
---|
150 | (+ 100 #d1100 #(rest " + " break #d2101)) |
---|
151 | (* 120 #d1120 #(rest "\\," #d2121)) |
---|
152 | (negate 90 "- " #d1100) |
---|
153 | (/ 120 #d1120 "/{" break #d2121 "}") |
---|
154 | (over 120 "{" #d1040 "}\\over{" break #d2041 "}") |
---|
155 | (^ 140 #d1141 "^{" #d2100 "}") |
---|
156 | (differential 170 "{" #d1170 "}'") |
---|
157 | (suchthat 40 "\\left\\{ " #d1190 " | " break #d2040 "\\right\\}") |
---|
158 | (rapply 200 #d1200 "\\left[" #d2030 #(rest "," break #d3010) "\\right]") |
---|
159 | (abs 200 "\\left|" #d1010 "\\right|") |
---|
160 | ;;; (box 200 ((-1 #\") |
---|
161 | ;;; (0 (#\") #d1010 (#\")) |
---|
162 | ;;; (1 #\"))) |
---|
163 | (define 200 #d1120 ": " #d2010) |
---|
164 | (set 20 "set " #d1120 " " #d2010) |
---|
165 | (show 20 "show " #d1120) |
---|
166 | (factorial 160 #d1160 "!") |
---|
167 | (help 100 "help;") |
---|
168 | (qed 100 "qed;") |
---|
169 | (% 200 "%") |
---|
170 | )) |
---|