10 Things I learned while writing a book

by Micah Dubinko

Related link: http://dubinko.info/writing/xforms/

My book, XForms Essentials, just went off to the printer. Writing a book has been an amazing experience. Here's 10 things I've learned during the process:

10 Book-length writing is utterly different from writing shorter pieces. Like code, up-front design is worth every minute of investment. "Premature optimization" is evil, even in writing.

9 Straight-quotes vs. curly-quotes is the bane of technical writing.

8 Making your book available online before publication is a huge benefit for getting early feedback. I'd recommend it to anyone.

7 Writing a book proposal and getting a publisher to accept it can involve a substantial fraction of as much work as writing the book itself.

6 If you set up a private mailing list for your book, you will get some amazing and helpful responses. Treat your reviewers like royalty.

5 Your editor does a ton of work, but very little of it involves interrupting you. Your production editor, however, will have lots of small detail questions for you towards the end of the process.

4 When typing, I often leave off the las letter in a word without noticing it.

3 When negotiating a book contract, feel free to ask for changes in any unfavorable terms. You might get what you ask for. The worst that can happen is a 'no' response.

2 Looking through other books you like to see how Figures, Examples, Sidebars, and so on are arranged and referred to can give you a good idea how to plan things out in your book.

And the number one thing I learned:

1 Author obscurity is worse than percieved "piracy". Unless you're Stephen King, release your books under a free documentation license.

For details on the book, or even full text, visit my Web page. -m

Share your experiences with writing or publishing:


2003-08-14 01:18:48
I'm a student in Taiwan. I cannot understand your rule No.9 "Straight-quotes vs. curly-quotes is the bane of technical writing," can you descript it more clearly? Sorry for my poor English :)
2003-08-14 02:52:42
Curly quotes
This might explain the problems with curly quotes---

BTW---for anyone using latex2html there is an almost undocumtented option for converting `` and '' to nice unicode curlies (only doubles at the moment).

$USE_CURLY_QUOTES in a file referenced by -init_file


latex2html -html 4.0,unicode -init_file *.tex will do the trick. -entities will force the use of the html entity codes.


2003-08-14 10:57:49
Good points!
To my mind, your point #10 is the most important. To write anything as long as a book, and write it *well*, takes planning, thought, more planning, organization, planning, and discipline! :-)
2003-08-14 13:40:27
Follow the link in the previous message for a good summary. Sometimes, usually in code samples, you need "straight quotes", where the open and closing quote are actually the same character.

Sometimes, ususally in ordinary text, you need curly, or typographic quotes, which are different between opening and closing. These are typically hard to type on normal keyboards and have a tendency to get trashed during various conversion processes.

(Now there's an idea for a keyboard manufacturer that would like an edge over the competition--separate keys for opening and closing quotation marks...) -m

2003-08-14 13:56:06
XForms Browser Compatibility
Are there any browser compatibilty issues related to using XForms?
2003-08-15 01:46:22
"When typing, I often leave off the las letter in a word without noticing it."

Phew - that's a relief - I guess you must be about mid-40s, right ? I have the same problem. I reckon it happens around that time

2004-04-13 11:58:31
Curly quotes

This really should be spread around more widely; it is pretty well hidden in the latex2html code.

A further simplification: here's my .latex2html-init file (which goes in your home directory or in the current working directory):

$HTML_VERSION = "4.0,unicode";
$LOCAL_ICONS = 1; # HTML document includes local relative icons.

#$USE_ENTITY_NAMES = 1; # translates entities into named elements instead.

...with this file, you can simply run 'latex2html whatever.tex' and you'll get all of the above options.