TeX has been mentioned several times — I don't mind that comparison at all, since my thinly-veiled ambition is to create a contemporary successor to TeX. Contemporary = optimized for web publishing + better "macro" language (Racket) + shallower learning curve.
That said, TeX got a lot of things right. Especially the basic notion that a book (or other publication) should be represented as a program, and that authors should be able to freely intermix text and code. With digital books, I think it's essential.
(PS on Racket: HN was built with Arc, which was also built with Racket.)
I've always thought lisps were a natural fit for this sort of thing; the cl-typesetting project (http://www.fractalconcept.com/asp/cl-typesetting) didn't get a lot of traction but was pretty effective, are/were you aware of that one?
Any intention to tackle higher quality typesetting for hardcopy/pdf ?
That said, TeX got a lot of things right."
So why not resist the start-from-scratch instinct and build a framework on top of TeX instead? In that way, you would not only inherit all that TeX gets right already; but most importantly, you gain an existing huge userbase practically by proxy by making it easy for many TeX-using authors to use your framework without having to change their existing workflows or rework their source files (including, as it happens, many in this very thread, as you can see).
I understand starting a new publishing framework from scratch is much more appealing than the daunting prospect of building a higher-level lispy macro language on top of TeX that achieves your goals of readability, power and ease of use; but there are reasons why sometimes improving existing frameworks is often preferable than tossing everything away and starting over from scratch[1].
Bear in mind that creating Pollen was a side mission of the main project: making the website http://practicaltypography.com. The existing tools weren't good enough, so I ended up making my own. I looked at using TeX. No one had anything nice to say about its HTML capabilities. So I moved on.
Pollen does less than TeX. But it also demands less (in terms of setup & learning curve). Authors who need everything TeX can do aren't going to be interested in Pollen. But that's OK — they already have TeX.
On the other hand, I can't help but remark on the vague sense of missed opportunity in your project. I know for a fact that "authors who need everything TeX can do" are indeed interested in a streamlined TeX to web-book authoring library[1], precisely because of the lack of good HTML packages that stopped you from developing on it in the first place. An easy-to-use package like beamer but for outputting nice, responsive webbooks or articles on a whim would be a gigantic boon to the sciences.
[1] There are several TeX to HTML tools out there already, but the output quality isn't that great and in any case the well-known ones are not intended specifically for webbook authoring. There's also PubMed Central's PubReader, but for specially-tagged XML articles, not TeX. See: http://tex.stackexchange.com/questions/43847/why-havent-any-...
Sure, Markdown and the rest have a simple syntax for everything, but what if you're writing a book and want cross-references? Or you commonly use side-by-side examples (good grammar vs. bad grammar, say) and want a macro that generates the appropriate table layout. Or you want some macros which typeset entries in your CV. And instead of crufty TeX macros you can use Racket.
If I weren't already writing a book in LaTeX I'd try writing one in Pollen.
It would also allow one to write why one is writing what one is writing without actually putting it in the book. Kind of like writing a "behind-the-scenes" while writing the book.
But I have to call out the claim:
> I think Pollen just won the Hello World Tournament.
That tournament was won permanently by the M4 language in 1977. http://en.wikipedia.org/wiki/List_of_Hello_world_program_exa...
I love Butterick’s Practical Typography. It taught me a lot about typography, and started my love for typefaces.
The fact that Matthew Butterick is, a lawyer, a typographer and a programmer just increase my respect for him.
Thank you for your work!
How to type a lozenge: Mac: option + shift + V Windows: holding down alt, type 9674 on the num pad Ubuntu: ctrl + shift + U, then 25CA"
That's an unfortunate choice, imo. Pollen looks great but I wouldn't want to have to type that character all the time.
Sorry to nitpick, I think everything else I've seen (so far) is very encouraging. Looks like something halfway between Markdown and LaTeX.
C-x 8 RET loz[enge]
or
C-x 8 RET 25CA
Which suck, but can at least be rebound to a useful key. Unfortunately, the \lozenge command in TeX mode produces U+2727 “white four pointed star”. Sigh.
How hard would it be to implement things like \ref and \pageref and support more of the LaTeX environments supported by MathJax?
I think a triple output format HTML + ePub + LaTeX|PDF|print would be awesome --- I'd switch right away!
Thanks for releasing this as LGPL.
Makefiles can be your friend... in the file `Makefile` put
.PHONY: all pg13 print ebook ereader
all: pg13 print ebook ereader
pg13: book-pg13.pdf
book-pg13.pdf: mainfile.tex
pdflatex "\setstuffforethisversion\input{mainfile}"
print: book-print.pdf
[etc...]
Then type `make print` or `make ebook` etc at the command line. (This version is almost certainly too simplistic, but I hope the point is clear.)`latexmk` solves the "compile many times" problem, and can monitor for changes to the source file in the background.
I mean, I see the reason for using a weird symbol, but I'm not even sure how to enter it from the keyboard other than by copy-pasting it. Is it some sort of standard symbol in DrRacket environment?
Maybe, a directive for changing this symbol can be added: #commands_start_with my-char
Ref for others, on OSX, its: option + shift + V
See http://mbutterick.github.io/pollen/doc/reader.html
edit: key commands now fixed for other platforms
Edit: I answered my own question, the documentation is generated using Scribble: http://docs.racket-lang.org/scribble/
also used scheme for writing books, provided for embedding code execution, tex for math, targeting html and paper, etc. i made it in 1996 to write my phd dissertation, based on markup by jar@mit.
According to the "package 6.0" bugreport it looks like things are not going to change very soon:
As far as I understand, the build system and general organization of
racket has been changed quite a lot for 6.0. I'm not sure how soon I'll
find time and motivation to work on this, especially since I'm committed
to using 5.3.6 at $WORK through the end of April.
I cant remember the last time I saw a self extracting shell archive installation and/or a shar without a gpg signature.You can see the SHA1 hashes of the distribution here: http://www.cs.utah.edu/plt/snapshots/
I wonder when Atwood's Law will kick in and we'll see more ambitious JavaScript-based tools like this (maybe with sweet.js macros to provide higher level constructs). JS already turns a document format into a program, but plain HTML+JS is not the best authoring format.
After all, Knuth didn't write TeX because he needed a typography solution, he wrote it because he needed a typography solution for mathematics.
All these years later, and TeX (with or without LaTeX) is far and away the best solution I know of.
As for the mass market: Word's typesetting of mathematics is terrible, as is the interface (for anything but the simplest expressions). MathML is an interesting idea, but has a long way to go on the actual typesetting, as well as being much more painful to use than LaTeX...
It's actually one of the big questions I'm having, as well.