GithubHelp home page GithubHelp logo

aswinmohanme / sicp-pdf Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sarabander/sicp-pdf

2.0 2.0 1.0 39.95 MB

SICP PDF with Texinfo and LaTeX source

Home Page: http://sicpebook.wordpress.com/

Makefile 2.16% Perl 58.88% TeX 31.73% Ruby 7.22%

sicp-pdf's Introduction

SICP

Par dreaming and smiling

Direct link: sicp.pdf

This is a PDF version of "Structure and Interpretation of Computer Programs" by Harold Abelson, Gerald Jay Sussman, and Julie Sussman. It is a further development of the Unofficial Texinfo Format (UTF), which was originally derived from the HTML version at The MIT Press.

Biggest change in this revision (2.andresraba5) is the conversion to LaTeX, which opens the door to design and customization possibilities that the massive CTAN archive enables. Also, the latest typesetting engine XeTeX can be used, along with the Unicode and OpenType goodness it brings.

Source

For macOS Users: The Inconsolata LGC and Linux Libertine fonts are not included in MacTex. You need to install them separately. Download the Inconsolata LGC fonts here and the Linux Libertine fonts here. To install the fonts system-wide, move all the downloaded .otf files into the /Library/Fonts folder. After completing these tasks, continue with the instructions below.

The src directory contains both Texinfo and LaTeX sources. To recompile the book, go there and enter:

$ make

The file preamble.tex contains all the configuration and style declarations. Note that the LaTeX file sicp.tex will be generated on the fly, overwriting the previous version. To keep sicp.texi and sicp.tex in sync, I make changes to sicp.texi, which is already a hybrid of Texinfo and LaTeX code. This is fine, because all non-Texinfo content remains unchanged by the script.

Chances for successful compilation are increased if you have almost complete installation of recent TeX Live distribution (the pdf here is compiled with 2012 release). The needed OpenType fonts must be installed in the operating system. You also need Inkscape to recreate image PDFs from SVGs.

If compilation stops with "LaTeX Error: Too many unprocessed floats.", you could try to increase the width and height of text area in preamble. Newer TeX Live or updated fonts could result in different character metrics, so that some figures no longer fit. The problem is reported in issue #5.

To clean up after the build:

$ make clean

This deletes the temporary files written during sicp.pdf creation, including sicp.pdf itself. Move it up to root directory if you want to keep it.

To remove all the generated PDFs and auxiliary files in the whole src tree:

$ make clean-all

Acknowledgements

  • Lytha Ayth
  • Neil Van Dyke
  • Gavrie Philipson
  • J. E. Johnson
  • Mingshen Sun
  • holomorph
  • Narumi Katoh
  • tfgit
  • Brian Wignall
  • dine2014

License

The files sicp.texi, sicp.pdf, and diagrams in directory src/fig are licensed under Creative Commons Attribution-ShareAlike 4.0 International License (cc by-sa).

The script files ex-fig-ref.pl, survey.rb, and texi-to-latex.pl are licensed under GNU General Public License version 3 (for details, see src/LICENSE).

Sister project

A new HTML5 version is out, bringing the advantages of adjustable font size and reflowable text to mobile reading.

Translation

There is a new Japanese translation of the PDF by Narumi Katoh. Great to see new languages joining the collection!

sicp-pdf's People

Contributors

sarabander avatar bwignall avatar hmemcpy avatar tcfuji avatar alanyee avatar aswinmohanme avatar g7s avatar gavrie avatar jakuzure avatar

Stargazers

zhang rui avatar Priyadarshan avatar

Watchers

James Cloos avatar  avatar

Forkers

ray42

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.