diff --git a/.gitignore b/.gitignore
index 44cbf3553c7ddc6b766018e8cbae50be008dcdae..15ff3a15cc03b052c5a73ceb87cd1e31f66d33cb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 main.*
 !main.tex
+filtered_sage.txt
diff --git a/Makefile b/Makefile
index 3e43a12f7fdb55aed314eebfba8987f47cf5974c..ed241ac1fedda9afbc97dba33d0a72dd57d2491d 100644
--- a/Makefile
+++ b/Makefile
@@ -14,6 +14,9 @@ main.sagetex.sout: ${SAGETEXSCRIPT} ${PYPLOTFILES}
 ${SAGETEXSCRIPT}: ${TEXFILES}
 	latexmk -interaction=nonstopmode ${MAINTEXFILE} || echo this shoud fail
 
+filtered_sage.txt: ${MAINTEXFILE} filter_sage.sed
+	./filter_sage.sed ${MAINTEXFILE} > $@
+
 .PHONY: clean
 clean:
 	rm -rf **/__pycache__
diff --git a/filter_sage.sed b/filter_sage.sed
new file mode 100755
index 0000000000000000000000000000000000000000..b152e115f53412196e92700853117e94b3bdb325
--- /dev/null
+++ b/filter_sage.sed
@@ -0,0 +1,7 @@
+#!/usr/bin/sed -f
+
+0,/^\\begin{sagesilent}/d
+/^\\end{sagesilent}/,/^\\begin{sagesilent}/{
+	s;.*\\sage{\(.*\)}.*;\n# RENDERED TO LATEX: \1\n;p
+	d
+}