Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
;; This file:
;;   http://anggtwu.net/MAXIMA/2025-dim-at.lisp.html
;;   http://anggtwu.net/MAXIMA/2025-dim-at.lisp
;;          (find-angg "MAXIMA/2025-dim-at.lisp")
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;;
;; (defun e () (interactive) (find-angg "MAXIMA/2025-dim-at.lisp"))
;; (defun d () (interactive) (find-ebuffer "*sly-db for sbcl<2> (thread 2)*"))
;; (defun m () (interactive) (find-ebuffer "*sly-mrepl for sbcl<2>*"))
;; (defun de () (interactive) (find-2a '(d) '(e)))

;; (find-maximagitgrep "grep --color=auto -niH --null -e displa-def $(cat .files.lisp)")
;; (find-maximagitgrep "grep --color=auto -niH --null -e dim-%at    $(cat .files.lisp)")

;; (find-maximagitfile "src/displa.lisp" "(displa-def %at dim-%at 105. 105.)")
;; (find-maximagitfile "src/displa.lisp" "(defun dim-%at ")
;; (find-maximagitfile "src/displa.lisp" "(return-from dim-%at ")
;; (find-maximagitfile "src/displa.lisp" "(defun dim-%integrate ")
;; (find-maximagitfile "src/displa.lisp" "(defun dimension ")
;; (find-maximagitfile "src/displa.lisp" "(defun dimension-function ")
;; (find-maximagitfile "src/displa.lisp" "(defun displa ")
;; (find-es "lisp" "return-from")
;; (find-es "maxima" "at")
;; (find-es "maxima" "dim-foo-0")

;; «.myo»	(to "myo")
;; «.foo»	(to "foo")

;; «myo»  (to ".myo")
;;
(defvar myo)
(defun myo-get (key) (cadr (assoc key myo)))
;;
(defun dim-%at (form result)
  (prog (exp  eqs (w 0) (h 0) (d 0) at-char)
     (unless (= (length (cdr form)) 2)
       (return-from dim-%at (dimension-function form result)))
     (setq at-char (if (display2d-unicode-enabled) at-char-unicode (car (coerce $absboxchar 'list))))
     (setq exp (dimension (cadr form) result lop '%at nil 0)
	   w width
	   h height
	   d depth)
     (setq eqs (dimension (cond ((not (eq 'mlist (caar (caddr form)))) (caddr form))
				((null (cddr (caddr form))) (cadr (caddr form)))
				(t (cons '(mcomma) (cdaddr form))))
			  nil 'mparen 'mparen nil 0))
     ;;
     ;; (setq myo `((form ,form) (result ,result) (exp ,exp) (eqs ,eqs) (w ,w) (h ,h) (d ,d)))
     ;; (break)
     (setq myo `((n 3) (eqs ,eqs) (result ,result) (width ,width) (height ,height) (depth ,depth)))
     ;;
     (unless (checkfit (+ 1 w width))
       (return (dimension-function form result)))
     (setq result (cons (cons 0 (cons (- 0 1 d) eqs))
			(cons `(d-vbar ,(1+ h) ,(1+ d) ,at-char) exp))
	   width (+ 1 w width)
	   height (1+ h)
	   depth (+ 1 d depth))
     (setq myo `((n 4) (eqs ,eqs) (result ,result) (width ,width) (height ,height) (depth ,depth)))
     ;; (princ `((n 4) (eqs ,eqs) (result ,result) (width ,width) (height ,height) (depth ,depth)))
     (update-heights height depth)
     (setq myo `((n 5) (eqs ,eqs) (result ,result) (width ,width) (height ,height) (depth ,depth)))
     (prin1 myo)
     (terpri)
     (return result)))


#|
* (eepitch-sly)
* (eepitch-kill)
* (eepitch-sly)
*
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
  load("startsly");
  load("2025-dim-at.lisp");
  o : 'at(f(x),x=a);
  untrace();

* (eepitch-sly)
* (sly-connect "localhost" 56789)
* (eepitch-to-buffer "*sly-mrepl for sbcl<3>*")
  myo
  (myo-get 'result)



* (eepitch-sbcl)
* (eepitch-kill)
* (eepitch-sbcl)
(load "2025-dim-at.lisp")

(update-heights 2 1)
;; ((RESULT ((0 -1 #\a #\  #\= #\  #\x))) (WIDTH 10) (HEIGHT 2) (DEPTH 1))


res("abc");
to_lisp();
  (myo-get 'result)
  (myo-get 'newresult)
  (myo-get 'form)
  (coerce "abc" 'list)
  ($print #$res()$)
  (to-maxima)


** (find-lisptree "lisptree.mac")
load  ("~/lisptree/lisptree.mac");

o : 'at(f(x),x=a);
format0(o);

to_lisp();
  (myo-get 'result)
  (to-maxima)

|#




;; «foo»  (to ".foo")

(defvar myr)
(displa-def $foo dim-$foo)
(defun dim-$foo (form result) (declare (ignorable form result)) (reverse myr))
(defun print-$foo () (prin1 myr) (terpri) ($print #$foo()$) "")
(defmacro print-foo (result &rest rest) `(progn ,@rest (setq myr ,result) (print-$foo)))
;; (defmacro print-oof (result &rest rest) `(print-foo (reverse ,result) ,@rest))
(defun s  (str) (coerce str 'list))
(defun sr (str) (reverse (coerce str 'list)))
(defun abc () (s "abc"))
(defun def () (s "def"))

#|
* (eepitch-sly)
* (eepitch-kill)
* (eepitch-sly)
*
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
  load("startsly");
  load("2025-dim-at.lisp");
*
* (sly-connect "localhost" 56789)
* (eepitch-sly)
  (load "2025-dim-at.lisp")
  (let ((myr (abc))) (print-$foo))
  (print-foo (abc))
  (print-foo `(,@(abc) (2 0) ,@(def)))
  (print-foo `(,@(abc) (2 1) ,@(def)))
  (print-foo `(,@(abc) (2 2) ,@(def)))
  (print-foo `(,@(abc) (d-vbar 1 0 #\│) ,@(def)))
  (print-foo `(,@(abc) (d-vbar 2 0 #\│) ,@(def)) (princ 42))
  (let ((break nil))
  (print-foo (myr1))
  (print-foo (myr1) (update-heights 2 1))
  (print-foo (reverse (myr1)) (update-heights 2 1))
  (print-foo (reverse (myr1)))
  )

  (let ((break t))
  (print-foo `(,@(abc) (d-vbar 2 1 #\│) ,@(def) ,@(s "ghi")))
  )

  (defvar plaft)
  plaft

  (print-$foo)

|#




(defun my-result ()
  `(;; ,@(s "(%o5) ")
    ;; (0 0)
    ,@(s "f(x)")
    (D-VBAR 2 1 #\BOX_DRAWINGS_LIGHT_VERTICAL)
    (0 -1 ,@(sr "x = a"))
    (-5 1 ,@(sr "x = b"))))

(defun dim-$foo (form result)
  (declare (ignorable form result))
  (update-heights 2 1)
  ;; (my-result)
  ;; (reverse (my-result))
  (dimension-function form (reverse (my-result)))
  )

;; (dimension-function form this)))



;; (defun height+ (n) (setq 

;; height+
;; depth+
;; width+
;; (show: height depth)
;; s






#|



Hi list,




 (declare (ignorable form result)) (reverse myr))


  (defun dim-$foo (form result) (declare (ignorable form result)) (reverse myr))
(defun print-$foo () (prin1 myr) (terpri) ($print #$foo()$) "")
(defmacro print-foo (result &rest rest) `(progn ,@rest (setq myr ,result) (print-$foo)))
;; (defmacro print-oof (result &rest rest) `(print-foo (reverse ,result) ,@rest))
(defun abc () (s "abc"))
(defun def () (s "def"))




(load "2025-dim-at.lisp")

|#