I'm back in Australia again after a wonderful whirlwind tour of Europe and a couple of days in Singapore. Fantastic to meet so many of the other developers and to see a small sample of all that Europe has to offer. Thanks heaps Jean-Marc, Jürgen, Stephan, Asger, José, Lars and my "non-LyX" friends Micke in Stockholm, Angelin in Singapore and Emma from Melbourne for making my trip so memorable. I now have 600 photographs and two hours of video to remind me of my holiday.
Last month's report focussed on the developers meeting and only briefly covered additions done outside that meeting. This issue is trying to catch up with everything else that's changed in the last two months.
We've picked up a couple of new developers in the last month or so:
Alejandro Aguilar Sierra resurfaced on the lists in early May after a long absence. Alejandro is the master architect of LyX's excellent WYSIWYG maths editor: Mathed. Alejandro has a new, improved Mathed in development and we look forward to getting it integrated and completed.
I guess that Asger is like a small child; you know you really have to worry when he's being quiet.
— Amir Karger
In reference to Asger's InsetExternal work at the developers meeting.
There are lots of design discussions on the developers mailing list. Occasionally, someone will object to how LyX is developing. One thread on compiler requirements provoked Asger to write an excellent description of the LyX Teams philosophy on compiler and language features.
If you need evidence that LyX is a significant application and worth investigating further you might like to consider reading a thread started by none other than Richard Stallman. Richard was concerned about LyX's use of XForms. Perhaps as a result of this we've seen renewed interest in porting LyX to Gtk and Gnome using the excellent Gtk-- toolkit.
The users mailing list allows users to support one another, thereby, forming a pool of community knowledge. Perhaps our most valuable asset in this regard is Herbert Voß. Herbert seems to have an answer for every question that involves problems with LaTeX or LaTeX packages. He even has a whole site full of tips. Thanks Herbert.
Dubbed the "The quick brown fix jumped over the lazy bugs" release, it contains many fixes over 1.1.5. Get it here and read about it there.
Claus Hentschel has been maintaining a Win32 port based on the latest stable releases for several months now. His web site includes detailed installation instructions, binary packages and a FAQ. Claus made a 1.1.5fix1 release available within a few hours of the official source release.
It's been a tradition on the developers list to limit flame wars to Fridays only. In fact, they are actively encouraged on Fridays as a way of venting frustrations and getting people to say what they really think is wrong or lacking in LyX (or anything else). Everybody loves Friday, it's the best day of the week because you get to provoke other people guilt-free.
The LyX developers were approached by the organisers of the CCP2000 to present a seminar on LyX as part of a special section on Open Source Software. I am currently in discussions with the organisers and it seems very likely that I'll be the LyX evangelist amongst the physicists and mathematicians. If anyone has any large, scary-looking equations I could use to demonstrate Mathed I'd appreciate your contribution.
Jürgen Vigna has made all of the LyX documentation available on the web. This sparked a long thread and you should find a complete set on the LyX web site sometime soon. Jürgen's versions of the docs haven't been checked for errors in conversion to HTML so we need a volunteer to follow in his footsteps and make sure the converted documents are a good approximation of what is generated by LaTeX. This isn't difficult work. It would also be good to identify areas that latex2html and tth are weak in. Volunteer now by mailing to the LyX developers' list.
Yes, that green thing in the center of the LyX banner is a cucumber. We don't know how it got there but we know it appeared at the end of the developers meeting.
Lars has issued a challenge to all programmer-users (users with C++ programming skills). The next major change for LyX will be when we switch to using insets for everything. This involves several huge changes to LyX's internal data structures and corresponding changes in associated code. We need alpha testers! This code will be beta after the release of 1.1.6 but you can start testing now. Read the challenge and subscribe to the developers list if you aren't already.
Marko Vendelin has started a port to Gnome using Gtk--. The port currently contains a single dialog: the copyright notice. There have been a few problems along the way with LyX's need for a standards compliant std::string implementation. Lars has only just finished relaxing our requiremnents on std::string so that the patch could be included. LyX's own std::string implementation, called lyxstring, is now only used if selected at compile-time. Previously, if the system's std::string wasn't compliant with the standard we used lyxstring instead. This caused problems when Marko tried to use the gtk-- library that had been compiled with gcc (since gcc's std::string isn't/wasn't good enough).
It all started when Mike Ressler wrote a shell script to extract the table of contents entries from each of the books in the LyX documentation and turned that into a LyX document that can accessed via the Help menu. This makes searching for help on a particular topic somewhat easier. After some jovial banter Amir Karger produced a Perl script that bettered Mike's shell script. So now we have a Table of Contents of all the documentation available in the online help in the language of your choice. For example, if you have the menus displayed in German you will get the TOC of all the German documentation and any of the documents that haven't been translated to German will have their TOC entries in English. There's nothing like a bit of friendly competition to get the best out of people ;-)
None. Remember, I've been on holidays ;-)
Angus is busily making the citation dialog much more capable and useful. You can now see the details of your BibTeX entry as well as the citation key. It should also be a lot easier to manage your citations now that it's considerably easier to enter multiple citations from the displayed list. This dialog is, of course, GUI-independent although only an XForms port exists at present. Support for the natbib package, which supports a variety of different citation styles, is next on the agenda.
Angus has also been working to establish the XForms port as our reference platform developing better ways of accessing and implementing the abstractions we require for GUI-independence.
Dekel has a patch pending that should really make the world sit up and take notice. Take a look at this screenshot for an idea of what's just around the corner. Apart from his valuable work on supporting Arabic and Hebrew texts within LyX Dekel has also been his usual, prolific self producing bug fixes within an hour or so of bug reports arriving.
Another of Dekel's contributions is a navigation menu similar to the Table-of-Contents dialog. This allows you to jump around your document from a pull-down menu. The TOC dialog seems likely to be removed as a result (although I happen to like it).
Dekel has also added some preliminary support for the varioref and prettyref packages.
Jean-Marc is kept busy fixing bugs and filtering bug fixes from users in his work to build and release official fix patches. He has however found some time for development work and has managed to port the GUI-independent toolbar and menu code from the moth-balled development tree. This is excellent timing because it ties in with Rob Lahaye's work to build a better menu structure. Rob's work will become the default menu design and it will be possible for anyone to develop menus that look like lesser word-processors thereby easing the transition as users switch to a better way of writing.
José Matos is our resident LinuxDoc and DocBook guru and he's the only one working on the support of these SGML/XML systems at present. José managed to get the multi-part document support completed, allowing you to include one [sub]document into another, before breaking his hand in a bicycle accident. Typing emails one-handed has been his limit for the past couple of weeks. He too has some photos from the developers meeting, so we'll see who gets them scanned in first ;-)
Jürgen has spent almost all his time since the developers meeting working on his InsetTabular and the InsetText which it requires. In fact InsetText is a key feature/technology for the future of LyX. It is essentially a container of text which can display itself on screen. These new insets are not currently used by default but they will definitely be the default after the next stable release (that is, after 1.1.6 but not in 1.1.6).
Jürgen has also added a GUI-independent implementation of the table layout dialog. In the process it has been improved to have table-scope and cell-scope settings in separate tabs of the dialog.
As always Lars has been working on everything. A couple of specific cases though include implementing the floats, footnotes and margin notes as insets. These, like the other recent inset work by Jürgen, are not active by default. Lars estimates about 4000 lines of code can be removed as a result of these changes. Most of that code is special-case handling and will make the LyX codebase considerably easier to understand and debug. It might even remove a few lingering bugs.
Mike is our documentation team leader having taken over that role from John Weiss about a year ago (maybe more?). Mike has been busy with further additions to the LyX FAQ and Extended documents. New sections include:
The key binding file that emulates Scientific Word has been updated by Serge Winitzki.
A great many thanks to Amir for proof reading this issue and finding a bunch of things for me to fix at 2am (just as I thought I could drive home and go to bed).