The LyX project has been quietly, but effectively, hammering away
at a major update to its document processing program for about two
years. On November 10, the LyX project unveiled the first beta for LyX
2.0. With better revision control, document previews, and new support for
many LaTeX commands, LyX 2.0 is shaping up very nicely.
For the uninitiated, LyX is a multi-platform "document processor," essentially a front-end for editing TeX/LaTeX documents without having to muck with the actual TeX/LaTeX markup. At least, not unless one wants to fiddle with the markup. LyX does make it possible to insert TeX/LaTeX markup, but you don't generally need to.
The difference between LyX and, say, LibreOffice Writer or Microsoft Word goes beyond the document format on the backend. LyX doesn't attempt to render documents in a "What You See Is What You Get" (WYSIWYG) style. Instead, the LyX motto is "What You See Is What You Mean" (WYSIWYM). LyX presents the structure of the document instead of the exact presentation. One reason for that is that the LyX folks want users to focus on the writing rather than bit-twiddling the presentation. Another is that LyX can export to a number of formats (PDF, HTML, plain text, etc.) and the presentation is going to change depending on the stylesheet and target format.
Though LyX works differently than Word or Writer, it has many of the features that users would like to have. For instance, LyX has spell checking, version tracking, and even revision control. It can produce simple documents, or entire books with beautifully (thanks to TeX/LaTeX) rendered equations.
Looking at 2.0
Binaries haven't shown up for LyX 2.0 yet, but there's very little difficulty in compiling from source. For users who want to test LyX 2.0 alongside an existing 1.6.x release, there are two options. One is to run LyX from the
src directory after compiling, the other is to use the
--with-version-suffix option when running
After compiling LyX 2.0 beta I set about creating a few documents and
testing some of the new
features listed for 2.0. From the limited testing I've done this week,
the first LyX 2.0 beta seems stable enough to use for day-to-day work. One
word of caution, though, for those who wish to test out 2.0: the
document format seems to be backward-incompatible with 1.6.x. When trying to open
a document created in 2.0, LyX 1.6.7 complained about being unable to
convert the format.
Major New Features
At first glance, there's not an enormous difference between LyX 1.6.x and 2.0. Open LyX 2.0 and 1.6.7 side by side and it's difficult to tell them apart. But the two years of LyX development have generated quite a few major and minor new features.
The idea is that the formatting of LyX documents is set by the document type. For instance, the layout of a presentation is set by the Beamer class. If you want to change those things, you make changes in the class, not the document itself. It's been possible to embed layout information in a LyX document previously, but the 2.0 release adds a way to do this via the "Local Layout" tab under "Document Settings". Now users can easily define specific tweaks to a layout without having to muck with the class itself. Even so, the LyX folks caution that it's "not a good idea to mess with a layout when you are actually working on a document."
Most books or other works include only one index — but some works call for more than one index. For example, in a book discussing the history of the Linux kernel one might want to have an index of names, and an index for features. LyX 2.0 introduces multiple indexes so users can do just that. If more than one index is defined, LyX adds menu entries for each under the "Insert" menu so that users can choose between the relevant indexes, and separate entries to place the target indexes in the document.
LyX has had thesaurus support for some time, but that support has been limited to
English. This is, obviously, not terribly useful for much of the world. LyX
2.0 adds support for the MyThes library, which happens to be what
OpenOffice.org uses as well. This makes all of the OpenOffice.org
thesauri available to LyX 2.0 users as well. Likewise, LyX has had
spell check support for some time, but it required running the spell check manually. 2.0 adds support for continual spell checking, though it can be turned off for users who prefer the manual way.
It seems that several of the changes are moving LyX towards being more directly fussy with formatting. A new feature in LyX 2.0 is support for LaTeX commands that were not previously supported in LyX. For example, by adding the "Initials" module (under "Document Settings"), users can define initial caps (where the first letter of a paragraph or section of text is larger than the surrounding text). But it does not automatically set an initial cap for any structure in the document — it adds an "Initial" entry under the menu, which allows users to define initial caps manually. There's also support for several types of new underlines (via the LaTeX ulem package). One addition that seems like it should have been available earlier is the introduction of support for the LaTeX
\rule command, which inserts a horizontal line in the document.
For those who wish to typeset songbooks, or just add a bit of musical notation to a document, LyX now supports the Lilypond LaTeX module and can import from Lilypond.
One of the most interesting additions is the "compare documents"
feature. LyX already had version control support and support for tracking
changes, but this new feature produces a document that incorporates the changes between
two documents and produces output from that. At least in theory. To test
the theory I tried comparing the User Guide for 1.6.7 and 2.0 beta. It took
about a minute to produce the differences document, which can be viewed in
LyX. However, trying to produce output (like a PDF) of that document failed
with a spectacular number of errors.
In general, LyX has had dozens of small enhancements for better control over output, document presentation, and support for new types of layout. See the "what's new" document for the full list of new features. Though most are incremental updates, taken together it adds up to quite a major revision.
LyX users who aren't itching to upgrade will be happy to know that many, but not all, of the features new to LyX 2.0 have been backported to the 1.6.8 LyX release that came out on November 15th. The 1.6.8 release is the recommended upgrade for users who want a "solid and polished" version. The LyX project hasn't yet released Linux binaries for 1.6.8, but one can find installers for Windows and Mac OS X if they want or need to use LyX on those platforms.
schedule for 2.0 calls for a final release in December. Since the
project has hit its targets so far, it seems likely that (barring any major
show-stoppers), users will have a stable LyX 2.0 in time for the
holidays. Though on the surface LyX 2.0 doesn't look that different, it has
a fairly significant set of improvements. What's coming in later versions?
There's no roadmap for LyX releases beyond the 2.0.x series, but users can
add to the wishlists, which have gotten long enough that they've been broken into two lists roughly lined up by internal features (tools, citing, inline editing) and external (saving, exporting, installing).
Assuming one wants to produce PDF, HTML, or other non-Word and ODF documents, LyX is a top-notch document processor. The 2.0 release is well worth the two years it's taken to produce.
to post comments)