Is sagecommandline
what you are looking for?
I found it by searching the sagetex github repo for "highlighting":
Try this (from the documentation).
\begin{sagecommandline}
sage: 1+1
2
sage: factor(x^2 + 2*x + 1)
(x + 1)^2
\end{sagecommandline}
For function definitions or loops, use the continuation prompt ....:
as follows:
\begin{sagecommandline}
sage: def square(x):
....: return x * x
....:
sage: square(12)
144
sage: first_few_squares = []
sage: for n in range(4):
....: first_few_squares.append(square(n))
....:
sage: first_few_squares
[0, 1, 4, 9]
\end{sagecommandline}
To get rid of the output, change the value of sagecommandlinetextoutput
:
\renewcommand{\sagecommandlinetextoutput}{False}
The documentation of SageTeX and its example file have a lot of information.
One comment in the example file is:
The Sage input and output is typeset using the listings
package with the styles
SageInput
and SageOutput
, respectively. If you don't like the defaults
you can change them.
and there is a recommendation on how to change the defaults if you want to.
Another wonderful feature (which justifies including the sage:
prompt) is
You can include output, but it will be ignored. This is useful for doctesting, as all
the sagecommandline
environment things get put into the _doctest.sage
file.
The SageTeX documentation and example file are worth reading and studying!
If you have Sage installed and if /path/to/sagedir
is the directory
where it is installed, open a terminal and run the following:
SAGE_ROOT='/path/to/sagedir'
cd $SAGE_ROOT/local/share/texmf/tex/latex/sagetex
export TEXINPUTS="$SAGE_ROOT/local/share/texmf//:"
pdflatex example.tex
sage example.sagetex.sage
pdflatex example.tex
open example.pdf
Recap of the various SageTeX commands and environments:
\sage{code}
sageblock
sagesilent
sagecommandline
With the straighforward
lstlistings
, you would get: