Open Source Programs, by Robert Spotswood

OpenOffice, Lyx, and Scribus, A trio of open publishing tools
How often do you write something in a word processor, and then have it printed out? If you're like most people, the answer is often. But what program do you use? Is it the best tool for the job? Is there a better tool? Is the better tool worth the effort of learning?
Word processing versus desktop publishing
One of the first questions you have to ask is, "What am I trying to produce?" Writing a quick, simple letter is not the same as creating a newspaper or magazine, nor is it the same as writing an article for scientific publication. Am I word processing or am I desktop publishing? What is the difference?
A word processor is a tool for creating mostly text documents. Usually, you can manipulate the text by changing margins, fonts, font sizes, and few other effects. Some word processors have the ability to handle graphics, but it is generally limited. In general, a word processor is character based, meaning most operations revolve around manipulating characters. It is a good, useful tool that most people are familiar with. Often, it is the only text heavy creation tool people are familiar with.
Desktop publishing, abbreviated DTP, while also geared to creating printed output, has a different emphasis. Here the emphasis is combining and mixing text and graphics on the page. Most of the time, the text and graphics are created with another program, and the DTP program is used to combine them in a final form. DTP is generally frame based, meaning containers must be created to hold each piece of content. You can't just click on the page and start typing.
While there is a great deal of overlap between the two, there are differences. The biggest difference is in the difficulty of achieving your goal. You can try to layout a magazine, such as HAL-PC Magazine, with a word processor, and you may, after much frustration, time, hair loss, and premature aging, succeed. You may also leave the police investigating a murder/suicide after someone comes along with some not so minor last minute changes. On the other hand, for simple things, such as typing a letter or short memo, DTP is usually a waste of time.
DTP is used when you need very fine control over all aspect of the output. The typeface, space between letters (called kerning), space between lines, and exactly where text and graphics are placed on the page, are all things you can control down a very fine level (often to within less than 1/72 of inch) with DTP. With word processing, your word processor decides a great deal of that for you.
Another key difference between a word processor and a DTP program is the output. Word processors tend to change the output, sometimes radically, depending on what printer is used for the printout. The printed output from a DTP program should change very, very little, if at all, from one printer to the next, providing the printers have similar capabilities.
Finally, a word processor generally doesn't do a good job of full justification on text. The word processor just doesn't have the fine spacing and kerning control needed to prevent rivers of white. If you really need full justification, use a DTP program or typesetting program for the final output.
From Open Source to Printed Output
There are a number of commercial tools available to help you get to the printed output, but they range from poor quality to very expensive, sometimes both. These commercial tools also tend to use proprietary file formats, making moving to another, better, product difficult. Enter the world of OpenOffice.org, Lyx, and Scribus. While each does things a little differently, all have several things in common.
trio image 1
Figure 1:  OpenOffice.org Writer. Anyone who has used MS Word should have no trouble figuring out the basics.
All three are free. That's right, free as in $0. But what's just as important is the license. In all cases, you can install the software on as many computers as you want, give it away, sell copies of it, even modify it because the source code is also freely available. This is not a limited time offer, because the licenses used by software are designed to make sure it remains free. This is also one of the best guarantees that the software will be around for a long time.
While it is generally true with computer hardware that, "You get what you paid for.", open source software is very different. Most of the time, with open source software, "You get more than you paid for." In the case of the three software packages mentioned, this is very true.
OpenOffice.org Writer
Part of the OpenOffice.org office suite (aka OOo, available from www.openoffice.org), Writer is the name of the word processing program. OOo is the free version of the commercial program StarOffice. The full OpenOffice.org suite includes a spreadsheet program, a presentation program, a drawing program, an HTML editor, and a mathematical formula editor in addition to Writer. It does not come with a database program or email client, although the upcoming 2.0 version will have a database.
OOo works on Windows 95/98/98SE/ME/2000/XP, Linux, and Solaris. Versions are under development for even more platforms. Currently it is available in over 24 different languages, it can also read and write Microsoft Office file formats. According to Wikipedia (en.wikipedia.org/wiki/OpenOffice.org), OOo (and StarOffice) has “secured 14% of the large enterprise market.” With over 33 million downloads, this is not some small unknown program.
Rumors have been circulating that Microsoft representatives compare OOo to being roughly equal to Microsoft Office 97. If all you need is the functionality of Office 97, then OOo is an excellent choice if you don't need Access or Outlook. According to Linux Insider, OOo “...will perform 98 percent of corporate tasks with no problem, and both suites are only improving...” (www.openoffice.org/servlets/ReadMsg?list=announce&msgNo=233; original story no longer available on-line). A comparison of OOo 2.0 (beta) vs. Microsoft Office 2003 (software.newsforge.com/software/05/06/14/2137222.shtml?tid=152&tid=93) tested power user features. OOo won in 7 out of 10 categories.
One thing OOo can do that no modern version of Microsoft Office can do is run completely from a thumb drive (instructions at documentation.openoffice.org/HOW_TO/various_topics/USB_key.pdf). This gives you great flexibility if you have to use different computers and don't have any control over the software on those computers.
A PDF export feature for Microsoft Office can be as much as $300. This comes free with Writer. In addition, the native format for OOo is an excellent choice to save important data. Usually, it takes up less room than the exact same documents in MS Office format, and are easier to recover in case of corruption than binary file formats, such as those used by Microsoft Office.
The OOo file formats are not binary, but zipped XML. This means the file will always be human readable (once unzipped) in any text editor. It not only means your data is much safer, but since the format is open and fully documented, file filters are relatively easy to create. The file format for the upcoming 2.0 version of OOo has been approved as an official OASIS file format. The European Union has recommended OOo as the basis for standard file formats and document interchange, and the format is likely to become an ISO Standard.
Writer has all the normal features you would expect of a word processor. Bold, italics, underline, lists, undo, spell check, thesaurus, support for columns, auto correct, fields, footnotes, versions, macros, and much more. However, it is a word processor, not a DTP application. It is perfect for writing a letter, or perhaps a short memo. It is also good for writing articles that will be used in a DTP application later.
One thing OOo does well that Office 97 does not is support styles. Styles are a collection of formats that you can apply in one step. Used properly, they can not only save you lots of time, but give your documents a more consistent look. If you find yourself doing more than an occasional formatting of a word here and there, you really should be using styles. Certain features, such as a Table of Contents, depend on styles.
Lyx
Lyx is a graphical front end to the LaTex system, which is a structured text formatting and typesetting macro package. No knowledge of LaTex is needed to use Lyx, although it will extend what you can do. The Lyx website (www.lyx.org) defines Lyx as a WYSIWYM document processor, where WYSIWYM is "What you see is what you mean".
The LaTex philosophy of writing is for the author to concentrate on writing, not formatting. Lyx supports this philosophy. Many who have tried it claim they can write better and faster because they don't have to worry about, or spend time doing, formatting.
Unlike most word processors, Lyx makes no attempt to make what appears on the screen look like the printed output. Lyx merely tries to make the on-screen appearance readable and look fairly good. This does have the advantage of making editing easier than with a traditional word processor. It must be experienced to be appreciated. The preview of the printed output is not generated continuously, but only on command. This makes for a much lower CPU overhead.
trio image 2
Figure 2: Lyx editing text.
Lyx takes styles (as defined in the OpenOffice Writer section) to the extreme. You must use styles to do your formatting. While the interface may seem pretty standard as compared to various word processors, it is different. Hitting the space bar multiple times does not add extra spaces, nor does hitting enter when creating a new paragraph give you an extra line break. This is by design. The spaces and line breaks are all calculated from the styles by Lyx for you. In many ways, the LaTex system is similar to HTML and CSS.
While you can easily use Lyx to type a short note or letter, it really excels at large, complex text documents. Lyx can easily processes hundreds of chapter and section labels, thousands of footnotes and inserted graphics, intricate cross-references, complex multi-level outlines, formatted tables of contents and lists of illustrations, complex mathematical formulas, and exhaustive indices and bibliographies. If you need to write a scientific book, thesis, or other complex document, Lyx is a great choice. The LaTex (and Lyx) output quality is superb and available as LaTex, Postscript, DVI, ASCII, PDF and several others. Microsoft Office documents are not in the list.
trio image 3
Figure 3: Part of the output from Lyx of the text in Figure 2. The table of contents (partially shown) is automatically generated at printout time.
While Lyx does have many word processor-like features, such as a spell checker and styles, it does not fit neatly into either the word processor or DTP category. It is a somewhat strange blend of both but closer to a word processor than a DTP application. Lyx is available free and runs primarily on Unix-like platforms, such as Linux, but there are versions available for Windows and Mac. It is available in at least 20 different languages.
Scribus
Called one of the killer applications for Linux by NewsForge, Linux.com, and Slashdot, Scribus (www.scribus.org) gives its commercial counterparts reason to fear for their market share. Scribus is a DTP application. Users of Adobe PageMaker, QuarkXPress and Adobe InDesign will find Scribus can do almost everything they need, along with few more things. While it does do certain things differently, this is mostly because there is a Windows way of doing things, and a Linux/Unix way of doing things.
Scribus is a page layout application designed for heavy graphic and frame-oriented use and has been used for everything from newsletters to small newspaper production to CD covers to animated interactive PDF presentations like PowerPoint or OpenOffice.org Impress. At least two print books ("Canal Français" and "The Shadow of Yesterday") have been published using Scribus. Other uses include creating corporate stationery, brochures, small posters and other documents which need flexible layout and/or the ability to output to professional quality image-setting equipment.
trio image 4
Figure 4: This article under construction in Scribus.
PDF, particularly a variant called PDF/X (an open ISO standard), has emerged as the standard format for print production and Scribus supported PDF/X almost a year before any other application, including the commercial ones. Scribus adheres very closely to the PDF 1.3 and 1.4 specs and supports press ready PDF creation.
This means Scribus can do many things, including the creation of fillable PDF forms, full javascript support, annotations, and bookmarks. The biggest problem (and it’s not that big) Scribus users have had with professional printers is the professional printers can not handle the more advanced features of the PDF 1.4 spec.
Scribus supports for opentype, truetype, and type 1 fonts, as well as gif, jpg, png, xpm, tiff, eps, pdf, and svg graphics files. Frames do not have to be square in Scribus, and text can flow along curves. If you can imagine the layout, Scribus can create it.
For most, if not all, DTP applications, the various pieces of the document are created in other applications and then brought into the DTP application for final layout. At this point, only minor changes, if any, are made. Scribus is no exception to this rule.
Unlike a word processor, Scribus is not a good choice for creating large blocks of text. In fact, it's a horrible choice, but then it's not supposed to be a word processor. It doesn’t even have a spelling checker, although it does have a hyphenation dictionary. However, it can import text from a number of sources including ASCII, comma separated values, HTML, and OpenOffice.org Writer. In addition, you can easily create your own text filters.
Because OpenOffice.org uses an open, documented file format, Scribus can even preserve any style formatting if you used styles. Scribus also supports creating your own paragraph styles, page styles, and templates. Individual character formatting is available.
The native Scribus file format is XML based, meaning even badly damaged files can be at least partially recovered with a simple text editor. The file specification is open and fully documented so others can create import and export file filters easily. The format is also very resistant to corruption in the first place, which is a big problem for other DTP applications especially when networks are involved.
Scribus also supports python based scripting. These scripts have the advantage of being cross-platform and allowing Scribus to be extended with any of a large number of python modules available.
Scribus development is occurring at a remarkable pace and the latest stable version is 1.2.2.1 (as of 08/25/05; commercial support is available). The Scribus developers pride themselves on the CVS releases being extremely stable and often are more stable than the “stable” version, in addition to adding new features and fixing bugs. As of 08/25/05, version 1.3.0 is available (as well as 1.3.0 CVS), although the developers recommend sticking to 1.2.2.1 for production work.
Scribus is available for Linux, Mac, and the various BSDs, and with the 1.3.0 series, support for Scribus running natively on Windows and Mac OS X commences, although much work remains to be done. Some people have gotten version 1.2.1 to run under Windows using the KDE-Cygwin environment and instructions are at wiki.scribus.net/index.php/Installing_Scribus_on_Win32. You can also use Scribus through one of several Live CD's. Knoppix (see www.hal-pc.org/journal/2004/04_aug/linux.html) is one such CD that does include Scribus, although the available fonts will be limited.
Conclusion
With several different Open Source options available, there’s no reason to pay high prices to get beautiful printed output. OpenOffice.org Writer for word processing, Lyx for long or scientific papers, and Scribus for your DTP needs should meet the demands of even the most discriminating publisher.
Side notes:
Spelling checker: Remember that a spelling checker, while extremely useful, is no substitute for proof reading. As one person once noted, "Me spell chucker word grate. Need grandma chicken."

CVS: CVS is where the developers of many projects put what ever work they've done for that day. It is a "work in progress" storage area. Normally the CVS versions of software are known to be extremely risking to run, assuming it will run at all. Bugs abound, and program crashes will be common. CVS versions of software are normally considered pre-alpha. Usual software development cycles consist of: many CVS versions, alpha version, beta version, one or more release candidates, a stable version, and finally patches for the stable version.

Fillable forms: A little known part of the PDF specification is the ability to create editable PDF files. Acrobat Reader version 5.0 or better is required. The creator of the document can control what parts of the PDF can be edited by the user and can use javascript to check the various entries for errors. The edited form can then be printed with the edits.

Robert Spotswood, a HAL-PC member, is active in the Linux SIG and a freelance computer professional. He can be reached at robert@spotswood-computer.net.