I’ve been updating my about page at Wineskin Media, and I thought y’all might like to hear how I explain free software to prospective clients. Folks who’ve invested thousands of dollars in top-of-the-line WYSIWYG desktop publishing software can be, well, skeptical.
InDesign. Quark. Ventura. When you think “desktop publishing”, these well-known applications may be the first items that leap to mind. If you need something typeset, you’re looking for a professional who invests in the tools of the trade. But some of the lesser known tools out there are also some of the best.
They’re also free. If you’re unfamiliar with the free and open source software community, the idea may shock you: how could a free program be anything more than a toy? Yet you probably rely on free software every day. For instance, there’s a good chance your company web site runs on Apache, an open source server that runs half the Internet. Free and open source software is a critical tool for many major organizations (for example, NASA).
The word free here has two meanings: free as in speech, and free as in beer. For my work, it’s the freedom of speech that’s essential. If software is free, it means that if something goes wrong or I need a particular improvement, I can look right at the code and fix it myself. Each famous program I mentioned earlier is proprietary; it’s actually illegal for you to examine the code you paid for, much less make any changes. You don’t own these programs; the typical End User License Agreement amounts to a rental.
Now if you’re not a programmer, you don’t want to touch the code anyway, but the key is that anyone else can look at the code too. If there’s a problem or a needed feature, any programmer anywhere on the face of the planet can fix it right now; and they often do.
The motivations for NASA to distribute software codes Open Source are:
To increase NASA software quality via community peer review
To accelerate software development via community contributions
To maximize the awareness and impact of NASA research
To increase dissemination of NASA software in support of NASA’s education mission
While not all free software is also free as in beer, most of it is, for an excellent reason which the above quote makes clear: dissemination. The more people who can use, critique, and improve an application, the better it will be. While developers of such projects are often highly-paid professionals, the economics of free software are simple: at a minimum, everyone gets paid in better code. The two senses of free work together.
Free software is a crucial benefit I have to offer. Rather than attempt to support every version of every proprietary application in use, excellent as it may be, I simply use software which any client can always download for free. With the exception of LaTeX, which is a highly specialized typesetting tool, every program I use installs easily on almost any platform (Linux, Mac, Windows, etc.), and features a familiar, easy-to-use interface. (LaTeX is also free, of course, but the learning curve is commensurate with its power.) Ideally, I could guarantee support of any program you might care to use; in the real world, the next best thing is to guarantee that you can get any program I use, any time you like, for free.
My typesetting program of choice is LaTeX, which is based on TeX. TeX is a mature typesetting language; people have been crafting scholarly books and journals with TeX for decades. It’s a whole different kind of program than, say, Pagemaker. Rather than a WYSIWG interface, where you draw frames on the page and fill them with text, TeX is a “language”, like HTML. LaTeX is a set of additional macros, written in TeX, that make it easier to separate form from content and add new styles and capabilities.
See examples of TeX and LaTeX in professional use. You may wish to skip to the typesetting section.
Usually, I’ll receive a manuscript from a client as a document created by a word processor, such as OpenOffice.org or Microsoft Word. I’ll convert this document to several LaTeX source files, which are basically the text of the work plus markup. For instance, this is how you \emph{emphasize} a word. These files are plain text; when you open one, you see the exact characters that are stored on your hard drive. You can view them in any text editor, on any platform. Twenty years from now, you’ll be able to open these files in any text editor, on any platform. They will never refuse to open because they’re “corrupt.”
Have you ever tried to open a Pagemaker file from the 90s? Or received a document that was saved in the next version of Word, the one you haven’t upgraded to yet?
Of course, a LaTeX source document isn’t the actual printer-ready book. My major service as a typesetter is to use and design the additional packages (also plain text) which will make the book lovely, as well as indexed, appendixed, and so on.
It’s true that to transform all this into a printer-ready PDF, you need a functioning LaTeX setup and any necessary additional packages. The bad news is that unlike all the other free programs I use, LaTeX can be difficult to get up and running. The good news is that not only is LaTeX free and stable, it has an immense user base which is willing to help. Besides, you don’t even need to bother with the LaTeX files unless you want to; you’ll receive a printer-ready PDF. If you ever need to revise the files, you can come to me, or download LaTeX yourself, or get help another typesetter who uses LaTeX. Your options are the same as with the output from any professional software, with the additional benefit that if you opt to acquire the software yourself, it’s free and stable.
When the source file is ready, I run it through LaTeX, which outputs a printer-ready PDF. For revisions, I edit the source file and output a fresh PDF. Although it does take a few seconds to generate the new PDF, I save those seconds many times over again by being able to work on the files in a quality text editor, as I explain below.
For Distributist Perspectives II, IHS Press wanted to be able to edit the source files themselves, but not to learn LaTeX, so I used OpenOffice.org. OpenOffice.org is a WYSIWYG word processor, available for free, naturally. OpenOffice can output to a printer-ready PDF. Normally I would not use a word processor for typesetting, but OpenOffice is frame_based and has decent hyphenation algorithms, and the book was simple, so the result was good. If you’ve used Microsoft Word, you can use OpenOffice; but again, LaTeX is my tool of choice.
For book covers, I use Scribus. Scribus is a WYSIWYG DTP program that’s probably similar to what you’re familiar with: Quark, Pagemaker, and so on. As with my other tools, you can download it for free, and the output is PDF. All my book covers featured on this site were made with Scribus.
A good book cover generally needs an excellent photo or two, so I use the GIMP, the GNU Image Manipulation Program. If you’ve ever used Adobe Photoshop, you’ll be right at home. And if you haven’t yet invested in Photoshop, or the latest upgrade, give the GIMP a try; with layers, filters, and much more, you may wonder why more people haven’t heard about this marvelous program.
A book is mostly text.
I used WYSIWYG programs for years, and I see their good points; I’m grateful I have them now for book covers and other graphics-heavy projects. But if I’m trying to manipulate a few hundred pages, I’m far happier whizzing through a collection of text files than clicking and clicking through a sluggish GUI. I used Pagemaker for years, and LaTeX certainly feels faster.
This would still be true even if I ran a WYSIWYG on a supercomputer. A book is essentially tens of thousands of words. I want to be able to edit those words, fast. This need is all the greater on projects where I’m not only typesetting but proofreading and editing as well. I’ve never used a WYSIWYG program, not even Microsoft Word, that had text manipulation tools that even came close to a solid text editor. I use Vim.
LaTeX offers intricate control over the layout of a manuscript. I can code changes in one place in a LaTeX file that might require changes to multiple master pages in Pagemaker. Of course, any decent DTP programs includes a scripting language, but my impression is that you’re expected to use that as an arcane last resort. LaTeX allows you to separate content almost completely from appearance. Aspects that in a WYSIWYG have to be edited all over the place (master pages, style dialog boxes, etc.) can all be coded at the beginning of the LaTeX file, and saved as a separate style or classfile to use for later projects.
For instance, having designed the layout for an upcoming issue of Faith and Reason, the academic journal for Christendom College, my work on future issues will be almost entirely editorial, unless they want to change the look. I convert their Word documents to LaTeX, use my old style file, and there’s the PDF.
So far, this might sound like templates in other DTP software, but LaTeX provides a much more fine-grained control. This journal’s a good example. As I convert each article into LaTeX, I use a special macro around the name of the article’s author. With this label, which I defined for this project, the name is not only typeset correctly, as an applied style might do, but the last name is placed in the article header, in uppercase, and the full name is placed in the Table of Contents. All with the same macro.
LaTeX makes beautiful books. Period.
It’s not that you can’t make beautiful books with other programs; people do all the time. But there’s a mysterious quality about LaTeX, a certain something, which is really the convergence of all the tiny details it gets right. If you check my portfolio, you’ll see what I mean; I say this in praise of the program, not my particular design choices.
The one obvious advantage of a WYSIWYG interface is immediate feedback. That I grant. I do have to hit a few keystrokes and wait a few seconds to to examine my work in a refreshed PDF. But as I said earlier, I save those seconds many times over in a day. And I constantly have my eye on the PDF, the final output, rather than hoping that when I’m done in my program, the PDF will turn out right. The final PDF is the only guaranteed “what you you see is what you get.”
So I use LaTeX for text-heavy projects because it offers more control, is more enjoyable, allows me to spend my time in a good text editor, and is almost certainly faster, especially when multiple projects will have the same look and structure.
At the end of the day, LaTeX simply feels better. I know from hard-won experience that I can get it to do pretty much anything I want. I may have to dig deep into unholy and arcane syntax, I may have to hunt for secrets not meant for mere mortals, but I’m never going to hit a brick wall. There’s always some way to customize and extend it, and that’s exactly what I need.