diff --git a/requirements.txt b/requirements.txt
index 863188880..864ae915c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
-pretext == 2.24.0
+pretext[prefigure] == 2.36.0
CodeChat-Server == 0.2.25
pelican == 4.11.0
markdown == 3.7.0
diff --git a/source/precalculus/source/meta/graphs.ptx b/source/precalculus/source/meta/graphs.ptx
index ae1fbdfae..fa7503d3a 100644
--- a/source/precalculus/source/meta/graphs.ptx
+++ b/source/precalculus/source/meta/graphs.ptx
@@ -7,29 +7,37 @@
Graph of y=x
-
- plot(x,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,gridlines=True, ticks=[1,1])
-
+
+
+
+
+
Graph of y=x^2
-
- plot(x^2,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,gridlines=True, ticks=[1,1])
-
+
+
+
+
+
Graph of y=x^3
-
- plot(x^3,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,gridlines=True, ticks=[1,1])
-
+
+
+
+
+
Graph of y=x^4
-
- plot(x^4,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,gridlines=True, ticks=[1,1])
-
+
+
+
+
+
@@ -40,42 +48,37 @@
Graph of y=\dfrac{1}{x}
-
- p=plot(1/x,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(0,-5),(0,5)],thickness=3,linestyle='dashed',color='red')
- p+=line([(-5,0),(5,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\dfrac{1}{x^2}
-
- p=plot(1/x^2,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(0,-5),(0,5)],thickness=3,linestyle='dashed',color='red')
- p+=line([(-5,0),(5,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\dfrac{1}{x^3}
-
- p=plot(1/x^3,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(0,-5),(0,5)],thickness=3,linestyle='dashed',color='red')
- p+=line([(-5,0),(5,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\dfrac{1}{x^4}
-
- p=plot(1/x^4,xmin=-5,xmax=-0.1,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,gridlines=True, ticks=[1,1])
- p+=plot(1/x^4,xmin=0.1,xmax=5,ymin=-5,ymax=5,thickness=3)
- p+=line([(0,-5),(0,5)],thickness=3,linestyle='dashed',color='red')
- p+=line([(-5,0),(5,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
@@ -86,17 +89,19 @@
Graph of y=|x|
-
- plot(abs(x),xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
-
+
+
+
+
+
Graph of y=\sqrt{x}
-
- p=plot(sqrt(x),xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p.SHOW_OPTIONS['xmin']=-5
- p
-
+
+
+
+
+
@@ -107,39 +112,37 @@
Graph of y=b^x, with b=2
-
- p=plot(2^x,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(-5,0),(5,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\log_b x, with b=2
-
- p=plot(log(x)/log(2),xmin=0,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(0,-5),(0,5)],thickness=3,linestyle='dashed',color='red')
- p.SHOW_OPTIONS['xmin']=-5
- p
-
+
+
+
+
+
Graph of y=e^x
-
- p=plot(e^x,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(-5,0),(5,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\ln x
-
- p=plot(log(x),xmin=0,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(0,-5),(0,5)],thickness=3,linestyle='dashed',color='red')
- p.SHOW_OPTIONS['xmin']=-5
- p
-
+
+
+
+
+
@@ -150,61 +153,55 @@
Graph of y=\sin(x)
-
-
-TBIL.trig_plot(sin(x),(x,-2*pi,2*pi),ymin=-2*pi,ymax=2*pi,ticks=[pi/2,1],aspect_ratio=1,gridlines=True)
-
+
+
+
+
+
Graph of y=\csc x
-
-
-p=TBIL.trig_plot(csc(x),(x,-2*pi,2*pi),ymin=-2*pi,ymax=2*pi,ticks=[pi/2,1],aspect_ratio=1,gridlines=True,detect_poles=True)
-for i in [-2..2]:
- p+=line([(i*pi,-2*pi),(i*pi,2*pi)],thickness=3,linestyle='dashed',color='red')
-p
-
+
+
+
+
+
Graph of y=\cos x
-
-
-TBIL.trig_plot(cos(x),(x,-2*pi,2*pi),ymin=-2*pi,ymax=2*pi,ticks=[pi/2,1],aspect_ratio=1,gridlines=True)
-
+
+
+
+
+
Graph of y=\sec x
-
-
-p=TBIL.trig_plot(sec(x),(x,-2*pi,2*pi),ymin=-2*pi,ymax=2*pi,ticks=[pi/2,1],aspect_ratio=1,gridlines=True,detect_poles=True)
-for i in [-2..1]:
- p+=line([(i*pi+pi/2,-2*pi),(i*pi+pi/2,2*pi)],thickness=3,linestyle='dashed',color='red')
-p
-
+
+
+
+
+
Graph of y=\tan x
-
-
-p=TBIL.trig_plot(tan(x),(x,-2*pi,2*pi),ymin=-2*pi,ymax=2*pi,ticks=[pi/2,1],aspect_ratio=1,gridlines=True,detect_poles=True)
-for i in [-2..1]:
- p+=line([(i*pi+pi/2,-2*pi),(i*pi+pi/2,2*pi)],thickness=3,linestyle='dashed',color='red')
-p
-
+
+
+
+
+
Graph of y=\cot x
-
-
-p=TBIL.trig_plot(cot(x),(x,-2*pi,2*pi),ymin=-2*pi,ymax=2*pi,ticks=[pi/2,1],aspect_ratio=1,gridlines=True,detect_poles=True)
-for i in [-2..2]:
- p+=line([(i*pi,-2*pi),(i*pi,2*pi)],thickness=3,linestyle='dashed',color='red')
-p
-
+
+
+
+
+
@@ -215,61 +212,55 @@ p
Graph of y=\sin^{-1}(x)
-
- p=plot(arcsin(x),xmin=-1,xmax=1,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p.SHOW_OPTIONS['xmin']=-pi
- p.SHOW_OPTIONS['xmax']=pi
- p
-
+
+
+
+
+
Graph of y=\csc^{-1}(x)
-
- p=plot(arccsc(x),xmin=-pi,xmax=-1,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=plot(arccsc(x),xmin=1,xmax=pi,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=line([(-pi,0),(pi,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\cos^{-1}(x)
-
- p=plot(arccos(x),xmin=-1,xmax=1,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p.SHOW_OPTIONS['xmin']=-pi
- p.SHOW_OPTIONS['xmax']=pi
- p
-
+
+
+
+
+
Graph of y=\sec^{-1}(x)
-
- p=plot(arcsec(x),xmin=-pi,xmax=-1,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=plot(arcsec(x),xmin=1,xmax=pi,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=line([(-pi,pi/2),(pi,pi/2)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\tan^{-1}(x)
-
- p=plot(arctan(x),xmin=-pi,xmax=pi,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=line([(-pi,pi/2),(pi,pi/2)],thickness=3,linestyle='dashed',color='red')
- p+=line([(-pi,-pi/2),(pi,-pi/2)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\cot^{-1}(x)
-
- p=plot(arccot(x),xmin=-pi,xmax=-0.001,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=plot(arccot(x),xmin=0.001,xmax=pi,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=line([(-pi,0),(pi,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
diff --git a/source/precalculus/source/meta/prefigure/graph-absolute.xml b/source/precalculus/source/meta/prefigure/graph-absolute.xml
new file mode 100644
index 000000000..bdc31387b
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-absolute.xml
@@ -0,0 +1,12 @@
+
+ f(x)=fabs(x)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-arccos.xml b/source/precalculus/source/meta/prefigure/graph-arccos.xml
new file mode 100644
index 000000000..93d3b34fe
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-arccos.xml
@@ -0,0 +1,12 @@
+
+ f(x)=acos(x)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-arccot.xml b/source/precalculus/source/meta/prefigure/graph-arccot.xml
new file mode 100644
index 000000000..fb177aa07
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-arccot.xml
@@ -0,0 +1,19 @@
+
+ f(x)=atan(1/x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-arccsc.xml b/source/precalculus/source/meta/prefigure/graph-arccsc.xml
new file mode 100644
index 000000000..28eefac07
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-arccsc.xml
@@ -0,0 +1,16 @@
+
+ f(x)=asin(1/x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-arcsec.xml b/source/precalculus/source/meta/prefigure/graph-arcsec.xml
new file mode 100644
index 000000000..b20813c6f
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-arcsec.xml
@@ -0,0 +1,16 @@
+
+ f(x)=acos(1/x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-arcsin.xml b/source/precalculus/source/meta/prefigure/graph-arcsin.xml
new file mode 100644
index 000000000..3a2807e92
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-arcsin.xml
@@ -0,0 +1,12 @@
+
+ f(x)=asin(x)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-arctan.xml b/source/precalculus/source/meta/prefigure/graph-arctan.xml
new file mode 100644
index 000000000..2cc07ff61
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-arctan.xml
@@ -0,0 +1,18 @@
+
+ f(x)=atan(x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-cos.xml b/source/precalculus/source/meta/prefigure/graph-cos.xml
new file mode 100644
index 000000000..089d047c9
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-cos.xml
@@ -0,0 +1,12 @@
+
+ f(x)=cos(x)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-cot.xml b/source/precalculus/source/meta/prefigure/graph-cot.xml
new file mode 100644
index 000000000..0c18fd78e
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-cot.xml
@@ -0,0 +1,24 @@
+
+ f(x)=1/tan(x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-csc.xml b/source/precalculus/source/meta/prefigure/graph-csc.xml
new file mode 100644
index 000000000..e96206eb1
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-csc.xml
@@ -0,0 +1,24 @@
+
+ f(x)=1/sin(x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-exponential.xml b/source/precalculus/source/meta/prefigure/graph-exponential.xml
new file mode 100644
index 000000000..2349a2ce2
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-exponential.xml
@@ -0,0 +1,16 @@
+
+ f(x)=2^x
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-exponentiale.xml b/source/precalculus/source/meta/prefigure/graph-exponentiale.xml
new file mode 100644
index 000000000..7ab95850f
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-exponentiale.xml
@@ -0,0 +1,16 @@
+
+ f(x)=e^x
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-logarithm-natural.xml b/source/precalculus/source/meta/prefigure/graph-logarithm-natural.xml
new file mode 100644
index 000000000..9f7b5e044
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-logarithm-natural.xml
@@ -0,0 +1,16 @@
+
+ f(x)=log(x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-logarithm.xml b/source/precalculus/source/meta/prefigure/graph-logarithm.xml
new file mode 100644
index 000000000..e4b8a9c6c
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-logarithm.xml
@@ -0,0 +1,16 @@
+
+ f(x)=log(x)/log(2)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-sec.xml b/source/precalculus/source/meta/prefigure/graph-sec.xml
new file mode 100644
index 000000000..a51d4ec05
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-sec.xml
@@ -0,0 +1,22 @@
+
+ f(x)=1/cos(x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-sin.xml b/source/precalculus/source/meta/prefigure/graph-sin.xml
new file mode 100644
index 000000000..ce17bb23f
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-sin.xml
@@ -0,0 +1,12 @@
+
+ f(x)=sin(x)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-square-root.xml b/source/precalculus/source/meta/prefigure/graph-square-root.xml
new file mode 100644
index 000000000..dd96c3150
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-square-root.xml
@@ -0,0 +1,12 @@
+
+ f(x)=sqrt(x)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-tan.xml b/source/precalculus/source/meta/prefigure/graph-tan.xml
new file mode 100644
index 000000000..734b370fb
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-tan.xml
@@ -0,0 +1,22 @@
+
+ f(x)=tan(x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx-minus1.xml b/source/precalculus/source/meta/prefigure/graphx-minus1.xml
new file mode 100644
index 000000000..c10169525
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx-minus1.xml
@@ -0,0 +1,18 @@
+
+ f(x)=x^(-1)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx-minus2.xml b/source/precalculus/source/meta/prefigure/graphx-minus2.xml
new file mode 100644
index 000000000..bfe239545
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx-minus2.xml
@@ -0,0 +1,18 @@
+
+ f(x)=x^(-2)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx-minus3.xml b/source/precalculus/source/meta/prefigure/graphx-minus3.xml
new file mode 100644
index 000000000..3fc4b893d
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx-minus3.xml
@@ -0,0 +1,18 @@
+
+ f(x)=x^(-3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx-minus4.xml b/source/precalculus/source/meta/prefigure/graphx-minus4.xml
new file mode 100644
index 000000000..651c0f04c
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx-minus4.xml
@@ -0,0 +1,18 @@
+
+ f(x)=x^(-3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx.xml b/source/precalculus/source/meta/prefigure/graphx.xml
new file mode 100644
index 000000000..b1d7308a4
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx.xml
@@ -0,0 +1,12 @@
+
+ f(x)=x
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx2.xml b/source/precalculus/source/meta/prefigure/graphx2.xml
new file mode 100644
index 000000000..074613453
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx2.xml
@@ -0,0 +1,12 @@
+
+ f(x)=x^2
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx3.xml b/source/precalculus/source/meta/prefigure/graphx3.xml
new file mode 100644
index 000000000..0187b56b9
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx3.xml
@@ -0,0 +1,12 @@
+
+ f(x)=x^3
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx4.xml b/source/precalculus/source/meta/prefigure/graphx4.xml
new file mode 100644
index 000000000..95bd0fff8
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx4.xml
@@ -0,0 +1,12 @@
+
+ f(x)=x^3
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file