Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
/*
 * This file:
 *   http://anggtwu.net/MAXIMA/2024-2-C2-partfrac.mac.html
 *   http://anggtwu.net/MAXIMA/2024-2-C2-partfrac.mac
 *          (find-angg "MAXIMA/2024-2-C2-partfrac.mac")
 * Author: Eduardo Ochs <eduardoochs@gmail.com>
 *
 * (defun e () (interactive) (find-angg "MAXIMA/2024-2-C2-partfrac.mac"))
 * (find-es "maxima" "2024.2-C2-P1")
 * (c2m242p1p 9 "gab-2")
 * (c2m242p1a   "gab-2")
*/

partfrac_all() := (
  [q,r] : divide(fup, fdn, x),
  fup2 : fdn*q + r,
  fdn2 : factor(fdn),

  f1 : fup/fdn,
  f2 : fup2/fdn,
  f3 : (fdn*q)/fdn + r/fdn,
  f4 : (fdn*q)/fdn + r/fdn2,
  f5 : (fdn*q)/fdn + partfrac(r/fdn2, x),

  F1 : 'integrate(f1,x),
  F2 : 'integrate(f5,x),
  F3 :  integrate(f5,x),

  M  : align_eqss([[fup, fup2],
                   [fdn, fdn2],
                   [f1,f2,f3,f4,f5],
                   [F1,F2,F3]
                  ]))$

/*
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
load("2024-2-C2-partfrac.mac");

f   : (x^3 + 6*x^2 - 22*x - 55) / (x^2 + 4*x - 21);
fup : (x^3 + 6*x^2 - 22*x - 55);
fdn :                             (x^2 + 4*x - 21);

partfrac_all()$
M;

** (c2m242vrp1p)
** (c2m242vrp1a)
F : 2/(x+7) + 4/(x-3) - 2 + x;
F : radcan(F);
fup : num(F);
fdn : denom(F);
partfrac_all()$
M;

*/