Tweaked the PDF output a bit ...

* Changed the fonts (Inconsolata for mono, Droid sans for main)
* Scaled down the code listing font and line spacing to be more proportionate with main text
* Ditched extra spacing in bulleted lists
* Tweaked the margins a bit
* Fixed the merging of code with the prior comment if there was no newline
  separating (see the register object section of Luke's original PDF)

Here is a sample:
http://www.kazmier.com/~kaz/snabbswitch.pdf

I created a separate Latex template for use with pandoc that I imagine a Latex
expert could make even better. I also parameterized the scaling of the
monospace font as well as the line spacing used within code listings.
Tweaked the font choices a bit for consistency

I couldn't live with a sans serif font for the body text, so I've
switched to droid serif for now.  In addition, to maintain consistency
with the family, I've switched the monospaced font used for code
snippets to droid sans mono.

Droid was designed for on-screen use, so these may not be the best for
print, but given that I read a ton of PDFs online, I figured I'd stick
with this one for now.
Replaced the standard Latex chapter headings

The standand Latex chapter headings are dreadful.  I replaced with a
more modern looking style that I found online.
Modernized the headers on the page

Headers on the page use the same consistent look as the recently added
chapter headings.  In addition, slightly lightened the secondary text so
as to not compete with main body of text.
Added marginal notes to PDF output

Sample can be found here (go to chapter 2, page 7).

http://www.kazmier.com/~kaz/snabbswitch.pdf

Pandoc supports footnotes in markdown. I modified the Latex template to
display footnotes as marginal notes. In my opinion, much more
professional looking.
Removed boilerplate such as copyright notices.

Looks ugly in snabbswitch.pdf. Besides, Git tracks authorship very
well, and Apache license is stated quite clearly.
Refactor: Split up snabb.c into small task-specific files.

Now we have lib.c, memory.c, pci.c, tuntap.c, vhost_client.c.
Made some improvements to the structure for "make book".

The table of contents is now more topic-oriented:

    Startup
    Memory
    PCI
    Hardware Ethernet device drivers
    Linux Vhost_net Virtio-based software Ethernet I/O
    Networking
    Library

The idea is that you can ask yourself which aspect of Snabb Switch you
are interested in, read that one corresponding chapter, and know
everything there is to know about that particular aspect.

This is particularly due to refactoring the general snabb.c "Linux
support" into task-specific files: memory.c, pci.c, etc.