LyX Development News

Having a great holiday meeting most of the European core developers. Of course, this is the business part of the trip now at the developers meeting. Probably 12 hours sleep in 3 days but massive amounts of code written. A couple of surprises for the next release. You can sneak a peak at the cvs version or just read the mixture of brief reports below.

Quote of the Month

Anyone want to say something profound for a quote of the month?

— Allan Rae

You just said it.

— Asger Alstrup Nielsen

Developers Meeting

Asger Alstrup Nielsen went nuts and created an External material inset that allows you to include almost anything into a LyX document. Not only that but it's now possible to do amazing tricks with this new inset in combination with external scripts. Things like export of images as ascii art or converting arbitrary images to encapsulated PostScript for use in LaTeX documents. You'll also be able to use this inset for things like filtering database requests to build tables. Not only do you get to view and export these files but you can invoke the appropriate editor. One such editor being the chess game frontend, xboard, so you can include snapshots of your games in your documents.

Jürgen Vigna rewrote large chunks of the inset and formatting code so that the new tabular inset is perfect (like it always is when written by Jürgen Vigna). The new tabular inset allows footnotes in tables and a number of other standard LaTeX features that were previously unsupportable.

José Matos has made a number of major improvements to SGML Docbook and LinuxDoc support. Many of these changes have also led to improvements in LaTeX handling. Not only that but the new tables are also exportable to SGML now. So the SGML table support is better than ever.

I finally got my GUI-independence work merged into the main tree and then setup a preferences dialog so you can finally edit and save everything in the lyx configuration file.

Lars Gullik Bjønnes merged all our various changes together several times a day and managed to find time to help write some of the external inset support. He also led the search parties that went out for food and drink. Local knowledge is a significant advantage.

Not much time for sleeping or eating but we did manage to get out for a night on the town at a local pub. We even sailed back to Oslo from Stokke.

Many thanks to SuSE for their generous sponsorship of our meeting.

Developers Meeting Journal

Wednesday 7th June.
Up about 5:30am to get to Berlin Zoo station for the train to Rostock. Despite running for the bus (06:10) I had plenty of time at Zoo station to change some cash and stuff before the 6:54 train. Timing went haywire after that. Waved goodbye to the ferry from Rostock to Gedser that I should have been on at 11:30. Tried to call Asger on 3 different phone numbers but the best I got was a modem answering his work phone number. Called Stephan Witt (who I was staying with in Berlin -- many thanks Stephan) and got him to send Asger a warning email. Got time to look around the lighthouses at Warnemunde before catching the 17:15 ferry. Arrived Gedser about 19:20.
The train stops at Gedser once a day at 11:45. No signs to indicate where the bus service might have left from. Wandered around and found a bus. Knocked on the door of the bus and was waved away. Back into the ferry terminal to ask where a bus might be caught. I had the right bus, the driver just didn't want to talk to me.
Back to the bus again and on the way to a nearby town with a regular train service (20:25). On the train at 21:20 to Copenhagen. Got off at the main station and managed to call Asger. Jumped onto another train and met him at about 23:20 or something like that. We went to a friends place for a drink and then to a bar for another. Eventually into bed about 3am. We were supposed to catch the 17:00 ferry to Oslo but I was about 7 hours late getting to Copenhagen.

Thursday 8th June.
Up about 9:30 for a shower and breakfast. Into Asger's work for a look and then I wandered around the neighbourhood till 15:00. We bought the limit in grog to take with us. Norway is even more expensive than Denmark. Overnight ferry to Oslo.

Friday 9th June.
Breakfast at the train station and on to Stokke. Yay! Spent several hours coding to prepare my work for inclusion into the main codebase. I seem to have gotten myself stuck with the machine downstairs while everyone else is working on the 3 systems upstairs. Southern hemisphere versus northern hemisphere reflected in our computing arrangements ;-)
Shopping for dinner. We have a sponsor for the meeting -- woo hoo! The major-league Linux distributor, SuSE, has made a donation. Barbeque dinner and then more coding till about 3am.

Saturday 10th June.
Finished changes to my code and Lars merged it into his codebase. Yay, gui independence is finally in the main code. Breakfast about 13:30 (after a few hours of coding first). I need a haircut. We have a crisis: no alcohol on sale today and the shops are shut tomorrow and Monday. It seems we will have to ration our supplies, find an alternative source or just drink it all anyway. Supposed to be going to a restaurant for dinner tonight since we didn't get to the shops to buy more food. Lots of new code written though and so far it seems stable. Only a couple of minor bugs caused during merging but these have been cleaned up.
Partied at a small pub till the small hours (it starts to get light again around 2:30am). Suffered permanent hearing damage I'm sure.

Sunday 11th June.
Up early at about 9:30am and more coding. This time I've decided to implement the much-desired Preferences dialog so our users can change anything and everything and do so easily from within LyX. It's actually just before 7am Monday as I write this, don't know that I'll bother going to bed till tonight. I have half of all our variables displayed and adjustable (that's about 60 out of 110). And it looks lovely even if I do say so myself. Asger spend most of today [overnight] fine tuning his wonderful new code so it's now possible to include chess board figures into your documents. No other word processor can claim such a feat! There are plenty of other things that can be done with his brilliant inset and he's even done something almost unheard of: provided full user documentation! Is it any wonder he looks so tired.

Monday 12th June.
We'll be sailing to Oslo a little after breakfast (sometime around 2pm). Hmmm... maybe I will go and have a short nap... right after I write a bit more stuff for the LyX Development News.

Feature: GUI-Independent Dialogs

Despite the massive amount of work done by Asger, Angus and I on XTL we've elected to drop XTL from LyX. This is because the number of compilers capable of supporting XTL is far too small at present. Many existing users are already stretching their compilers to their limits to get LyX compiled. XTL is however a wonderful system and we are sure to reintroduce it once there are more compilers capable of supporting it. Then we'll be in a better position to support scripting languages than with the implementation we have added to the main trunk.

I still have almost a month of travelling on holidays so in the meantime I'm sure there will be plenty of volunteers to flood the rest of the team with gui-independent dialogs.

Official News: Random results from the FILM in Norway

12th of June 2000

Lars just committed the changes we made for the LyX cvs repository during the fourth international LyX developers meeting. It will require a few more commits to be merged completely, but it will soon be there.

The highlights include:

Besides this, we did some experimental work to progress LyX even further in the direction of advanced inset support, but this work was judged to be too instable to be committed. It will however serve as a base for future development. Also, you will be glad to know that the cvs repository version should be very stable. In fact, it might even be better than the 1.1.5 release.

We want to take this opportunity to once again thank SUSE for their generous sponsoring of the highly succesful fourth international LyX developers meeting. Be sure to choose SUSE as your next distribution provider so that the LyX team can continue the great tradition of international development meetings.

That brings us to the next point:
We have to decide where the LyX developers meeting for next year will take place. Offers are solicited. We can promise that it will be both a productive and entertaining experience. In fact, we are willing to offer the implementation of a moderate sized feature in exchange of hosting.

In conclusion: In a few hours, the cvs repository will be stable again. Then please check out the new stuff, and try it. We tested the code on three different compilers, including the cvs version of gcc, in order to ensure portability, but there are bound to be problems when you do such mayor surgery on the code.
Be sure to report back any compilation problems, provide patches, and start submitting those external material templates.


Allan, Asger, Juergen, Jose', and Lars Gullik.

Update: Other Recent Changes in CVS

Dekel Tsur once again figures prominently with several long awaited features being added by him during the past few weeks. Things like the ability to cut and paste between LyX and external applications. Dekel has also made several major changes to the table of contents dialog so it now also can display the lists of figures and tables. There is now also a table of contents menu so you can access the sections of your document via a menu. Depth markers have also been added that appear as bars in the left margin of the editor to make the nested depths of paragraphs more obvious. He also found time to implement label editing.

Angus Leeming has provided a new citation dialog which will hopefully satisfy the needs of many for easier control of which citations to add or include.

There may be other stuff that I missed in my quick scan of the ChangeLog but this is certainly a large number of very useful new additions in past month.

Coming Attractions