# A space-separated list of the mjotex files that you use. The path to
# mjotex must be contain in your $TEXINPUTS environment variable.
MJOTEX = mjo-algorithm.tex mjo-arrow.tex mjo-common.tex mjo-cone.tex
-MJOTEX += mjo-convex.tex mjo-font.tex mjo-linear_algebra.tex mjo-misc.tex
-MJOTEX += mjo-proof_by_cases.tex mjo-theorem.tex mjo-theorem-star.tex
-MJOTEX += mjo-topology.tex
+MJOTEX += mjo-convex.tex mjo-font.tex mjo-linear_algebra.tex mjo-listing.tex
+MJOTEX += mjo-misc.tex mjo-proof_by_cases.tex mjo-theorem.tex
+MJOTEX += mjo-theorem-star.tex mjo-topology.tex
# Use kpsewhich (from the kpathsea suite) to find the absolute paths
# of the bibtex/mjotex files listed in in $(BIBS)/$(MJOTEX). The SRCS
--- /dev/null
+%
+% Code listing support, in particular, for the SageMath interactive
+% prompt. You can create a box thingy for displaying code like,
+%
+% \begin{tcblisting}{listing only,
+% colback=codebg,
+% coltext=codefg,
+% listing options={language=sage,style=sage}}
+% sage: x
+% x
+% \end{tcblisting}
+%
+\usepackage{listings}
+\usepackage{tcolorbox}
+
+% Tell tcolorbox to use ``listings'' within the boxes.
+\tcbuselibrary{listings}
+
+% Define the colors that we'll use in our listings.
+\definecolor{codefg}{rgb}{0.9, 0.9, 0.9}
+\definecolor{codebg}{rgb}{0.16, 0.16, 0.16}
+\definecolor{brilliantlavender}{rgb}{0.96, 0.73, 1.0}
+
+% Define a style for interactive sage prompt listings.
+\lstdefinelanguage{sage}{ keywords={sage} }
+\lstdefinestyle{sage}{ keywordstyle=\color{brilliantlavender} }
+\lstset{%
+ basicstyle=\ttfamily\small,
+ columns=fullflexible,
+ keepspaces=true
+}