|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
;; This file:
;; http://anggtwu.net/MAXIMA/barematrix1.lisp.html
;; http://anggtwu.net/MAXIMA/barematrix1.lisp
;; (find-angg "MAXIMA/barematrix1.lisp")
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;;
;; This file is loaded by:
;; (find-angg "MAXIMA/barematrix1.mac")
;; It removes some TeX-isms from how "matrix"es and "/"s are TeXed,
;; and makes them more LaTeX-friendly.
;;
;; Compare the defuns below with:
;; (find-maximagitfile "src/mactex.lisp" "(defprop $matrix tex-matrix tex)")
;; (find-maximagitfile "src/mactex.lisp" "(defprop $matrix tex-matrix tex)" "\\ifx")
;; (find-maximagitfile "src/mactex.lisp" "(defun tex-mquotient ")
;; (find-maximagitfile "src/mactex.lisp" "(defun tex-mquotient " "\\over")
;;
;; (defun bl () (interactive) (find-angg "MAXIMA/barematrix1.lisp"))
;; (defun bm () (interactive) (find-angg "MAXIMA/barematrix1.mac"))
;;
;; «.tex-matrix» (to "tex-matrix")
;; «.tex-barematrix» (to "tex-barematrix")
;; «.tex-mquotient» (to "tex-mquotient")
(defprop $matrix tex-matrix tex)
(defprop $barematrix tex-barematrix tex)
;; «tex-matrix» (to ".tex-matrix")
(defun tex-matrix (x l r) ;; matrix looks like ((mmatrix) ((mlist) a b) ...)
(append l `("\\begin{pmatrix}")
(mapcan #'(lambda(y)
(tex-list (cdr y) nil (list "\\cr ") "&"))
(cdr x))
'("\\end{pmatrix}") r))
;; «tex-barematrix» (to ".tex-barematrix")
;; Bonus:
(defun tex-barematrix (x l r)
(append l `("\\begin{matrix}")
(mapcan #'(lambda(y)
(tex-list (cdr y) nil (list "\\cr ") "&"))
(cdr x))
'("\\end{matrix}") r))
;; «tex-mquotient» (to ".tex-mquotient")
(defun tex-mquotient (x l r)
(twoargcheck x)
(setq l (tex (cadr x) (append l '("{\\frac{")) nil 'mparen 'mparen)
;the divide bar groups things
r (tex (caddr x) (list "}{") (append '("}}")r) 'mparen 'mparen))
(append l r))
#|
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
load("barematrix1.lisp");
/* (find-es "maxima" "texput")
*/
|#
;; Local Variables:
;; coding: utf-8-unix
;; End: