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.
Conclusions
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. |