Home Index Search Links About LF
[LinuxFocus Image]
[Navegation Bar]
News    Archives    Map 
[Photo of the Author]
by Ismael Ripoll

About the author:

Ismael Ripoll, Ph.D. from the Polytechnic University of Valencia in 1996. Professor in operating systems at the Department of DISCA.



Lyx Review



Lyx is a wonderfully capable word-processor which uses LaTeX to generate the layout.

_________________ _________________ _________________


What is LyX ?

LyX is a WYSIWYM (What You See Is What You MEAN) editor that works as a front end to LaTeX. Most of current text editors have evolved towards the WYSIWYG concept. In contrast with this trend, LyX does not try to give an accurate representation of the final result, but just an approximation of it. It can be described as something in between the draft mode and the page mode of MsWord.

With this introduction, you may think that LyX is a simple and not very competitive program. That is absolutely false.

It is important to point out that LyX is a text typesetter, not a text composer. With a word processor, you can place text or a figure wherever you want, or you can choose the exact width of a table cell. That is not possible in LyX. In fact, if you try to insert two consecutive white spaces, the second one will be ignored; the same thing happens if you try to insert two carriage returns. Then, How is it possible to format the text? . LaTeX will do it automatically. To do so, it is only necessary to give some hints about the structure of the text, indicating such things as the enumeration and titles of the sections, where should the figures be, etc..

The limitation that Lyx imposes on playing with the text does not have to be seen as a problem, but as a quality. Just remember how many times before starting to write a document you have experimented with the font type and the headers aspect. Maybe you took these important decisions then wrote three of four pages and suddenly you forgot the style of the second level titles or even worse, you changed your mind and you have to go back and reformat the whole text again. If our text editor could handle such trivial decisions by itself we could fully concentrate on what we are going to write and not on how it is going to look.

It can be said that LyX is an editor assistant, the edition and final composition is done by LaTeX.

In my experience, a lot of people who have tried or even heard about LaTeX, remember it as a bad experience. Don't worry, LyX is here for assisting us. It will cope with LaTeX and all the mess of compiling the text. We do not have to write one LaTeX command (if we don't want to).

This is the main LyX window.

To be honest, the presentation of LyX GUI is not that attractive nor polished. It is due to the Xforms library used to build the GUI. One of the objectives of the next version is to use the Gtk library (developed to build the GIMP) or/and the library Qt (the best library today available and used to develop the KDE).


It's history

The project was started by Matthias Ettrich. Currently he is not in the project, because he is now the leader of the KDE project.

The latest stable version is 0.10.7. It was released at the end of 1996. The next stable version (0.12.0) is ready to be released (in fact, by the time you read this it could be the current version). This paper is based of the 0.12.0.pre7 version. There is a continuous work on the code and every week there is a new version with fixed bugs and new capabilities. The numbering method (of the versions) is similar to the one used by the Linux kernel: the stable versions have an even second number, and the developing versions have an odd number.


What is LaTeX ?

If you don't know LaTeX, it could be described as a language to format documents, it is something like the well known HTML. A LaTeX document contains the text to be printed and some commands that describe how to format it. To see an HTML document you just have to give it to a HTML browser, but to see a LaTeX document you have to compile it to get a graphical representation called DVI (DeVice Independent). It is an intermediate format that has to be translated into Postscript (or another printer dialect) to be printed. There is also a dvi viewer that lets you see the results on screen.

The history of LaTeX starts with Donald E. Knuth. In 1977, unable to find a reasonable typesetting or wordprocessor program for writing his famous series "The art of computer programming", he decided to create the TeX, that is not other thing but a powerful programming language dedicated to text formatting. With TeX you can do everything and with incredible quality. For example, the resolution of the output file is 57819ppi (pixels per inch). But, as you can imagine, so much power means that you have to know a lot of details about the formatting and composition process. TeX is basically oriented for publishers, who need very detailed control of the output.

Some time later, in the beginning of the 80's, Leslie Lamport wrote a set of commands and styles based on TeX giving it a high level interface. These routines were called LaTeX (Lamport TeX). Thanks to laTeX it is possible to prepare high quality documents very easily (compared with plain TeX). Since then, LaTeX has been adopted by the mathematics' community, mainly because of the unbeatable quality of LaTeX mathematical expressions.

The first version widely used was LaTeX 2.09. The current version is called LaTeX2e, and is the version required by LyX to format documents. Version 3 is currently under development.


Main characteristics

I'm not going to even try to present a detailed and boring description of all the capabilities of LyX. Rather, I will present the main capabilities that, from my point of view, are most exciting.

There is a lot of on-line help and examples. The manuals are written in LyX and can be read directly from the LyX program. Thankfully, the manuals are written for "reasonable" users, they do not assume the reader is completely ignorant and needs to be told what bold font is or how to use the mouse. With this style of help it is possible to become a LyX expert in a short time and within a very few pages. The speed of the search and replace tool is especially impressive.

The tables are fully automatic and WYSIWYG. The size of the cells are adjusted online automatically. It is possible to insert, delete and paste columns and rows; align text; join and split cells... This is, every- thing you can find on other editors.

It is also possible to insert figures and tables as "floating" objects. A floating object is one that can be moved (if needed) from its original location, including whole pages. For example, it is desirable that figures appear at the top of the page where they are referenced. Floating objects can have both a title and a label so they can be referenced from other places. During the compilation of the document, LaTeX will assign a number to each figure and table, update all the references, and generate the list of figures and tables.

It is possible to insert footnotes as well as marginal notes. Marginal notes are useful tags that are not present on other editors. Notes are also floating objects, therefore we do not have to worry about their location. Another interesting property is that it is possible to insert whatever you want inside a note (tables, figures, equations, etc.), except more notes.

As for spell checking LyX is helped by the ispell tool (a utility that is available on all distributions). The operation of the speller is similar to those found with other editors: every incorrect word is highlighted and a list of alternatives are proposed for replacement.

LyX uses an innovative mechanism of references to objects (sections, figures, tables,...). You can insert labels in any place, and then insert references to them. During the editing phase references act as URL addresses, so that when you click on them, the cursor is brought to the place where the label is defined. In the final document, the labels are removed and references appear as the number of the section, figure or table (or the page number, depending on the type reference).

And now the best of all: the mathematics. What I'm going to say is not an exaggeration, there will never be such a simple and intuitive way to write equations and with so impressive printed result. This capability of LyX will be appreciated. Usually, other editors can cope with somewhat complex mathematical expressions... Now try LyX, take your time, and think of a mathematical expression that goes beyond reality: plenty of subindexes, integrals, fractions, irrationals numbers, arrows, braces, arrays, etc. And now print it... and enjoy it!. If you know LaTeX then you can write the expressions the same way you used to do, and LyX will display it on-the-fly!

I haven't mentioned it yet, but it is obvious, LyX tracks chapters, sections, subsections, and so on, and with this information LaTeX is able to build the index in the final document.

I have already said that thanks to the good on-line help the learning time is quite short. Another feature that helps with learning LyX is the intelligent use of the keyboard, mouse and menus. It is not necessary to learn two different ways of doing the same things (mouse and keyboard). It is possible to click in the "File" menu and then "Save", but it is also possible type "Alt-F" and the "S" (the menu will not get opened) to perform the same action. On the other hand, most common operations are available with the familiar "Control" commands: <Ctrl>-C to copy; <Ctrl>-V paste; <Ctrl>-F search & replace.


LyX and LinuxDoc

One of the available styles in LyX is the SGML(LinuxDoc). It can be used to read and write documents of the LinuxDoc documentation. To read a sgml document, it must first be converted to LyX format with the sgml2lyx utility. To create a sgml document, simply select the style SGML from the document style window and insert the title and the author (these are mandatory), then just write the body of the paper.

In this mode, LyX does not show all the editing capabilities, just those supported by LinuxDoc.

There is a strong relation between LyX and LinuxDoc, it is enough to say that the sgml2lyx tool is in the sgml-tools and not in the LyX distribution. Also, the SGML documentation that comes with the sgml-tools package is, among other formats, in LyX.



LyX will come as a welcome surprise to the users of LaTeX and SGML, because it has the same background. Users that need very high print quality, will appreciate the power of LyX-LaTeX. Only users that need full control of the exact final layout might be disappointed.  

Appendix. Installation

The stable version 0.10.7 is available in the Debian and Red Hat distributions in the "contrib" directory.
LyX is also available to other UNIX's. In ftp://ftp.via.ecp.fr/pub/lyx/bin/ you can find compiled versions for the following systems: AIX, SCO, SGI, SparcLinux, SunOS5, Alpha, HPUX y Sunos4.1. There is no compiled (ready to use) version of 0.12, you have to compile it by yourself. To do so, you need the library Xforms, version 0.88 (or later) and the LibXpm-4.7. Both of these can be downloaded from different ftp servers compiled and ready to install.

The installation is quiet simple... it is shorter to do than to explain:

$ ./configure; make ; make install

Do not forget that it is imperative to have the LaTeX packages installed to use LyX. It is available in all Linux distributions that I know of. In fact it is one of the default packages in Debian.

If you want to use LinuxDoc with LyX then you will need the sgml-tools package as well. Without this, the LinuxDoc mode is not available.

For more info: There are a lot of LyX pages around the world:
Webpages maintained by the LinuxFocus Editor team
© Ismael Ripoll, FDL
Translation information:
en --> -- : Ismael Ripoll <iripoll(at)disca.upv.es>

2002-11-02, generated by lfparser version 2.34