sagetex icon indicating copy to clipboard operation
sagetex copied to clipboard

tcolorbox combined with sageblock?

Open mjungmath opened this issue 3 years ago • 5 comments

Hello there, For my current project I'd like to depict Sage code in fancy Jupyter style. For that, I have already made a tcolorbox listing environment. Now it would be nice to combine that with sageblock in order to reuse the code snippets written in there.

Here is a minimal example:

\documentclass{article}
\usepackage[margin=0.7in]{geometry}
\usepackage[parfill]{parskip}
\usepackage[utf8]{inputenc}
\usepackage[many,breakable,listings]{tcolorbox}

\newtcblisting{sagenotebook}{%
	breakable,
	enhanced,
	size=fbox, 
	pad at break*=1mm,
	opacityfill=1,
	boxrule=.7pt,
	before skip=\medskipamount,
	after={\par\noindent},
	colback=lightgray,
	colframe=gray,
	attach title to upper,
	listing only,
	listing options={
		language=Python,
		upquote= true,
		tabsize=4,
		basicstyle=\linespread{1}\small\ttfamily,
		basewidth=.5em,
		aboveskip=0pt,
		belowskip=-2pt,
	},
}

\begin{document}

\begin{sagenotebook}
P = QQ[x]
\end{sagenotebook}

\end{document}

However, I have no clue how to proceed from here. Any help, comment or hint is appreciated. Thanks!

mjungmath avatar Apr 04 '21 10:04 mjungmath

I might have something but it's not finished yet. Is there a general interest to add this to sagetex?

mjungmath avatar Aug 19 '21 21:08 mjungmath

I might have something but it's not finished yet. Is there a general interest to add this to sagetex?

If you can show before/after output files, that might be helpful. I'm just not sure what you are trying to accomplish - clearly it's more than styling, but I think I just need the purpose explained more thoroughly. (On a side note, keep in mind that especially things like tcolorbox are said to be extraordinarily brittle, and that the order various packages are loaded makes a huge difference sometimes, so precise instructions on how to use this would be crucial.)

kcrisman avatar Aug 20 '21 19:08 kcrisman

Okay, here is an example. Suppose we call the new environment sagenotebook. Then

\begin{sagenotebook}
P = QQ[x]
P
\end{sagenotebook}

should produce

Screenshot from 2021-08-21 00-52-30

but in LaTeX code. The above MWE shows one way to produce a Jupyter-like cell. I am not sure whether there is a way too avoid tcolorbox, but I doubt there is.

Please let me know if you need further details.

mjungmath avatar Aug 20 '21 22:08 mjungmath

I created a repo. Please check this out:

https://github.com/mjungmath/sagetex_notebook

Feedback is highly appreciated.

mjungmath avatar Aug 21 '21 18:08 mjungmath

Opinions on my above approach? Is that something we would like to implement?

mjungmath avatar Sep 03 '22 10:09 mjungmath