Awesome
maxima-jupyter-plus
maxima-jupyter with additions
Features
This project provides the following additional features on top of the excellent maxima-jupyter project:
- A Common Lisp kernel along with the Maxima and Python kernels
- Dark-themed notebook support
- LaTeX install for PDF-download support from running notebooks (PDF files are formatted as standard technical/research articles)
- Inkscape (SVG, PDF support)
- A "polyglot" image that contains Jupyter notebook support for Python, Maxima, Common Lisp, Clojure, and Go kernels
Forthcoming features may be viewed here:
Note that the use of Arch Linux in these images was due to its use in the
maxima-jupyter project's Dockerfile
.
Catalog of Docker Images
The following images generated by this project are available on Docker Hub (sizes are also given, with compressed sizes in parentheses):
- calyau/maxima-jupyter-latex - 5.12 GB (1.52 GB)
- calyau/maxima-jupyter-dark - 3.85 GB (1.17 GB)
- calyau/maxima-jupyter-dark-latex - 5.36 GB (1.6 GB)
- calyau/maxima-jupyter-cl - 2.04 GB (638.66 MB)
- calyau/maxima-jupyter-polyglot - 4.92 GB (1.65 GB)
- calyau/maxima-jupyter-polyglot-latex - 6.33 GB (2.04 GB)
- calyau/maxima-jupyter-polyglot-dark-latex - 6.53 GB (2.1 GB)
Note that the Docker image for the standard maxima-jupyter
weighs in at
~2 GB.
Examples for Kernels
- Maxima:
- Common Lisp
- Clojure
- Go
Usage
Running
Run with LaTeX support:
docker run -it \
-p 8888:8888 \
calyau/maxima-jupyter-latex:latest \
notebook --ip=0.0.0.0 --port=8888
Run with dark theme support:
docker run -it \
-p 8888:8888 \
calyau/maxima-jupyter-dark:latest \
notebook --ip=0.0.0.0 --port=8888
Run with dark theme + latex support:
docker run -it \
-p 8888:8888 \
calyau/maxima-jupyter-dark-latex:latest \
notebook --ip=0.0.0.0 --port=8888
Run with Common Lisp (SBCL), Maxima, and Python kernels:
docker run -it \
-p 8888:8888 \
calyau/maxima-jupyter-cl:latest \
notebook --ip=0.0.0.0 --port=8888
Run with Common Lisp (SBCL), Maxima, Clojure, Go, and Python kernels:
docker run -it \
-p 8888:8888 \
calyau/maxima-jupyter-polyglot:latest \
notebook --ip=0.0.0.0 --port=8888
Same as previous, but with LaTeX support:
docker run -it \
-p 8888:8888 \
calyau/maxima-jupyter-polyglot-latex:latest \
notebook --ip=0.0.0.0 --port=8888
Same as previous, but with the dark theme:
docker run -it \
-p 8888:8888 \
calyau/maxima-jupyter-polyglot-dark-latex:latest \
notebook --ip=0.0.0.0 --port=8888
Overrides
To run these kernels against your own notebooks directory, you can use a command like this for start-up:
docker run -it \
-v `pwd`/notebooks:/home/oubiwann/maxima-jupyter/examples \
-p 8888:8888 \
calyau/maxima-jupyter-latex:latest \
notebook --ip=0.0.0.0 --port=8888
If port 8888
is in use on your system, you can change the port used by
Docker with a command like this following:
docker run -it \
-p 9999:8888 \
calyau/maxima-jupyter-latex:latest \
notebook --ip=0.0.0.0 --port=8888
Notes
Docker Images Sizes
The images generated by this repo are very large, due to the additional dependencies that are pulled in. As such, these images are not intended for general use, but rather for the special cases where Docker image size is a secondary concern to the primary needs addressed by the additional features.
LaTeX Support
When creating aligned equations in Markdown text, be careful: MathJAX (used by Jupyter for web-based LaTeX support) adds LaTeX and this can cause Pandoc to exit with an error when attempting to download a PDF of the notebook. In particular, it is recommended that aligned equations be declared in the Markdown cells as the following:
$$\begin{split}
\frac {d x}{d t} & = s(y - x) \\
\frac {d y}{d t} & = rx - y - xz \\
\frac {d x}{d t} & = xy - bz \\
\end{split}$$
Note the absence of {align}
or {equation}
blocks.