Git Product home page Git Product logo

tufte_algorithms_book's Introduction

Tufte Algorithms Book Template

pipeline status

This book template provides a starting point upon which authors may freely build to generate their own textbook entirely in LaTeX. We used this setup for Algorithms for Optimization, and have continued to refine it for a new textbook on decision making under uncertainty. The template allows for the direct compilation of a print-ready PDF, including support for figures, examples, and exercises.

We do all of our development in Ubuntu.

Install Julia.

Install LaTeX via texlive. We recommend this repo.

Clone the repository to a location of your choosing:

git clone https://github.com/sisl/tufte_algorithms_book.git

Initialize and update the submodules:

git submodule init
git submodule update

Compile the style:

cd style
sudo python setup.py install
cd ..

Compile the lexer:

cd lexer
sudo python setup.py install
cd ..

Install the required Julia packages. You can install it mannually, or you can use jlpkg for a pip-like experience:

jlpkg --project=@. add $(cat REQUIRE | grep -v julia)

Install pdf2svg, which is used by PGFPlots (we assume Ubuntu - other operating systems may install pdf2svg differently):

sudo apt-get install pdf2svg

Install pgfplots.

We require pythontex 0.17, which was just recently tagged. You will probably have to update your version on texlive on miktex. Alternatively, you can download the latest version of pythontex from https://github.com/gpoore/pythontex.

(Note that on arch-based systems, one should use tllocalmgr instead.)

Test

Running make test pulls all the code and then runs all tests in juliatest blocks. See runtests.jl for details.

Compilation

  • make compile compiles the whole book
  • make compile CHAPTER = 'introduction chapter2\/introduction' will comment out every include or input statement, except for chapter/introduction and chapter/chapter2/introduction where chapter can also be appendix. Requires vim to be installed.
  • make clean removes all generated files except book.pdf

If you host your project under Gitlab, .gitlab-ci.yml is a CI/CD template to start with.

tufte_algorithms_book's People

Contributors

tawheeler avatar johnnychen94 avatar mykelk avatar beastyblacksmith avatar hochb avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.