/maxima-jupyter-plus

maxima-jupyter with additions

Primary LanguageMakefileApache License 2.0Apache-2.0

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):

Note that the Docker image for the standard maxima-jupyter weighs in at ~2 GB.

Examples for Kernels

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.