Giter VIP home page Giter VIP logo

sicp-info's Introduction

The second edition of the book Structure and Interpretation of Computer Programs (SICP) in info format.

Source: http://www.neilvandyke.org/sicp-texi/

repo for building MELPA pkg

To convert the .texi format to compiled .info format use: makeinfo --no-split sicp.texi -o sicp.info

sicp-info's People

Contributors

tarsius avatar tgvaughan avatar thoelze1 avatar unipro avatar webframp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

sicp-info's Issues

Multiline macro arguments break indexing, macro expansion

Each time a new term is introduced, the following macro is used to add the term to the index (with @cindex) and format the term (with @dfn):

@macro newterm{term}
@cindex \term\
@dfn{\term\}
@end macro

Sometimes term happens to span multiple lines (usually due to the 80-character fill-width used in sicp.texi), which is fine because @newterm has only one argument (see the manual). However, @cindex takes its argument on a single line (see the manual) so when term spans multiple lines, @cindex adds only the first line of term to the index, and the remaining lines are simply expanded in the macro. Therefore the following source in sicp.texi (line 1388):

Such exceptions to the general evaluation rule are called @newterm{special
forms}.

Expands into:

Such exceptions to the general evaluation rule are called @cindex special
forms @dfn{special
forms}.

Which results in the following sicp.info:

  Such exceptions to the general evaluation rule are called forms
"special forms".

@newterm is used about 424 times in sicp.texi and its argument occurs on a line break about 31 times (resulting in the undesirable behavior of the index and macro expansion). I tried adjusting the @newterm macro in a few ways to collapse term into a single line, but I wasn't able (maybe someone more familiar with texinfo/tex knows a way?). Editing the 31 problematic macro invocations would certainly solve this, but would defy the 80-character fill-width.

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.