Live data from Hacker News

Brian Kernighan on the Typesetting of “The Go Programming Language” Book

rkrishnan.org

11–20 of 76 posts

Re: Brian Kernighan on the Typesetting of “The Go Programming Language” Book

#11
post #2

It's sad that a complete structure writing/publishing workflow is still so hard. XSL-FO is awkward and limited, and will probably remain so. TeX is not design-friendly. On the other side, InDesign is mostly visual only. Framemaker seems to be only serious tool but it's very expensive.

I was a devoted FrameMaker user until Adobe killed the Mac product. I used to have to do fairly complicated legal documents, and it was worth every penny. Plus, it was a very good word processor--you never had to leave the program to edit text. So I used it for everything I had to write. A book like this could have been handled fairly easily in FrameMaker, but sadly Adobe has decided to position in it to be only for…

I have used it in 1992 on Sun stations. It was a delight. I am pretty sure it would gain a lot of attraction if they open sourced it.

Re: Brian Kernighan on the Typesetting of “The Go Programming Language” Book

#12
post #2

It's sad that a complete structure writing/publishing workflow is still so hard. XSL-FO is awkward and limited, and will probably remain so. TeX is not design-friendly. On the other side, InDesign is mostly visual only. Framemaker seems to be only serious tool but it's very expensive.

What about Apple Pages? I find that very good and easy to deal with typesetting. But I am no expert in the field so it might have sever weaknesses I am not aware of. Anyway I like that it seems to have been designed with layout in mind from the start unlike MS Word e.g. where doing layout has never felt natural.

Typesetting isn't the same as word processing, you need a lot more power than something like Pages gives you.

For example, our book is 308,000 words and 32 chapters. By the time it's done it'll probably be ~310-325k plus index. LaTeX means I can change one line in the header and have the build completely re-typeset the book according to those parameters programmatically, and it does a _very_ good job.

Re: index - how do you generate an index with Apple Pages? And I don't mean concordance, I mean a proper index. With LaTeX it's...programmatic. We provide the metadata in the form of `\index{blah}`, it generates the index for us.

It's extremely hard to find anything that's competitive on all these fronts and which is also open source. LaTeX is pretty much it, everything else is focused only on basic formatting & presentation and hasn't even gotten to a proper typesetting algorithm.

Re: Brian Kernighan on the Typesetting of “The Go Programming Language” Book

#13
post #6

Written in XML?! That's the first I've heard. Though also a fine proof that what you're writing is much more important than how you're writing it. (Still, though -- XML?)

Why not XML? XML was made for documents, they were writing a document.

For an actual typing-on-the-keyboard format, it seems like almost anything would have been better, particularly given the number of markup languages that can translate trivially into XML.

I may have misunderstood -- he was actually typing in XML tags as he wrote the book, right?

Re: Brian Kernighan on the Typesetting of “The Go Programming Language” Book

#14
post #2

It's sad that a complete structure writing/publishing workflow is still so hard. XSL-FO is awkward and limited, and will probably remain so. TeX is not design-friendly. On the other side, InDesign is mostly visual only. Framemaker seems to be only serious tool but it's very expensive.

What about Apple Pages? I find that very good and easy to deal with typesetting. But I am no expert in the field so it might have sever weaknesses I am not aware of. Anyway I like that it seems to have been designed with layout in mind from the start unlike MS Word e.g. where doing layout has never felt natural.

A word processor is a totally different beast from type setting.

https://programmingforresearch.wordpress.com/2012/03/23/word...

Though people have been trying to solve this in Word and templates but those still fail at technical books still IMHO.

Re: Brian Kernighan on the Typesetting of “The Go Programming Language” Book

#15
As a typesetting aficionado, I have tried most of the suggestions here (Prince, Troff, Lout, Docbook XML, Asciidoc, LaTeX, ConTeXt, .. except GUI typesetting tools.)

TeX appears bad from a distance, mostly from hearsay, until you have to write an actual technical book of certain expected high production standards and you realize TeX gives you the best shot at doing so.

There is a learning curve. It is an investment of your time, but it pays off.

Also, it is not like LaTeX et al are standing still in time. There are companies and teams working on improving the ecosystem everyday. I personally like ConTeXt unless I'm doing a predefined template exists (for conferences etc.,) where it makes sense to just use their LaTeX guidelines.

Re: Brian Kernighan on the Typesetting of “The Go Programming Language” Book

#16
post #13

Earlier quoted context omitted.

Why not XML? XML was made for documents, they were writing a document.

For an actual typing-on-the-keyboard format, it seems like almost anything would have been better, particularly given the number of markup languages that can translate trivially into XML. I may have misunderstood -- he was actually typing in XML tags as he wrote the book, right?

Yes, they did. I saw the XML and it didn't look much different from well-written HTML. The amount of markup you need for a book is fairly minimal: h1, h2, p, b, i, c (code font), ix (index entry). Think of it as a customizable HTML.

Re: Brian Kernighan on the Typesetting of “The Go Programming Language” Book

#17
post #6

Written in XML?! That's the first I've heard. Though also a fine proof that what you're writing is much more important than how you're writing it. (Still, though -- XML?)

Why not XML? XML was made for documents, they were writing a document.

XML may have been made for documents but it is certainly one of the worst language families ever for actually typing documents by hand.

Re: Brian Kernighan on the Typesetting of “The Go Programming Language” Book

#18
post #17

Earlier quoted context omitted.

Why not XML? XML was made for documents, they were writing a document.

XML may have been made for documents but it is certainly one of the worst language families ever for actually typing documents by hand.

What would you use instead that would allow you to define your own markup? LaTeX? \em{Hello} isn't much better than Hello.

Re: Brian Kernighan on the Typesetting of “The Go Programming Language” Book

#19
post #6

Written in XML?! That's the first I've heard. Though also a fine proof that what you're writing is much more important than how you're writing it. (Still, though -- XML?)

XML is awful in a time before ZenCoding/Emmet.

Now, not so much.

dog>cat*3

Re: Brian Kernighan on the Typesetting of “The Go Programming Language” Book

#20
post #19
post #6

Written in XML?! That's the first I've heard. Though also a fine proof that what you're writing is much more important than how you're writing it. (Still, though -- XML?)

XML is awful in a time before ZenCoding/Emmet. Now, not so much. dog>cat*3

I agree that ZenCoding has greatly simplified XML development, but I find that even with it you're still beholden to ugliness when trying to edit it.
Post reply on HN