math-tutorial
math-tutorial copied to clipboard
Practical math tutorial for programmers.
Math for Programmers
You can read this tutorial on akuli.github.io/math-tutorial.
Updating the github.io site
These instructions assume a Debian-based Linux system (e.g. Ubuntu or Mint). You can do everything on other platforms as well but you need to figure out stuff yourself because I am not interested in writing instructions for every possible platform.
-
Install dependencies.
$ sudo apt install git dvipng python3-pip asymptote graphviz texlive-binaries $ python3 -m pip install --user --upgrade pip $ python3 -m pip install --user git+https://github.com/akuli/htmlthingytexlive-binariesis just fordvisvgm. If you know some other package that contains advisvgmprogram you might be able to use it instead. -
Check your asymptote version.
$ asy --versionIf your asymptote version is less than 2.31 things might not work. Click here to download a newer asymptote. Then compile it like this (replace 2.31 with the correct version number if you downloaded a different version):
$ sudo apt-get build-dep asymptote $ cd path/to/where/you/downloaded/asymptote $ tar xf asymptote-2.31.src.tgz $ cd asymptote-2.31 $ ./configure --prefix=$HOME/.local && make && make installBe sure to use
--prefixinstead ofsudo make install. This way nothing is too terribly screwed if something goes wrong.Try
asy --version. If it doesn't work, add this to~/.bashrc:PATH="$HOME/.local/bin:$PATH"You can also uninstall the old asymptote that came from apt:
$ sudo apt remove asymptote -
OPTIONAL: Run the build script and view the output in a web browser to make sure that everything's OK.
$ ./build.py $ ( yourfavoritebrowser html/index.html &>/dev/null )&If you get weird libGL errors like this one...
libGL error: failed to open drm device: Lupa evätty libGL error: failed to load driver: i965...the problem is probably something with 3D drawings. You can either google for a "correct" solution or use this horribly dangerous brute-force hack thing I used:
$ sudo chmod 777 /dev/dri/card0Compiling 3D images still fails randomly. Run the build script multiple times until it succeeds. When it has succeeded once the 3D images are in
imagecache/and it'll succeed every time (unless you change the 3D images or delete them fromimagecache/). -
Run the crazy script if you dare!
$ ./publish.py