Category Archives: Technical Articles

Adventures in Typesetting, Part 1

A task I undertook a while back was typesetting my (still-upcoming) book, Shatternity: Origins. This post is not really about the book but rather the process of editing and typesetting it. For this article I will focus specifically on the use of styles.

Going in, I had no knowledge of typesetting. I’d taken word-processing courses over the years and I know my way around Word and OpenOffice. I can usually figure things out when I need to. However, I’d never taken a stab at typesetting a novel into a format appropriate for publishing. Since I intend to self-publish this volume (a separate article altogether), it was up to me to make sure the finished product was slick and professional. So, I am going to attack the various details that came up in the process of typesetting this book. I hope these tips are of use to you, the amateur typesetter and self-publisher.

To start with, I’ll assume you’re using version 3 of OpenOffice Writer. If you’re using Word, the same features should exist but will be in other places. If this article gets a decent amount of attention I might consider writing a Word version of it, too. In the meantime, though, let’s just go with OpenOffice. Now, on with the details!

Widows and Orphans

First, you need to know what widows and orphans are in a publishing context. A widow is what you call the final sentence of a paragraph when it reaches the following page, leaving part or all of that sentence by itself on the page. An orphan is the same basic idea but regards the opening sentence of a paragraph. Both of these are ugly and should be avoided. Luckily, OpenOffice provides a way to control this.

Before we go any further, you’ll need to know about OpenOffice’s style features. Instead of manually adjusting font sizes and formatting every time you want to do a chapter heading or a subtitle or body text, you should define styles. You should see a bar just above the ruler or a floating toolbox named “Styles and Formatting” with items named things like “Heading 1,” “Text body,” etc. Each of these is a style. If you don’t see the “Styles and Formatting” box, click the button all the way to the left of the style toolbar. This will bring up said box. Then, right-click one of the styles–preferably “Default”–and pick “Modify…” This brings up the “Paragraph Style” menu.

Next, click the tab marked “Text Flow.” You will see many options, but here we want to worry about “Orphan control” and “Widow control,” which are the two options at the bottom. Set both to at least 2 lines. That should be sufficient for avoiding orphans and widows. Note that you’ll still want to visually check your document for them later, in case any were missed, but this option will thwart most offenses.


Now that you’ve done a little bit of modification to a style, you’re probably interested in what else is possible. For the time being, make sure you’ve selected “Paragraph Styles” in the “Styles and Formatting” box. This is the button in the upper left with the traditional paragraph symbol on it. (There are styles for pages and other things, but we’ll only worry about paragraphs for now.) You can think of each style as a paragraph template. You can control numerous settings including the font, text size, kerning, indentation, alignment, hyphenation, drop caps, and many other options. For a no-frills novel, you’ll at least want to define styles for body text and chapter titles. To apply a style, simply select the text you want to style and then double-click the appropriate style in the “Styles and Formatting” box. You can define as many styles as you want, just keep in mind that any styles you’ll use for your body text should have widow and orphan control enabled.

While you should feel free to tweak styles to your liking, don’t get carried away turning on all the special effects and features. You want your book to have a clean, polished look, free of things that distract from what’s important: the actual text of your novel! For body text, use a sensible serif typeface with a point size of 10-14. For chapter titles and subtitles you can certainly be more expressive, just try to be consistent. There may also be times you want to use a special style for effect, such as a script font to represent the text of a written letter. These sorts of decisions are up to you but remember not to get carried away.

Page Numbers

Good luck getting by without page numbers! But I’ll make it easy for you. Books in general have special requirements when it comes to page numbering, which include:

  • Not numbering every page (such as the inside cover and title pages.)
  • Skipping numbers on some pages (again, such as the inside cover and title pages.)
  • Multiple numbering schemes (for instance, using Roman numerals for a preface and Arabic numerals for everything else.)

All these things can be taken care of without too much difficulty if you know where to look. It is not very obvious but you can find these things in the Insert menu, under Fields. First, however, you will need to work with styles again. This time, in the “Styles and Formatting” box, click the fourth button from the left, which looks like a page. This changes your view to consist of page styles rather than paragraph styles. You’ll need to create one page style for each page numbering scenario.

First, let’s create one for pages we don’t want to be numbered. In the “Styles and Formatting” box, right-click in an empty area and pick “New…” This will let you create a new style, naturally. The style dialog will come up. Name this style “Not Numbered.” Go to the “Page” tab and make sure “Page layout” is set to “Mirrored.” Click the “OK” button.

Now, let’s assume you have a preface or some other section you wish to number with Roman numerals. Create a new style and call it “Preface.” Go to the “Header” tab and check “Header On.” Go to the “Footer” tab and check both “Footer On” and “Same content left/right.” The latter option ensures that both left and right pages will be numbered. Go to the “Page” tab and make sure “Page layout” is set to “Mirrored.” Click the “OK” button.

Finally, let’s make our “normal” page style that will be used for the bulk of the book. Create one more style and call it “Default” or something easy to remember. Go to the “Header” tab and check “Header On.” Go to the “Footer” tab and check both “Footer On” and “Same content left/right.” Go to the “Page” tab and make sure “Page layout” is set to “Mirrored.”┬áThis sounds familiar, doesn’t it? Don’t worry, there is a method to our madness. Click the “OK” button.

We are at last ready to style our book! We have three page styles to work with. Go to the very first page, then double-click “Not Numbered” in your “Styles and Formatting” box. This will apply the “Not Numbered” style to both the current page and all subsequent pages. Next, go to the last page before your preface. Go to “Insert” and click “Manual Break…” You want it to be a “Page break.” From the “Style” dropdown menu, pick “Preface.” All pages after this break will use the “Preface” style! Click the “OK” button.

You’ll want to insert page numbers into your preface now, right? Here’s where the fields come in. Click the footer box at the bottom of the first page of your preface. Click “Insert,” then “Fields,” then “Other…” Make sure you are on the “Document” tab and that you’ve selected the “Page” type. You’ll see that the center box has an option for “Page numbers.” Select that and then in the right box will be a list of page number formats. Pick whichever you prefer, then click “Insert.” For the duration of this page style, that type of numbering will be used. As a bonus, since you reset the style, the numbers will start from 1. Click “Close” once you’ve inserted your numbers.

Naturally, you don’t want Roman numerals on all your pages, just those of the preface. So, do what you did before: go to the last page of your preface, click after the end of its text but before the first page of the novel proper, and insert a manual break. Select “Default” or whatever you called your body text style from the “Style” dropdown. Once again, all subsequent pages will be assigned the new style. To insert page numbers, repeat the same drill with “Insert,” “Fields,” and “Other…” Once you’ve done this, you’ll have applied three distinct page styles: one without numbers, one with Roman numerals, and one with Arabic numerals. Good work!


It’s also customary to have your book’s title and your name as a header. Typically, the book’s title goes on the right-hand pages and your name goes on the left-hand pages. To insert these titles, click in the header box at the top of one the pages of your novel proper (not the title pages or preface) and type in your name or the title of the book. Since we’re not showing the same thing on the left and right pages, you’ll need to insert two headers: one with your name, and one with the book’s title. Once you have done that, the alternating name/title headers should appear on all subsequent pages. To get the cool “small capitals” effect normally used for these sorts of headers, create a new paragraph style and go to the “Font Effects” tab, selecting “Small capitals” from the “Effects” dropdown list. Apply this style to both the right and left headers! You need only do this once for each header for it to be applied to the rest of the book.

With the above items out of the way, we’ve taken care of styling the book. If there is a positive response to this article I will cover things like margins and gutters next, though those aren’t nearly as daunting as learning how to style!

WordPress vs. Drupal vs. Joomla

As someone who runs several websites, I’ve become pretty familiar with some of the common content management systems out there. Although you will find people who advocate for a particular CMS over another, I’m more the kind of person who wants the right tool for the job. No system is right for every situation. So, this article is meant to help you choose which one is right for you!

I’ll be touching mostly on WordPress, Drupal, and Joomla, though I will throw in a few thoughts about PHP-Nuke, as well.


WordPress is the de facto standard for blogging these days, and for good reason. It’s easy to install, easy to set up, easy to use–all around, it’s easy, easy, easy. If you’re a non-technical user, WordPress is a great system to use. It is also reasonably extensible.


The interface is very clean and easy to navigate. The ability to update plugins directly from the browser is a nice touch. It also supports a multi-user environment right out of the box, in case you want to run a blogging site with multiple authors. The wealth of available plugins provide a lot of options and additional features. The template system is also highly versatile: templates such as Atahualpa provide a vast array of options for customizing the look and feel of your WordPress site.

I’ve found the plugin system very easy to work with, having written a plugin of my own for a niche where the available plugins were inadequate. With no prior experience writing WordPress plugins, I had mine up and running within a couple hours.

All WordPress requires to get started is a working PHP installation and a MySQL database. You can also get a hosted blog on the WordPress site if you don’t want to spring for a capable hosting account.


WordPress had a recent, dangerous security flaw that impacted a few people I know. Fortunately for them, they only lost their settings and not their entire WordPress database, though they had to call on someone with more technical expertise to help them sort it out.

Additionally, WordPress has no mode for a safe failover if a plugin update introduces a fatal bug. You just end up with the PHP “white screen of death.” The way to address this is to remove all plugins, restoring them one by one until you find the culprit. However, less technically-inclined users won’t know to do this, and may be unclear how to proceed.

I’ve also found that quite a few WordPress plugins are no longer maintained, and compatibility between major versions is not guaranteed. So, a lot of older plugins just plain won’t work. This isn’t a fault of WordPress, per se, but the community building plugins for it doesn’t seem to be quite as large and active as those developing plugins for, say, Drupal.


WordPress is a great system if all you need is a straightforward blogging platform, are not a technical expert, and require a clean, simple interface. You can have total control over the presentation of your blog, however, the available plugins may be inadequate if you have unusual requirements.


Joomla is an appropriate system for those who run larger sites or who need to deal with large numbers of pages. It’s suitable for things like corporate intranets, group sites, and the like.


Joomla is fast. Very fast. Its caching system whips the pants off of pretty much all competitors. If you run a large site and you just need it to be fast, fast, fast, Joomla is a good choice.

It also has quite a few plugins, and I’ve found it tends to have a greater variety than WordPress. On the downside, however, since Joomla is more popular with companies, many plugins cost money. There are also a lot of free ones, though, so don’t let that be a deterrent.

Joomla is also pretty easy to set up. Installing plugins is about as straightforward as it is with WordPress.

I’ve also never experienced a “white screen of death” with Joomla, even with some plugins installed incorrectly or with fatal errors in them. It’s a very robust, powerful system.

Many older Joomla plugins are also compatible with later versions, thanks to a built-in legacy mode. It can cause some problems, but I have rarely experienced issues with it.


With Joomla’s focus on speed and survivability, you knew there were going to be downsides.

First off, the template system isn’t nearly as powerful as the WordPress system. While WordPress themes can add an entirely new maintenance area to your admin panel, Joomla themes do not. If you want to adjust the colors or layout, you’ll have to manually modify HTML and CSS files. If you have a good grasp of those, however, you’ll be just fine. It’s just not quite as point-and-click as WordPress users may be accustomed to.

While there are quite a few plugins available, a lot of the free ones are of lower quality than you might find for WordPress or Drupal. Integrating with third-party applications (such as forums) doesn’t work very well. Community-oriented plugins are not very mature for Joomla. It is definitely more of a content-driven, rather than user-driven, system.


If you need to manage a large site comprised mostly of your own content and that of other members, rather than building a hugely-interactive community, Joomla is a great choice. It’s fast, it’s powerful, it’s extensible. You may have to do more of the heavy lifting to get it fine-tuned to do what you want, but it will be rock-solid and stand up to high traffic.


Drupal is quite possibly the most powerful CMS out there. It’s also the slowest. For this article, I will refer exclusively to Drupal 6, which is the current production version and the one with which I am most familiar.


The default installation of Drupal gives you a simple site with news, blog, content page, and forum functionality. If you have more specific needs and don’t want to dig through the plugin directory, you can try one of the installation profiles, too. It’s easy to get up and running.

However, the real power of Drupal is in its vast array of plugins, called modules. There are thousands of modules available, for almost any purpose you could imagine, and many you never would have considered.

Essentially, while WordPress and Joomla are primarily blogging/news engines, Drupal can be turned into just about anything you want. Its social networking features are the most developed. I built a creative writing community out of off-the-shelf Drupal modules. If you don’t like the content types that come with Drupal, you can build your own with the Content Construction Kit. You can add modules to control user access based on social networking user relationships, page-specific access rules, or even use a point system. You can also use a combination of them, as I have done.

Modules are updated regularly with new features, and new ones are coming out all the time. If there isn’t a module to do what you want, it is often possible to request it, or get it added to a module that’s close to what you want.

It also has a very nice theming system, and you can allow your users to choose from the themes you have installed, if you so choose. User permissions can also be controlled on a very fine-grained basis.


Such power and versatility doesn’t come cheap. Drupal is easily the slowest of the major content management systems. While it has a powerful page caching system, it is essentially useless if you use any kind of dynamic page generation. This means anything that controls page access or generates dynamic content is going to bypass your cache system and not give you a performance advantage.

Modules (and Drupal itself) are updated constantly, and it can be a somewhat arduous process to update your Drupal installation. While it is straightforward, there are many steps involved and things can go wrong. It’s crucial to always do a backup just before any upgrades. You never know how two modules might interact and hose your database. This is a rare occurrence, but I’ve seen it happen.

Security flaws are found on a regular basis, too. While I have never seen one exploited in the wild, Drupal’s rapid pace of development means you need to stay on top of your updates.


If you need power with no regard for speed, Drupal is your best bet. You can build virtually any kind of site you want with it, no matter how special-purpose it is. Maintenance is more of a hassle than with other systems, and there are significant performance tradeoffs, but if you absolutely must have that level of power and extensibility, you can’t beat Drupal.


Just a few words about PHP-Nuke. It is more similar to Joomla than the other systems. Like Joomla, there are pre-customized versions out there, my favorite of which is Nuke Evolution Extreme. If you want a stable, robust system that isn’t exactly bleeding edge, something like this will suit you just fine. Nuke Evolution Extreme, in particular, has phpBB built into it–in fact, the entire user system just piggybacks on top of phpBB, so there’s only one database to maintain. I’ve found it very suitable for environments such as “clan” sites, which just need to be able to communicate easily and have a simple interface for adding pages and so forth.

It’s not nearly as bleeding-edge as the other systems, but it is very capable and featureful on its own.

Finally, I would stress that you carefully evaluate your needs before choosing a content management system–and whether you actually need one at all. Depending on what you want to do, static pages might serve you better. Or, none of the above will suit your needs and you might require something more purpose-specific. Wikipedia has a handy list of CMS software, which is worth digging through if you want to find something for a particular niche.

As always, it’s best to choose the right tool for the job. I use all the above systems in one way or another, depending on my needs. Some are heavily customized, some aren’t. No system is perfect for every environment and situation! That is the key point I’d like you to take away from this article.

So, good luck!