Lyx – Easy LaTex without Spell Check

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):

Meet Lyx - LaTex Editor For Lazy People

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.

This entry was posted in technology. Bookmark the permalink.

19 Responses to Lyx – Easy LaTex without Spell Check

  1. Simon AUSTRALIA Mozilla Ubuntu Linux says:

    TeXMaker, really? I thought you were a vim man…

    Reply  |  Quote
  2. ths GERMANY Mozilla Firefox Windows Terminalist says:

    I like it when you write about TeX ;), I used it at university for a long time. I tried to have my first company use it, too, but my colleagues refused.
    Only recently after joining a new team at IBM I got a new colleague, roughly the same age as me, who loves TeX, too. Nice ;)

    btw, spell checking is the first thing I switch off whenever I install some word processor. I hate those “red squiggly lines”.

    and you should fix some typos ;)


    Or you write it as DEK really intended it to look like and write an upper case E kerned left towards the T and subscripted (something like T_{E}X).


    Reply  |  Quote
  3. cherax UNITED STATES Mozilla Firefox Ubuntu Linux says:

    WYSIWYM stands for “what you see is what you meant”. Some people just don’t want to learn.

    You want Lyx to include a spellcheck function, instead of spelling properly yourself? Some people just don’t want to learn.

    Reply  |  Quote
  4. Luke Maciak UNITED STATES Mozilla Firefox Linux Terminalist says:

    ths wrote:

    btw, spell checking is the first thing I switch off whenever I install some word processor. I hate those “red squiggly lines”.

    Really? I love the squiggly lines. You think my spelling is bad as it is, see what happens when you take away my squiggles. :P

    cherax wrote:

    WYSIWYM stands for “what you see is what you meant”. Some people just don’t want to learn.

    Last time I checked, “your mom” jokes were widely recognized as this thing called “humor”. Granted, it is not a very high brow comedy, but I assumed that most readers would realize that when I’m insulting their mom I’m not being entirely serious.

    Joke explanation: yes, I am aware what WYSIWYM stands for – I just felt like making a joke.

    Yes. Scherax wrote:

    You want Lyx to include a spellcheck function, instead of spelling properly yourself? Some people just don’t want to learn.

    See, I don’t get this mindset. How does desiring a helpful optional feature implies that I don’t want to spell properly. It is quite the opposite. I do care about spelling properly. The squiggly are very helpful when I proofread my writing – they make the mistakes pop out right away.

    Do you also disapprove of people who run aspell over a completed document to check for mistakes? Is that also wrong? Maybe we should go back to paper based dictionaries for our spell checking… Or is that wrong as well?

    Can you write a 1500+ word article without making even a single typo or mistake and without any proofreading or automated spellcheck feature?

    Reply  |  Quote
  5. gogi-goji CANADA Mozilla Linux says:

    LyX does have a spellcheck feature, just without any squigglies. I assume this is because they don’t want to distract you with your mistakes, or something equally silly.

    For the spellcheck, you need to have aspell installed, as well as an aspell dictionary for whatever language you’re writing in. You also need to leave the cursor at the very top of the document, and then press F7 to start a spell check (if my memory serves me right).

    I do think LyX is easy enough for average, computer illiterate people to use. One of my friends, who has the computer skills of Ms. Dumberbuttons (from one of your earlier posts), was able to successfully use it to write a math paper earlier in the year. I’d think the biggest obsticle to overcome for these “dumb” users would be getting them to think about typesetting in the right way, rather than thinking buttons == magic. Of course, there’s also the obsticle for most people of them not knowing that alternitives to Word exist.

    For myself, I love LaTeX. It’s easy to use once you understand the syntax, and much simpler and easier to troubleshoot than a WYSIWYG editor. And the files it produces are gorgeous. Plus I get to feel superior since I use a better system for writing my documents. :P

    Reply  |  Quote
  6. cherax UNITED STATES Mozilla Firefox Ubuntu Linux says:

    “Do you also disapprove of people who run aspell over a completed document to check for mistakes?”

    I don’t care whether other people use a spellchecker. But I wouldn’t judge them by saying that it meant they “didn’t want to learn” to spell correctly.

    “Can you write a 1500+ word article without making even a single typo or mistake and without any proofreading or automated spellcheck feature?”

    Without manual proofreading? No, I always do that. Without automated spellchecking? Certainly.

    But it seems as though you’re working hard to justify using one sort of crutch (spellchecking software), while criticizing people who use another (gui-based text formatting programs).

    Reply  |  Quote
  7. Luke Maciak UNITED STATES Mozilla Firefox Windows Terminalist says:

    cherax wrote:

    I don’t care whether other people use a spellchecker. But I wouldn’t judge them by saying that it meant they “didn’t want to learn” to spell correctly.

    But you just did. Let me refer to your previous post:

    cherax wrote:

    You want Lyx to include a spellcheck function, instead of spelling properly yourself? Some people just don’t want to learn.

    See. Right there you judged me for using spellcheck function.

    cherax wrote:

    Without manual proofreading? No, I always do that. Without automated spellchecking? Certainly.

    Ok, I’m really trying to follow your line of reasoning here. We have this tool that can help in the proofreading process, but you refuse to use it because… Because you know how to do it manually?

    I know how to do it manually too, but I know I’m not infallible. In fact I know that I often miss simple typos while proofreading my papers because in my mind I know what I meant to say, and sometimes fail to see what went down on paper. It’s like that silly trick where they make you read a sentence only to realize that all words in it are badly misspelled, but your brain can still piece them together based on the first and last letters and the overall length of the word.

    I know that happens a lot when I proofread, so I like to have backups. Usually I will make someone else proofread my work to make sure I caught everything. This of course does not apply to the random stuff I post on the internet. Automated Spellcheck is just another layer of backup. I really don’t see any harm in using it if it helps. It is a nice feature to have. It’s like a calculator but for words.

    Let me ask you this – do you always do long division by hand? Do you prefer to use log tables rather than a calculator? Do you actually own your own copy of Abramowitz and Stegun volume that you carry with you in lieu of a calculator?

    Frankly, I don’t really care whether or not you use spellcheck. I’m not saying everyone should use it. In fact, I believe I mentioned that some people probably won’t mind lack of inline spell checking feature in Lyx because they don’t like it. I can clearly see how the squiggly lines could be annoying to some.

    But it is a nice feature to have. A feature that I and many other people find use for. Not only that – it is something optional that can be switched off at will.

    I don’t blame Lyx developers for not including it – it’s their software, and they set their priorities. However as a user I think I’m entitled to my opinion. Lack of this feature is a big deal to me – a user. And so in my review I’m warning other users that it is not there.

    I find your dismissal of spell checking a little bit puzzling that’s all. If there is a tool that I can use to help me out a bit, I’m not going to reject it on principle. But to each it’s own.

    cherax wrote:

    But it seems as though you’re working hard to justify using one sort of crutch (spellchecking software), while criticizing people who use another (gui-based text formatting programs).

    I’m not criticizing “GUI based text formatting programs” – I mean, TexMaker is a GUI based text formatting program. It has buttons, and menus for everything. I’m criticizing WYSIWYG which in my opinion is not a crutch at all. It is just the wrong approach to a complex problem. It’s overly simplistic and does not scale.

    The problem is to create and maintain documents with formatting and layout information embedded in the file. The only way to do it is to somehow mark up the text. You have to know where to start and end applying italics, where to use bold and etc.

    LaTex and HTML do this in a straightforward way – they use transparent textual commands to convey formatting information to the software that will render the document on the screen. WYSIWYG tools abstract the markup and hide it from the user, displaying visual cues instead.

    This works extremely well if all you want to do is to type up a simple document without worrying to much about the layout and formatting.

    It fails miserably when you are working on something more complex.

    Let me give you an example:

    Let’s say you are working with a team of 10 to 20 people. Everyone on your team produces 30 or 40 pages of text with embedded charts, tables and illustrations. Your task is to take all their work, and merge it together into one cohesive document. You have a very rigid set of guidelines to follow. You have to make sure the right font is used for main text, a different one is applied to all the insets, that figure and table captions have proper formatting. You have to make sure each page has a correct header and footer that displays the right page number, the title of the current chapter/section and the name of the author of that section. Some sections must have multiple colums. Some sections must have different marigins. Furthermore all of this must be delivered to a client as a word document.

    This is such an issue that one place I worked at actually had a dedicated Microsoft Office Support help number with 2-3 full time phone drones who could barely manage to support around 80 users. That’s all they did – help people to maintain and format these monstrous documents.

    For example, do you know what it means when Page 1 header all of a sudden shows up on page 67? It means that page 66 includes a dual column section, and that section got pushed down against the natural page border. To resolve this you usually simply need to make sure there is at least one blank line between the end of that section and the end of the page. Either that, or add few lines to the section so that word re-flows it and continues it on the next page.

    This issue is not mentioned in standard documentation and help files. There is really no indication anywhere that vertical spacing and section breaks could affect headers/footers this way. The only way you can fix this type of problem is by trial and error – or by following dedicated Office Support mailing lists and message boards.

    There are hundreds if not thousands of such little gotcha issues in MS Word alone. They are all pitfalls of using WYSIWYG.

    When I was writing my masters thesis (150+ pages of text, charts, figures and graphs) I made a conscious choice not to use word. I used LaTex and I had no formatting issues whatsoever. Whenever I messed something up the “compiler” would catch it and yell at me, telling me the exact line number where I fucked up.

    Debugging the document was a piece of cake. In the meantime I helped several of my peers to troubleshoot their own Word based thesis papers. It always felt like we were fighting against a malicious piece of software that was just trying to mess with us.

    It’s not a crutch – it’s just a wrong tool for the job sometimes. It’s like trying to dig a ditch using a live trout and a beach ball.

    It’s just that most people who never write anything longer than 4-5 pages in Word are not aware of these issues. Those who are aware often don’t know there is an alternative. They just think that this is how it has to be done. But it’s not.

    Reply  |  Quote
  8. cherax UNITED STATES Mozilla Firefox Ubuntu Linux says:

    “See. Right there you judged me for using spellcheck function.”

    My bad. My spellchecker missed the sarcasm tags.

    Or, more correctly,

    My spellchecker didn’t pick up the fact that I omitted the sarcasm tags.

    On the other hand, you’ve piqued my interest in Lyx, so I plan to give it a try. It has to be better than footling around with a modern gui word processor. Or at least more fun.

    Reply  |  Quote
  9. cherax UNITED STATES Mozilla Firefox Ubuntu Linux says:

    OK, interesting that the text-entry box swallowed the actual “<" tags I put into that last post to turn sarcasm on and off. Good to learn the value of the 'Preview' button…

    Reply  |  Quote
  10. brunda JAPAN Mozilla Firefox Linux says:

    Hi Luke, perhaps you should check LyX website before wasting your time with useless ranting. Its already implemented for many moths. Nice day.

    >It seems that the developers are on the fence about the feature.

    Reply  |  Quote
  11. Luke Maciak UNITED STATES Mozilla Firefox Windows Terminalist says:

    @ brunda:

    Oh, nice. My Google Fu has failed me this time. I found lots of old feature requests and maling list posts on this topic. I did not check the wiki for some reason. Good catch.

    Nice. Can’t wait for Lyx 2.0 now. I mean, I could probably grab the source from git, but meh..

    Reply  |  Quote
  12. Hellmut Weber GERMANY Mozilla Firefox Linux says:

    Your argument in favor of inline spelling for me is an example of joseph weiznebaum’s thesis that the tools one use alter your mind (remeber the old saying “For him whose only tool is a hammer everything looks like a nail” ?)

    Writing a short message like this one inline spelling may be helpful but when i’m developing a serious argument i just don’t want my thinking broken and forced to jump to another level (orthograpy).

    Caring for correct orthography is for me on the same level as caring for page lyout. I do it when the text is ready, when my arguments are clear.

    So i’m one of the extremly satisfied Lyx user (sinc Lyx-1.1 I don’t even remember when i started using it after having used LaTeX for a long while) who prefers spell checking as a separate functionality.

    Best regards


    Reply  |  Quote
  13. James Buchanan UNITED STATES Mozilla Firefox RedHat Linux says:

    Any particular reason you need an inline spell check rather than just hitting the spell checker button every so often? I kind of like the absence of squigglies…they break the typing zen LyX gives me when it takes away all the extraneous formatting while I’m composing. The spell check button definitely works…you just have to position your cursor *before* the text you want checked (so, at the beginning of the document for a whole-document check).

    Reply  |  Quote
  14. Luke Maciak UNITED STATES Mozilla Firefox Linux Terminalist says:

    For me the tool actually streamlines and optimizes the writing process. I know that I easily break my own flow when I start thinking about orthography. Being bilingual with English not being my native tongue does not help either. Sometimes I have a word in my head that I want to use, and I know it should be applicable in English because it has a Latin root. This is not always the case. The squiggly is often an instant indication that the word I’m stuck on does not fit and I probably should rephrase my sentence.

    I guess it boils down to this – I know there are gaps in my English mastery. I speak with a funny accent and it is often detectable in my writing as well. Squiggles help me to quickly avoid obvious blunders and “remind” me how to spell certain words that I only use once in a blue moon.

    If you are confident in your orthographic prowess you can probably remove the training wheels and spell check at the end. But I’m not, so I enjoy having them on. :)

    Reply  |  Quote
  15. Michael AUSTRALIA Mozilla Fedora Linux says:

    Ok so it seems you write a lot, i’m sure learning a complex language like LaTeX pays off big if you write a lot.

    I’m lucky to write anything substantial (intended for printing) more than once a year. That means i’d effectively have to re-learn it again every time I used it, and since I don’t use it often enough I never learn it properly anyway. This ends up just being a big wasted investment in time, and the results aren’t worth it either (it’s hard to get the best out of something so complex if you’re no expert). It’s not just that i’m lazy, although I am that.

    And microsoft word (or openoffice dot org, since it is just a clone) is pretty much in the same bucket for me. Horrid programs that are hard to use and even harder to get to do the job done with, if they can at all.

    For a casual user (in terms of writing documents) like me, LyX is a real god-send. What it lacks in features it makes up for in stability and usability – I’d rather have those than any number of fancy features I rarely use. I get reasonable results with almost no effort, and without having to fight with stupid software.

    I’ve been following the project for many years although I rarely use it – and when I try it out it’s always made incremental improvements whilst remaining solidly stable. More than can be said for most modern software. It’s no toy.

    For me it’s the right tool for the job, but if I was working on to-be-printed documents more often then it might not be.

    (well, it’s the right tool until someone wants to edit the result in microsoft word …).

    Reply  |  Quote
  16. Kevin NORWAY Mozilla Linux says:

    I agree that if you really want to learn LaTeX, you should start off with a plain text editor. But then you need 1. time 2. motivation 3. either a very patient teacher or a good does of geekiness.

    If, OTOH, you just want your thesis to look good when you send it to the printers, LyX is great.

    Of course, since I’d like everyone to eventually learn LaTeX, it would be nice if LyX was a bit “closer” to LaTeX (eg. let you edit LaTeX code directly instead of just “inserting” snippets, not use so many LyX-specific functions), but I realise it’s very hard to cater to both audiences.

    I’m just really happy that I can be tech support for LyX instead of for Word. Life is so much better.

    Reply  |  Quote
  17. Paul Clieu Google Chrome Windows says:

    I believe the recent versions of LyX do have in-line spelling error highlighting, but it is a mistake to use it. I am a big LyX user and I never turn this on because it is a productivity killer. Here’s why: When you are entering information, you want to focus 100% of you mind on the information you want to express. The very worst time to fix spelling errors is while you are in text entry mode. It is a major distraction and causes context switches between the real information you need to express in words and the exact spelling of those words.

    The LyX batch spelling check is highly productive for several reasons, 100% focus on spelling, really accurate prediction of the correct word and outstanding single click ergonomics. Word users ask for inline spelling – software makers have to meet these requests, but smart people don’t have to use brain dead features.

    Reply  |  Quote

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>