-
Notifications
You must be signed in to change notification settings - Fork 540
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
674ea65
commit 5b5352e
Showing
182 changed files
with
6,892 additions
and
3,738 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
A PDF version of "Structure and Interpretation of Computer Programs" (SICP) by Abelson and Sussman. Low resolution bitmap images are replaced by vector graphics (SVG) and mathematics is typeset in TeX. Typography and layout are improved for better on-screen legibility. This edition is suitable for medium-sized screens (like iPad). | ||
A PDF version of "Structure and Interpretation of Computer Programs" (SICP) by Abelson, Sussman, and Sussman. Low resolution bitmap images are replaced by vector graphics (SVG) and mathematics is typeset in TeX. Typography and layout are improved for better on-screen legibility. This edition is suitable for medium-sized screens (like 10" tablets). | ||
|
||
It is based on Neil Van Dyke's Texinfo version: http://www.neilvandyke.org/sicp-texi/ | ||
|
||
Official SICP page with HTML version: http://mitpress.mit.edu/sicp/ | ||
|
||
(See also http://github.com/sarabander/sicp-pocket/ It's a new project cloned from the current one (sicp-pdf) to adapt the PDF to small screens (like Kindle). We are still in very early stage. Thanks Gavrie (http://github.com/gavrie/sicp-pdf) for the start!) | ||
An adaptation to pocket format is now finished: http://github.com/sarabander/sicp-pocket/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
#! /usr/bin/perl -w | ||
|
||
################################################### | ||
# Generates tabulated cross references # | ||
# pointing to all exercises or figures in SICP. # | ||
# Usage: ./ex-fig-ref.pl -e > exercises.texi # | ||
# or ./ex-fig-ref.pl -f > figures.texi # | ||
# (both of which are @included by sicp.texi). # | ||
# # | ||
# © 2012 Andres Raba / License: GNU GPL v.3 # | ||
################################################### | ||
|
||
use Math::BigFloat; | ||
|
||
$columns = 12; # no. of columns in the table | ||
$squeeze = 0.70; # decrease first column width | ||
|
||
%ex_per_chap = ( # how many exercises per chapter | ||
1 => 46, | ||
2 => 97, | ||
3 => 82, | ||
4 => 79, | ||
5 => 52 | ||
); | ||
|
||
%fig_per_chap = ( # how many figures per chapter | ||
1 => 5, | ||
2 => 26, | ||
3 => 38, | ||
4 => 6, | ||
5 => 18 | ||
); | ||
|
||
if (defined($ARGV[0]) and $ARGV[0] eq "-e") { | ||
$reftype = "Exercise"; | ||
%ref_per_chap = %ex_per_chap; | ||
|
||
} elsif (defined($ARGV[0]) and $ARGV[0] eq "-f") { | ||
$reftype = "Figure"; | ||
%ref_per_chap = %fig_per_chap; | ||
|
||
} else { | ||
print "Choose '-e' for list of exercises or '-f' for list of figures.\n"; | ||
} | ||
|
||
foreach $chap_no (sort keys(%ref_per_chap)) { | ||
|
||
print "\@subsubheading Chapter $chap_no \n\n"; | ||
print "\@multitable \@columnfractions "; | ||
|
||
$frac = Math::BigFloat->new(1.0 / $columns); | ||
# each column as a fraction of page width | ||
|
||
$roundfrac = $frac->fround(2); | ||
# is there a simpler way to round? | ||
|
||
print $squeeze * $roundfrac, " "; | ||
for ($i = 2; $i <= $columns; $i++) { | ||
print "$roundfrac "; | ||
} | ||
print "\n"; | ||
|
||
for ($ref_no = 1; $ref_no <= $ref_per_chap{$chap_no}; $ref_no++) { | ||
|
||
if (($ref_no == 1) || ((($ref_no - 1) % $columns) == 0)) { | ||
print "\@item \n"; | ||
} | ||
|
||
print "\@ref{$reftype $chap_no.$ref_no,,$chap_no.$ref_no}"; | ||
|
||
if (($ref_no % $columns) != 0) { | ||
print " \@tab \n"; | ||
} else { | ||
print "\n"; | ||
} | ||
} | ||
|
||
print "\@end multitable \n\n"; | ||
} |
This file was deleted.
Oops, something went wrong.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Oops, something went wrong.