1
2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3;;
4;; MODULE      : textest.scm
5;; DESCRIPTION : test LaTeX conversion routines
6;; COPYRIGHT   : (C) 2002  Joris van der Hoeven
7;;
8;; This software falls under the GNU general public license version 3 or later.
9;; It comes WITHOUT ANY WARRANTY WHATSOEVER. For details, see the file LICENSE
10;; in the root directory or <http://www.gnu.org/licenses/gpl-3.0.html>.
11;;
12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
13
14(texmacs-module (convert latex textest)
15  (:use
16    (convert tools tmpre) (convert tools output)
17    (convert latex tmtex) (convert latex texout)))
18
19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
20;; TeX output
21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
22
23(define tex-expression
24  '(!document
25    "Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat."
26    (!paragraph
27     "Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat."
28     ((!begin "equation")
29      ((!begin "array" "ccc")
30       (!table
31	(!row "a" "b" "c")
32	(!row "x" "y" "z")
33	(!row "a" "b" "c"))))
34     "Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat.")
35    ((!begin "itemize")
36     (!document
37      (!concat
38       (item)
39       " Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat.")
40      (!concat
41       (item)
42       " Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat. Hallo allemaal laten we eens even kijken hoe het hiermee staat.")))
43    (!concat
44     "The formula "
45     (!math
46      (!concat
47       (frac "1" "2")
48       " + "
49       (frac "1" "3")
50       " + "
51       (frac (sqrt "3") "4")
52       " + "
53       (frac "1" "5")
54       " + "
55       (frac "1" "6")
56       " + "
57       (frac "1" "7")))
58     " is funny no? "
59     "The formula "
60     (!math
61      (!concat
62       (frac "1" (!concat "x" (!sub "2")))
63       " + "
64       (frac "1" "3")
65       " + "
66       (frac "1" "4")
67       " + "
68       (frac "1" "5")
69       " + "
70       (frac "1" "6")
71       " + "
72       (frac "1" "7")))
73     " is funny no? "
74     "The formula "
75     (!math
76      (!concat
77       (frac "1" "2")
78       " + "
79       (frac "1" "3")
80       " + "
81       (frac "1" "4")
82       " + "
83       (frac "1" "5")
84       " + "
85       (frac "1" "6")
86       " + "
87       (frac "1" "7")))
88     " is funny no? "
89     "The formula "
90     (!math
91      (!concat
92       (frac "1" "2")
93       " + "
94       (frac "1" "3")
95       " + "
96       (frac "1" "4")
97       " + "
98       (frac "1" "5")
99       " + "
100       (frac "1" "6")
101       " + "
102       (frac "1" "7")))
103      " is funny no? ")))
104
105(define (test-tex-document)
106  (list '!file
107	tex-expression
108	(list "article" "vdh")
109	"french"
110	"~"))
111
112(define (out)
113  (let ((s (serialize-latex (test-tex-document))))
114    ;;(display s)
115    ;;(display "\n")
116    s))
117
118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
119;; TeX conversion
120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
121
122(define text-document
123  '(document
124     (make-title
125       (concat
126	 (title "Een testje")
127	 (author "Joris van der Hoeven")))
128     (assign
129       "test"
130       (macro "x" "y"
131	 (with "font-size" "1.4" "font-series" "bold"
132	       (concat (arg "y") " and " (arg "x")))))
133     (theorem
134       (document
135	 "Hopsakee"
136	 (equation*
137	   (concat "<alpha>" (rsup "2")
138		   "+<beta>" (rsup "2")
139		   "=<gamma>" (rsup "2")))
140	 "Bla bla bla"
141	 (eqnarray*
142	  (table
143	   (row "a" "=" "b")
144	   (row "c" "=" "d")))
145	 "Bla bla bla"
146	 (equation
147	  (concat
148	   "<Delta>="
149	   (choice
150	    (tformat
151	     (cwith "1" "-1" "1" "2" "cell-halign" "l")
152	     (cwith "1" "-1" "3" "4" "cell-halign" "r")
153	     (table
154	      (row "a" "b" "c" "d")
155	      (row "e" "f" "g" "h"))))))
156	 "Bla bla bla"))
157     (concat
158       "Hopsakee, eens even kijken hoe {#~$dit$~#} er uit ziet. Hopsakee, eens even kijken hoe dit er uit ziet. Hopsakee, eens even kijken hoe dit er uit ziet. "
159       (with "font-series" "bold" "Hopsakee")
160       " "
161       (cite "Joris" "Piet")
162       (vspace "1.5fn"))
163     (example
164       (document
165	 (label "Hallo")
166	 (enumerate-numeric
167           (document
168	     (concat (item) "Eerste punt. " (verbatim "Holala") " en hopsa")
169	       (verbatim
170		 (document
171	           "Hopsakee"
172		   "  hola hop"
173		   "  geintje"))
174	       "En weer verder"
175	       (concat (item* "hop") "Tweede punt.")
176	       (concat (item) "Derde punt.")))))
177     (with "mode" "math"
178       (concat
179	 (big "sum")
180	 (with "mode" "text" "Hallo")
181	 "+"
182	 (wide "a+b" "^")
183	 "+"
184	 (wide "<alpha>" "~")
185	 "+"
186	 (wide (wide "x" "^") "^")
187	 "+12*x+cos x+"
188	 (left "[")
189	 (frac "1" "2")
190	 "+k"
191	 (rsub (sqrt "3"))
192	 (right "]")
193	 "+<alpha>+"
194	 (sqrt "5" "n")
195	 (neg "<less>")
196	 "a+b"
197	 (rsub
198	   (tabular
199	     (table
200	       (row "a" "b")
201	       (row "c" "d"))))
202	 "+c"
203	 (rprime "<dag><dag>")))
204     "Hopsakee"
205     (input "1]" "x := a & b & c")
206     (surround
207       (with "color" "red" "Theorem 1. ")
208         (Box)
209	 "Hopsakee, eens even kijken hoe dit er uit ziet. Hopsakee, eens even kijken hoe dit er uit ziet. Hopsakee, eens even kijken hoe dit er uit ziet.")
210     (float "float" "tbh" (document (big-figure "Test" "Een plaatje.")))
211     "Voor meer informatie, schrijf aan <less>vdhoeven@texmacs.org<gtr>"))
212
213(define (pre)
214  (tmtex-initialize)
215  (tmpre-produce text-document))
216
217(define (tex)
218  (tmtex-initialize)
219  (tmtex (tmpre-produce text-document)))
220
221(tm-define (test)
222  (serialize-latex (texmacs->latex text-document '())))
223