[image of a Brave GNU World]
Brave GNU World - Issue #45
Copyright © 2002 Georg C. F. Greve <greve@gnu.org>
Permission statement below.

[CN | DE | EN | FR | IT | JA | ES | KO | PT | ZH]

Welcome to another issue of the Brave GNU World. Since word processing is certainly among the most common users' needs, the following feature has been moved to the top. Hopefully this will also give especially "beginners" new perspectives.

preview-latex - The Introduction

The history of TeX and therefore also LaTeX [5] goes back to Donald E. Knuth, undoubtedly one of the most important heads of computer science. Because of its capabilities and properties, LaTeX turned out to be the favorite solution for people in science and the computer area.

A major advantage of LaTeX is to allow an author to concentrate on the content without having to worry about details of display with every word. But also when it comes to typesetting mathematical equations of any complexity, LaTeX is still unrivaled.

This becomes possible because LaTeX offers a kind of "Programming language for documents" in which texts are being written.

Especially for people not so deeply entrenched in computers this can provide a significant barrier, which is why so-called WYSIWYG ("What You See Is What You Get") programs have become the predominant choice for them. This paradigm also offers some advantages for documents massively relying on graphics and all widely-used office packages today are following it.

In order to combine both paradigms and get the advantages from both worlds, some programs offer WYSIWYG input on a LaTeX basis. Examples are LxX [6] or TeXmacs, [8] which was introduced in issue #30 of the Brave GNU World. [7]

Like the office packages, these have to introduce another layer between user and LaTeX document, which makes it harder or even impossible to access all of the LaTeX functionality. Also this also often requires an intermediate format, which makes the long-term maintenance of a document more difficult.

Also it tends to hide one advantage of LaTeX, which contradicts the WYSIWYG paradigm. Because of the design as programming language, it is possible to include notes, comments and instructions in LaTeX document, which are invisible in the output, but can be incredibly useful for further development and maintenance of a document.

preview-latex - The Project

In order to make life with LaTeX more comfortable for beginners and professional users without having to go without any of the advantages of LaTeX, David Kastrup began the preview-latex [9] project.

preview-latex is a package for the editors GNU Emacs and Xemacs, which allows embedding WYSIWYG feedback into the AUC-TeX mode.

As the largest part of working with a document is still writing it, this can be done in Emacs, a very mighty tool with many additional features. At the same time more complex elements like mathematical equations, non-latin texts, chess and go boards, musical score sheets, graphics and so on can be visualized directly in the editor.

Since preview-latex does not require or make modifications in the LaTeX code, the full power of LaTeX can be used. Also in cases where different authors work on the same document, the use of preview-latex in one place does not influence the others.

The project was originally "scratch your own itch" only, when it began during the PhD thesis of David Kastrup, who - after publishing it as Free Software under the GNU General Public License (GPL) - quickly discovered that there was remarkable interest in his project.

In short time, six more developers were found, among which Alan Shutko, Jan-Åke Larsson and Nick Alcock should be highlighted. Alan Shutko created and maintains the Autoconf-Support. Jan-Åke Larsson has contributed massively to the documentation, did the RPM packaging and is currently working on a rendering daemon to speed up the display. And Nick Alcock is the man behind the XEmacs port and helped with a lot of debugging.

Not surprisingly, preview-latex is written mostly in TeX-Macros, some PostScript and a lot of glue code in Emacs-LISP. For speed, future elements will be employing C, as well.

In the eyes of David Kastrup, one of the main advantages of preview-latex is being unobtrusive. It only becomes active on request and because of the intuitive user interface, most people never seem to read the documentation. Also it has already seen a lot of optimization and the response time is acceptable even for fairly large documents on mediocre hardware.

Larger graphical parts still create some problems, however, since they do not feel comfortable to handle in either GNU Emacs or Xemacs.

Therefore the project is still looking for volunteers to help improving things also from the side of the Emacs editors. Especially on Windows and Macintosh, there is still some work to do for the GNU Emacs.

Technically adept people will certainly find many ways of getting involved. I do hope that some of the "normal" users might have gotten curious and will take a look at preview-latex without being discouraged by some initial difficulties.

If you are interested in a more complete and verbose overview of the field of text processing, I'd recommend taking a look at a document [10] written by David Kastrup during his work on preview-latex.


It is tradition on Unix systems that all proceedings and activities in the system of services like web server, mail server, name server, databases and many more are written into logfiles. This protocol of activities allows system administrators to monitor their systems closely.

But the logfiles can quickly become fairly large, which makes handling them hard. Although they are usually in ASCII format, a file size of several megabytes can not really be completely grasped by a human being.

On top of this, data only becomes information when approached with a certain question. But a significant part of the data will be irrelevant to the question, so in practice this means that information is usually buried under irrelevant data and therefore almost inaccessible.

This problem has occured in many places for several years now and has triggered the development of programs to aid people in the analysis of logfiles.

So on April 6th, 2000, several computer scientists of Dutch companies got together to discuss the tedious task of log analysis. It became apparent that each of their companies creates solutions that are merely duplicating efforts already completed in other companies.

In order to end this multiplication of work, the LogReport team began writing a program as Free Software under the GNU General Public License (GPL), which should accomplish these tasks reliably in a professional environment. Almost two years later, Lire 1.0 [11] was published.

Like the "Electric Monks" of Douglas Adams, which free humans from the boring task of believing, it is the goal of Lire to free people from the tedious task of logfile reading. Hence the name, because the French word "lire" means "reading."

The program is written in Perl and Bash, massively employing XML and it works in four steps. First, logfiles are normalized into a "Destilled Log Format" (DLF) in preparation of the second step, where they are being analyzed by generic tools which can be used across services. The output format of those tools is XML, which in the fourth step can then be translated into one of the final logfile formats.

Currently, Lire has input filters for 29 different services, still counting. A new service can simply be added by writing a converter into the DLF format.

A special advantage of Lire is that it does allow to compare different implementations of the same service, like the MTAs exim and postfix.

The project has already proven itself to perform well in companies with logfiles of several gigabytes for tasks like performance measuring, system maintenance, problem solution and marketing, so it can be considered stable.

Accordingly to Josh Koenig, who filled out the Brave GNU World questionnaire, the biggest weakness is currently the API, which isn't easily understood or well-documented. Besides a user-friendly GUI, this is a major concern of further development.

Help on these areas as well as filters for new services are very welcome. Also the group seeks help making Lire popular especially in medium to large size companies.

The hard core of the LogReport development team consists of Joost van Baal, Francis Lacoste, Egon Willighagen, Josh Koenig and Wessel Dankers, although many developers from different countries around the world have contributed. The project is being maintained by the LogReport Foundation, a charitable association in the Netherlands.

And besides being technically useful, this project also offers a very nice example for one of the most important economic advantages of Free Software, the prevention of repetition of work.

GNU Source Highlight

GNU Source Highlight [12] by Lorenzo Bettini takes a source code and creates syntax-highlighted output in HTML or XHTML. It has evolved out of the tools java2html and cpp2html, which were introduced in issue #21 of the Brave GNU World and have dissolved into GNU Source Highlight.

Currently input filters exist for Java, C/C++, Prolog, Perl, PHP3, Python, Flex and ChangeLog. Filters for other languages can be added, however.

The project itself was written in C++ and is stable according to Lorenzo Bettini. He is now working on a new output format (LaTeX) and would like to write a better description language for programming languages in order to replace Flex, which is currently used for this purpose.

Most of the support he received for this project was in terms of filters for different programming languages written by other developers. John Millaway for instance wrote the filters for Flex and ChangeLog, Christian W. Zuckschwedt and Josh Hiloni contributed the XHTML output and Martin Gebert wrote the Python filter. Alain Barbet wrote the filters for PHP3 and Perl.

The major weakness of the project at the moment is that references of functions can currently not be mapped to their definitions, as only lexical analysis is being performed. Fixing this and writing more filters would therefore be good ways of supporting the project.

Naturally, developers using GNU Source Highlight as commandline tool or interactive CGI in the web are the classical user group of the project. But there are also users who do appreciate a good graphical user interface.


Ksrc2html [14] by Martin Gebert is a graphical user interface for GNU Source Highlight; also available under the GNU General Public License (GPL), which makes it Free Software. As the name suggests, Ksrc2html is based upon C++, Qt and KDE 2, an update to KDE 3 is planned.

Ksrc2html allows a formatting preview in order to allow better control over the parameters. Also settings for colors and font types can be made interactively and saved for later usage.

Thanks to Xavier Outhier, who took care of the French translation, Ksrc2html is currently localizable for German and French.

Martin considers the project to be stable, although he does plan to expand the dialog for colors and font types in a way that will allow automatic adjustment for different programming languages.

Also he would like it to be known that help with the KDE 3 port would be quite welcome.

Free Software in Asia

As the Asian readers will probably be happy to read, on July 10th, 2002, the "Free Software Initiative Japan" (FSIJ) [15] was founded. It seeks to further Free Software in Japan and create the basis for a future FSF Japan or FSF Asia.

Chairman of the FSIJ is Prof. Masayuki Ida, who was acting as the "Vice President Japan" of the Free Software Foundation North America for a long time and with whom the members of the Free Software Foundation Europe led intensive discussions during his trip through Europe last year.

In order to provide an impulse for Free Software in Japan, the FSIJ organized the "Free Software Symposium 2002" in Tokyo on October 22nd and 23rd. Being the first event of its kind in Asia, speakers from China, Thailand, Japan, Singapore, Germany, Italy and the USA were invited to provide an interesting conference programme.

Besides the more technically oriented presentations about Debian, the HURD project or RedFlag Linux, the Chinese GNU/Linux distribution, there were also speeches about the larger issues of Free Software and the situations in Asia and Europe.

The round table on the evening of October 22nd discussed the issues of better international cooperation for internationalization of programs and documentation as well as the possibility of a solution oriented database for Free Software. Even though these issues would certainly not be solved in two hours, some practical ideas were found that are now being pursued by mail.

All in all this was an important step forward for Free Software in Asia, which also intensified the dialog between the asian countries. Building upon it, it is considered to hold a followup-event sometime around February or March 2003 in Thailand.

Maybe it will be possible to establish these events as a permanent institution wandering from country to country in Asia. In any case it is very good to see that Free Software is also on the rise in Asia.

Asian readers of the Brave GNU World who would like to get involved should probably get in touch with the FSIJ or GNU China [16].

Until the next time

Enough Brave GNU World for this month. Although the repetition might cause some to read over it, as every month I am asking for questions, ideas, comments and mails about interesting projects.

And despite the danger to be buried under more mail, I'd like to ask you a concrete question. In reference to Douglas Adams, I'd like to hear what is the most important question to you that Free Software provides the answer to. Like everything else, please send your questions to the usual address. [1].

[1] Send ideas, comments and questions to Brave GNU World <column@brave-gnu-world.org>
[2] Home page of the GNU Project http://www.gnu.org/
[3] Home page of Georg's Brave GNU World http://brave-gnu-world.org
[4] "We run GNU" initiative http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html
[5] LaTeX home page http://www.latex-project.org
[6] LyX home page http://www.lyx.org/
[7] Brave GNU World issue #30 http://www.gnu.org/brave-gnu-world/issue-30.en.html
[8] GNU TeXmacs home page http://www.texmacs.org/
[9] preview-latex home page http://preview-latex.sourceforge.net
[10] Document: "WYSIWYG-related Tools & Techniques for LaTeX" http://preview-latex.sourceforge.net/wysiwyg-draft.pdf
[11] Lire home page http://www.logreport.org
[12] Source Highlight home page http://www.gnu.org/software/src-highlite/
[13] Brave GNU World issue #21 http://www.gnu.org/brave-gnu-world/issue-21.en.html
[14] Ksrc2html home page http://murphy.netsolution-net.de/Ksrc2.html
[15] Free Software Initiative of Japan http://www.fsij.org
[16] GNU China http://www.gnuchina.org

[ previous issue | Brave GNU World home ]

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@gnu.org.
There are also other ways to contact the FSF.

Please send comments on Georg's Brave GNU World (in English or German) to column@gnu.org,
send comments on these web pages to webmasters@www.gnu.org,
send other questions to gnu@gnu.org.

Copyright (C) 2002 Georg C. F. Greve

Permission is granted to make and distribute verbatim copies of this transcript as long as the copyright and this permission notice appear.

Last modified: Thu Dec 5 13:41:16 CET 2002