20 ms·
I don't understand the design decision of MIT Open Access for splitting the chapters into separate PDFs. Is it because they assign each section as a part of co
by jzelinskie 4y ago
I don't understand the design decision of MIT Open Access for splitting the chapters into separate PDFs. Is it because they assign each section as a part of courseware?
It's a bit annoying to merge them together and hope that any hyperlinks (if they exist in the book) still work.
- arolihas 4y agoThere are available PDFs of the whole book with working links. http://library.lol/main/913E141A0E63103B31A049348478CE07 http://library.lol/main/913E141A0E63103B31A049348478CE07
- jzelinskie 4y agoThanks! library.lol looks useful; is it a libgen aggregator?
- samvher 4y agoAny idea if worked out exercises are available anywhere as well?
- deleted 4y ago[deleted]
- wging 4y agoThere don't appear to be many hyperlinks. Assuming sequential filenames, gluing them together can be done by: mkdir out; pdftk * cat output out/topo_cat.pdf (also, this requires you to have installed pdftk) A table of contents can be added with a little more work, if you don't care about anything below the chapter level. Assuming sequential filenames again: chapters=( "Preface" "Preliminaries" "Examples and Constructions" "Connectedness and Compactness" "Limits of Sequences and Filters" "Categorical Limits and Colimits" "Adjunctions and the Compact-Open Topology" "Paths, Loops, Cylinders, Suspensions, . . ." "Glossary of Symbols" "Bibliography" "Index" ) page=1 chapter=0 rm bookmarks.txt for p in *.pdf; do datafile="$p.data" if [ ! -f "$datafile" ]; then echo "generating $datafile" pdftk $p dump_data > $datafile fi chapter_pages=$(awk /NumberOfPages/'{print $2}' $datafile) echo "page: $page" echo "new pages: $chapter_pages" echo "chapter: $chapter" echo BookmarkBegin >> bookmarks.txt echo "BookmarkTitle: ${chapters[$chapter]}" >> bookmarks.txt echo "BookmarkLevel: 1" >> bookmarks.txt echo "BookmarkPageNumber: $page" >> bookmarks.txt ((page=$page+$chapter_pages)) ((chapter=$chapter+1)) done pdftk out/topo_cat.pdf update_info bookmarks.txt output out/topo_cat_bookmarked.pdf (credit to https://stackoverflow.com/questions/2418871/need-to-merge-multiple-pdfs-into-a-single-pdf-with-table-of-contents-sections/40222656#40222656 https://stackoverflow.com/questions/2418871/need-to-merge-mu... for the basic approach. apologies for the code dump instead of an output file; not clear to me that CC BY-NC-ND 2.0 allows distributing the result of this process, as simple as it is, whereas publishing this code is clearly fine.)