Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
% (find-LATEX "2021pict2e.tex")
% (defun c () (interactive) (find-LATEXsh "lualatex -record 2021pict2e.tex" :end))
% (defun C () (interactive) (find-LATEXSH "lualatex 2021pict2e.tex" "Success!!!"))
% (defun D () (interactive) (find-pdf-page      "~/LATEX/2021pict2e.pdf"))
% (defun d () (interactive) (find-pdftools-page "~/LATEX/2021pict2e.pdf"))
% (defun e () (interactive) (find-LATEX "2021pict2e.tex"))
% (defun l () (interactive) (find-LATEX "2021pict2e.lua"))
% (defun u () (interactive) (find-latex-upload-links "2021pict2e"))
% (defun v () (interactive) (find-2a '(e) '(d)))
% (defun cv () (interactive) (C) (ee-kill-this-buffer) (v) (g))
% (defun d0 () (interactive) (find-ebuffer "2021pict2e.pdf"))
%          (code-eec-LATEX "2021pict2e")
% (find-pdf-page   "~/LATEX/2021pict2e.pdf")
% (find-sh0 "cp -v  ~/LATEX/2021pict2e.pdf /tmp/")
% (find-sh0 "cp -v  ~/LATEX/2021pict2e.pdf /tmp/pen/")
%   file:///home/edrx/LATEX/2021pict2e.pdf
%               file:///tmp/2021pict2e.pdf
%           file:///tmp/pen/2021pict2e.pdf
% http://angg.twu.net/LATEX/2021pict2e.pdf
% (find-LATEX "2019.mk")
% (find-lualatex-links "2021pict2e")

\documentclass[a5paper]{article}
\usepackage[colorlinks,citecolor=DarkRed,urlcolor=DarkRed]{hyperref} % (find-es "tex" "hyperref")
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{pict2e}
\usepackage[x11names,svgnames]{xcolor} % (find-es "tex" "xcolor")
\usepackage{colorweb}                 % (find-es "tex" "colorweb")
%\usepackage{tikz}
%
% (find-dn6 "preamble6.lua" "preamble0")
%\usepackage{proof}   % For derivation trees ("%:" lines)
%\input diagxy        % For 2D diagrams ("%D" lines)
%\xyoption{curve}     % For the ".curve=" feature in 2D diagrams
%
\usepackage{edrx21}               % (find-LATEX "edrx21.sty")
\input edrxaccents.tex            % (find-LATEX "edrxaccents.tex")
\input edrx21chars.tex            % (find-LATEX "edrx21chars.tex")
\input edrxheadfoot.tex           % (find-LATEX "edrxheadfoot.tex")
\input edrxgac2.tex               % (find-LATEX "edrxgac2.tex")
%\input 2017planar-has-defs.tex    % (find-LATEX "2017planar-has-defs.tex")
%
% (find-es "tex" "geometry")
\begin{document}

\catcode`\^^J=10
\directlua{dofile "dednat6load.lua"}  % (find-LATEX "dednat6load.lua")
%
%L dofile "2021pict2e.lua"           -- (find-LATEX "2021pict2e.lua")
%L Pict2e.__index.suffix = "%"
\pu
\def\pictgridstyle{\color{GrayPale}\linethickness{0.3pt}}
\def\pictaxesstyle{\linethickness{0.5pt}}

Some tests for 2021pict2e.lua.

\unitlength=15pt



% (c2m211prp 5 "parabola-complicada")
% (c2m211pra   "parabola-complicada")
% (c2m211prp 24 "dirichlet-incl")
% (c2m211pra    "dirichlet-incl")
% (c2m212somas2p 42 "exercicio-16")
% (c2m212somas2a    "exercicio-16")
% (c2m212somas2p 48 "claramente-integravel")
% (c2m212somas2a    "claramente-integravel")
% (c2m212somas2p 53 "dirichlet")
% (c2m212somas2a    "dirichlet")
% (c2m212tfc1p 5 "exemplo-1")
% (c2m212tfc1a   "exemplo-1")
% (c2m212mt3p 4 "from-piecewise")
% (c2m212mt3a   "from-piecewise")
% (c2m212isp 11 "uma-figura")
% (c2m212isa    "uma-figura")
% (c3m212bezierp 9 "exercicio-3-figs" "senoides")
% (c3m212beziera   "exercicio-3-figs")
% (c3m212dnp 9 "figuras-3D")
% (c3m212dna   "figuras-3D")
% (c3m212mt2p 4 "gabarito" "diags nums 3x3")
% (c3m212mt2a   "gabarito")
% (c3m212mt2p 7 "figura-homogeneas")
% (c3m212mt2a   "figura-homogeneas")


%L f_parabola_preferida = function (x) return 4 - (x-2)^2 end
%L
%L f_parabola_complicada = function (x)
%L     if x <= 4 then return f_parabola_preferida(x) end
%L     if x <  5 then return 5 - x end
%L     if x <  6 then return 7 - x end
%L     if x <  7 then return 3 end
%L     if x == 7 then return 4 end
%L     return 0.5
%L   end
%L f_funcao_complicada = f_parabola_complicada
%L
%L pwi = Piecewisify.new(f_funcao_complicada, seq(0, 4, 0.25), 5, 6, 7)
%L print(pwi:pw(0,8))
%L
%L -- \def\fwithapprs#1{...}
%L --
%L Pict2e.new()
%L   :setbounds(v(0,0), v(8,5))
%L     :grid()
%L     :add("#1")
%L     :axesandticks()
%L     :add(pwi:pw(0,8))
%L   :bepc()
%L   :def("fwithapprs#1")
%L   :output()
\pu

$\fwithapprs{}$

\def\FIG#1{%
  \fwithapprs{%
  \ColorOrange{%
  \expr{pwi:rects(Partition.new(0, 8):splitn(2^#1), "sup", "inf")}
  }}}
\def\FFIG#1{2^{#1} \text{ subintervals:} \;\; \FIG{#1}}

$$\FFIG2$$

$$\FFIG3$$

%L Pict2e.bgat(v(-1,-2), v(3,4), .5):add("#1"):bepc():def("Foo#1"):output()
\pu

$\Foo{} \qquad \Foo{\Line(1,1)(2,2)}$






% %L dofile "edrxtikz.lua"  -- (find-LATEX "edrxtikz.lua")
% %L dofile "edrxpict.lua"  -- (find-LATEX "edrxpict.lua")
% \pu

\GenericWarning{Success:}{Success!!!}  % Used by `M-x cv'

\end{document}

%  __  __       _        
% |  \/  | __ _| | _____ 
% | |\/| |/ _` | |/ / _ \
% | |  | | (_| |   <  __/
% |_|  |_|\__,_|_|\_\___|
%                        
% <make>

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# (find-LATEXfile "2019planar-has-1.mk")
make -f 2019.mk STEM=2021pict2e veryclean
make -f 2019.mk STEM=2021pict2e pdf

% Local Variables:
% coding: utf-8-unix
% ee-tla: "pit"
% End: