I am a vocal WYSIWYG hater. I have my reasons, but I will not repeat them here for the sake of brevity. If you are interested, you can take a look in the archives to see why I feel the way I do. In fact, let me give you couple of links to start you off. It is a deeply flawed paradigm and a UI dead end as far as I’m concerned. WYSIWYG will always be quirky, annoying and frustrating by design. WYSIWYG editors try to do the impossible – to create marked up text while hiding the markup from the user. It works for simple documents, but as soon as you try to use it for something substantial (for example 100 page research paper) it falls apart. Not only that, but it teaches users bad habits. Just look in the links above for various examples of this.
This is why I use LaTex for most of the formal document writing needs. Actually that’s half the reason. The other half is that LaTex formatted documents just look so damn good. They stand out, in a good way – they are crisp, and professional looking. It has a powerful engine for generating complex mathematical formulas that far surpass what is offered by MS office out of the box, it is much better at managing figures, tables of contents and bibliographies, and unlike most word processing tools maintains separation between display and content. It’s an incredibly powerful system, but also a very complex one. Using latex is very much like programming – you learn the syntax first, then you find out about useful packages that do things for you, then you learn how to redefine and overload basic functions, later you find out about style files and eventually you can create your own. It’s a learning process.
Of course some people just don’t like to learn, and this is why we have Lyx – an editor that gives you a lot of the nice features of LaTex without any of the hassle. Every time I post something even remotely Tex related, someone invariably brings it up. So I decided I might as well try it and see what the fuss is all about.
Lyx combines the visual approach of WYSIWYG with a a more structured and pragmatic organization of content. In essence they try to convey markup by using various visual indicators. The website claims it is a WYSIWYM editor (which stands for What You See Is What Your Mom Said or something like that). The point is that it works better than a regular word processor. Not to mention that it also gives you access to the powerful LaTex typesetting engine and math formula functions. So you can totally just launch it, type in bunch of garbage, hit a button and get a pretty, nicely formatted PDF.
I could probably describe the user interface here but that would probably add another 1k words to this post. So I will cheat and just show you a picture and since 1 pic == 1k words the content should not suffer that much. Here is how Lyx looks (alliteration was literally unintentional):
I have used this toy to author a few documents and I must admit it is not half bad. You type in words, press some buttons and things happen. Unlike a WYSIWYG garbage-tron Lyx won’t just let you press enter a million times in lieu of proper vertical white space management. If you want to have vertical separation you need to break up your text into paragraphs, sections or insert special vertical space markers (as shown above). The environment gives you access to most of the popular commands you can pick from the drop down menus. It also ships with bunch of style templates you can load up and use. I don’t think you can directly import packages into your documents, but I guess the point of this tool is to keep things simple and easy.
What’s a bit peculiar is that Lyx seems to be on the fence on whether or not to use the LaTex nomenclature and function names. They try to avoid using the raw Tex commands verbatim, but they do show up here and there. So if you are a stranger to the Tex way of doing things, Lyx will probably be quite confusing at first. In fact, if you are looking for an easy way to start learning Tex, Lyx is probably the last thing you want to use. It hides enough to prevent you from learning anything useful, but not enough to avoid confusion. So essentially it is not really a drop in WYSIWYG replacement but rather a tool for people who kinda-sorta know their way around Tex but just want to type up a quick document without worrying about and/or being distracted by colorful markup everywhere.
In fact, I’d actually consider using it for that very purpose – it would be a perfect tool to type up a quick letter, memo or maybe even a short manual for some crappy code that I just vomited upon the internet. Unfortunately, Lyx continues the age old tradition of Open Source LaTex related products by not including an inline spell check function. In other words, no red squiggly lines under misspelled words. Some people may view this as a minor nuisance, but for me this is a deal breaker.
Let me put it this way: what would you use a Tex like tool for? I would use it for writing papers. Letters, memos, articles, homeworks – whatever. All these things require proper spelling and grammar. Not including an inline spell checking function is a rather odd choice. I understand that some people do not like that feature, but many do and offering it as an option would be a very logical choice. Especially since every other word processing tool has it. Hell, most LaTex IDE tools like TexMaker or TexnicCenter have it. Not only that, but the inline spell checking feature is also present in every modern web browser.
Yes a web browser. Do you know what web browsers are for? Most people use them for posting “u guise r fags LOL!!1″ type comments on youtube. There is really no need to have an inline spell check in a browser, but we have it because it is a nice feature. It helps! Not including it in Lyx is… Well, odd.
It seems that the developers are on the fence about the feature. On one hand, users have been begging for it to be implemented at least since 2007 if not earlier. On the other hand, half the devs seems to hate the very idea of inline spellcheck, while the other half does not care either way. It seems that they are have been willing to include it in the future releases since 2007 if someone implements it, but they are not going to waste time working on it themselves. I’d jump in and help out, but frankly I don’t actually care enough.
It turns out that I was wrong. It appears that inline spellchecking was very recently implemented by Abdelrazak Younes. So if all goes well this feature will be available in Lyx 2.0. Big thanks to Brunda for pointing it out in the comments.
While I would consider using this tool, I’m really better off using TexMaker or something similar that includes inline spell check feature for now. Once 2.0 is released though, I think we will have a quite formidable alternative to both WYSIWYG editors and straight LaTex IDE’s.