Giter Site home page Giter Site logo

jillmnolan / discrete-book Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oscarlevin/discrete-book

0.0 1.0 0.0 122.07 MB

An open textbook for Discrete Mathematics, as taught at the University of Norther Colorado

License: Other

TeX 94.85% Emacs Lisp 0.02% XSLT 4.60% CSS 0.16% Makefile 0.37%

discrete-book's Introduction

Discrete Mathematics: an Open Introduction

An open textbook for Discrete Mathematics, as taught at the University of Northern Colorado. More information about the project is available on the book's main website.

The master branch here now has the source code for the 3rd edition. Work on the 4th edition is done on the edition branch.

Compilation Instructions

This text is written in PreTeXt (previously called MathBook XML), so the primary source files can be found in the ptx directory. These can be compiled into html or LaTeX files (as well as some other formats). If you do not want to bother with this step or just want to grab some LaTeX to use in a worksheet or the like, the generated LaTeX is already provided in the latex folder.

Preliminaries

To compile from source, you will need a copy of the mathbook xsl stylesheets, as well as xsltproc, python, LaTeX, and pdf2svg and make installed (should be easy on linux or MacOS, but also possible on Windows---see some windows installation notes).

Earlier editions, that did not include WeBWorK problems were easy enough to compile using commands like xsltproc --xinclude ../xsl/custom-latex.xsl ../ptx/dmoi.ptx. Now though, there are enough intermediate steps that I've written a make file that keeps everything together. As long as you have all the tools installed, this should make things easy.

You will need to open up Makefile.paths.original and follow the directions there (create a copy called Makefile.paths and specify paths to various things). Also note that in order for my custom .xsl files to work, they need to know where the standard pretext xsl stylesheets are. If you clone mathbook.git and discrete-book.git as shown below, you will be all set, otherwise, you will need to go into the xsl files and change some things at the top.

Open up a terminal and in your preferred directory, clone the mathbook and discrete-book repositories:

git clone https://github.com/rbeezer/mathbook.git

git clone https://github.com/oscarlevin/discrete-book.git

Then change to the discrete-book folder:

cd discrete-book

Compiling

If everything has been set up properly above, you can now execute the following commands to build the book. First, no matter what output format you are looking for, you will need to enter the following.

make ww-extraction

make ww-merge

Then, to create a latex file and pdf, you can enters

make latex

make pdf

To make the html version, you first need to extract images from the source:

make diagrams

And then create the html:

make html

If you look in the makefile, you will see some shortcuts that combine some of these.

Contributing

Any and all suggestions to improve the text are welcome. Thanks to those who have already pointed out typos/issues they have found. If you would like to make a more substantial contribution, please contact me so we can discuss how best to proceed.

Previous editions

The previous editions have branches, and also tags. Feel free to switch to those if you want to grab the source for those editions.

discrete-book's People

Contributors

oscarlevin avatar davidfarmer avatar bnmnetp avatar jwilk avatar mitchkeller avatar segmentationfaulter avatar kcrisman 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.