summaryrefslogtreecommitdiff
path: root/editors/TeXmacs/files/texmacs-maxima-5.10.0.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'editors/TeXmacs/files/texmacs-maxima-5.10.0.lisp')
-rw-r--r--editors/TeXmacs/files/texmacs-maxima-5.10.0.lisp150
1 files changed, 0 insertions, 150 deletions
diff --git a/editors/TeXmacs/files/texmacs-maxima-5.10.0.lisp b/editors/TeXmacs/files/texmacs-maxima-5.10.0.lisp
deleted file mode 100644
index f980cff0207..00000000000
--- a/editors/TeXmacs/files/texmacs-maxima-5.10.0.lisp
+++ /dev/null
@@ -1,150 +0,0 @@
-; $NetBSD: texmacs-maxima-5.10.0.lisp,v 1.1 2006/10/23 09:42:23 drochner Exp $
-
-(in-package :maxima)
-#+clisp (defvar *old-suppress-check-redefinition*
- custom:*suppress-check-redefinition*)
-#+clisp (setf custom:*suppress-check-redefinition* t)
-(setf *alt-display2d* 'texmacs)
-(setf *prompt-prefix* "channel:promptlatex:\\red ")
-(setf *prompt-suffix* "\\black")
-;(setf *general-display-prefix* "verbatim:")
-(setf *maxima-prolog* "verbatim:")
-(setf *maxima-epilog* "latex:\\red The end\\black")
-#-gcl(setf *debug-io* (make-two-way-stream *standard-input* *standard-output*))
-#+(or cmu sbcl scl)
-(setf *terminal-io* (make-two-way-stream *standard-input* *standard-output*))
-
-;; Small changes to mactex.lisp for interfacing with TeXmacs
-;; Andrey Grozin, 2001-2005
-
-(defun main-prompt ()
- (format () "~A(~A~D) ~A" *prompt-prefix*
- (tex-stripdollar $inchar) $linenum *prompt-suffix*))
-
-(declare-top
- (special lop rop ccol $gcprint $inchar)
- (*expr tex-lbp tex-rbp))
-(defconstant texport *standard-output*)
-
-(defun tex-stripdollar (x)
- (let ((s (quote-% (maybe-invert-string-case (symbol-name (stripdollar x))))))
- (if (> (length s) 1)
- (concatenate 'string "\\mathrm{" s "}")
- s)))
-
-(defprop mtimes "\\*" texsym)
-
-(defun texmacs (x)
- (let ((ccol 1))
- (mapc #'myprinc
- (tex x '("latex:$\\displaystyle ") '("$
-") 'mparen 'mparen))))
-
-;; In order to allow cut-and-paste from output to input,
-;; we should output \sin(x), not \sin x.
-
-(map 'list #'(lambda (f) (remprop f 'tex) (remprop f 'tex-rbp))
- '(%sin %cos %tan %cot %sec %csc %sinh %cosh %tanh %coth %asin %acos %atan %exp %log))
-
-(remprop '$pi 'texword)
-(remprop '$gamma 'texword)
-(setf (get '$%i 'texword) "\\mathi")
-(setf (get '$%e 'texword) "\\mathe")
-
-;; Also, we should output f(x)^2, not f^2(x)
-
-(defun tex-mexpt (x l r)
- (let((nc (eq (caar x) 'mncexpt))) ; true if a^^b rather than a^b
- (setq l (if (and (numberp (cadr x)) (numneedsparen (cadr x)))
- (tex (cadr x) (cons "\\left(" l) '("\\right)") lop (caar x))
- (tex (cadr x) l nil lop (caar x)))
- r (if (mmminusp (setq x (nformat (caddr x))))
- ;; the change in base-line makes parens unnecessary
- (if nc
- (tex (cadr x) '("^ {-\\langle ")(cons "\\rangle }" r) 'mparen 'mparen)
- (tex (cadr x) '("^ {- ")(cons " }" r) 'mminus 'mparen))
- (if nc
- (tex x (list "^{\\langle ")(cons "\\rangle}" r) 'mparen 'mparen)
- (if (and (integerp x) (< x 10))
- (tex x (list "^")(cons "" r) 'mparen 'mparen)
- (tex x (list "^{")(cons "}" r) 'mparen 'mparen)))))
- (append l r)))
-
-;; binomial coefficients
-
-(defun tex-choose (x l r)
- `(,@l
- "\\binom{"
- ,@(tex (cadr x) nil nil 'mparen 'mparen)
- "}{"
- ,@(tex (caddr x) nil nil 'mparen 'mparen)
- "}"
- ,@r))
-
-;; Integrals, sums, products
-
-(defun tex-int (x l r)
- (let ((s1 (tex (cadr x) nil nil 'mparen 'mparen)) ;;integrand delims / & d
- (var (tex (caddr x) nil nil 'mparen rop))) ;; variable
- (cond((= (length x) 3)
- (append l `("\\int {" ,@s1 "}{\\;\\mathd\\;" ,@var "}\\big.") r))
- (t ;; presumably length 5
- (let ((low (tex (nth 3 x) nil nil 'mparen 'mparen))
- ;; 1st item is 0
- (hi (tex (nth 4 x) nil nil 'mparen 'mparen)))
- (append l `("\\int_{" ,@low "}^{" ,@hi "}{" ,@s1 "\\;\\mathd\\;" ,@var "}\\big.") r))))))
-
-(defun tex-sum(x l r)
- (let ((op (cond ((eq (caar x) '%sum) "\\sum_{")
- ((eq (caar x) '%product) "\\prod_{")
- ;; extend here
- ))
- ;; gotta be one of those above
- (s1 (tex (cadr x) nil nil 'mparen rop)) ;; summand
- (index ;; "index = lowerlimit"
- (tex `((mequal simp) ,(caddr x),(cadddr x)) nil nil 'mparen 'mparen))
- (toplim (tex (car(cddddr x)) nil nil 'mparen 'mparen)))
- (append l `( ,op ,@index "}^{" ,@toplim "}{" ,@s1 "}\\big.") r)))
-
-(defun tex-lsum(x l r)
- (let ((op (cond ((eq (caar x) '%lsum) "\\sum_{")
- ;; extend here
- ))
- ;; gotta be one of those above
- (s1 (tex (cadr x) nil nil 'mparen rop)) ;; summand
- (index ;; "index = lowerlimit"
- (tex `((min simp) , (caddr x), (cadddr x)) nil nil 'mparen 'mparen)))
- (append l `( ,op ,@index "}}{" ,@s1 "}\\big.") r)))
-
-;; This is a hack for math input of integrals, sums, products
-
-(defmfun $tmint (a b f x) ($integrate f x a b))
-
-(defmspec $tmsum (l) (setq l (cdr l))
- (if (= (length l) 3)
- (dosum (caddr l) (cadar l) (meval (caddar l)) (meval (cadr l)) t)
- (wna-err '$tmsum)))
-
-(defmspec $tmlsum (l) (setq l (cdr l))
- (or (= (length l) 2) (wna-err '$tmlsum))
- (let ((form (cadr l))
- (ind (cadar l))
- (lis (meval (caddar l)))
- (ans 0))
- (or (symbolp ind) (merror "Second argument not a variable ~M" ind))
- (cond (($listp lis)
- (loop for v in (cdr lis)
- with lind = (cons ind nil)
- for w = (cons v nil)
- do
- (setq ans (add* ans (mbinding (lind w) (meval form)))))
- ans)
- (t `((%lsum) ,form ,ind ,lis)))))
-
-(defmspec $tmprod (l) (setq l (cdr l))
- (if (= (length l) 3)
- (dosum (caddr l) (cadar l) (meval (caddar l)) (meval (cadr l)) nil)
- (wna-err '$tmprod)))
-
-#+clisp (setf custom:*suppress-check-redefinition*
- *old-suppress-check-redefinition*)