More than typesetting

2011-07-22 by . 5 comments

Post to Twitter

There was I, four years ago, sitting in front of my lab computer, ready to write one of my first articles. But this time it was different: I had never written a article with actual mathematics before. Needless to say, I was apprehensive.

So it began. The plain text part was relatively easy, although now I admit that some odd behaviour in the text editors was irrelevant for me in those days. Alas, that was not my real concern. The time had come for me to write some mathematics.

It was a frustrating day. In order to write a single line of an automata definition, it took me about 15 minutes of repetitive tasks: opening the math editor, picking up the correct symbol and inserting it in the correct part of the text. Soon enough, I got a very ugly and messy document, for several reasons. First of all, those such called mathematical symbols had no aesthetic aspect – a good looking math font – with the current text. Second, symbols were out of proportion from my text size and baseline. Third, it took me so long to type just a few mathematical symbols.

I’m a developer, and developers are probably the ones to blame. It’s funny how many software guys today can think of good looking interfaces with fancy stuff going on, but in most cases they neglect productivity. However, those interfaces do work for average users, as they embrace software limitations as things that cannot be changed.

So I was desperate. But the coup de grâce was yet to come. There’s a symbol I use a lot which plays an important role in my mathematical stuff, the \vdash. Guess what? The text editors didn’t have that symbol. I refused to debase myself and type |-, as it vaguely looks like vdash. Then one friend of mine suggested me to use U+251C, a symbol used for the sole purpose of drawing ASCII boxes. No, please, I can’t stand anymore.

Needless to say, I was very disappointed. Sadly, I knew this situation was just the tip of the iceberg, as more articles would eventually be written. And then there was my master thesis ….

Suddenly, a blessed soul said to me, Why don’t you try LaTeX?. Of course, I was very sceptical, Lay-tech, you say?, but at that point, I had nothing to lose. He told me some LaTeX basics and how to produce my very first document. And look, the conference does have a LaTeX article template! I imagined myself like recording a desperate message in the good old R2D2: Help me LaTeX, you are my only hope!”. And LaTeX came to the rescue. With no light sabers, but with astonishing beautiful documents.

After writing my first lines of mathematics in LaTeX – which was insanely fast and very intuitive – I couldn’t believe in my eyes. Everything was correctly in place, beautiful typesetting and with a professional look. That day, LaTeX became part of my life. I just needed to learn the ways of the LaTeX force.

Within a week, LaTeX unexpectedly taught me great lessons. And it was more than typesetting documents. It taught me how to think out of the box. In that week, I decided to convert my thesis drafts to a more substantial document. Everything was fine, working perfectly. Suddenly, I got stuck with the need of a fifth or sixth level subsection – think of a \subsubsubsubsubsubsection, oh the shame! How was I supposed to do that in LaTeX? I exhaustively searched the whole internet until I found a promising thread in an obscure mail list. The author had the same issue of mine. Then another blessed soul replied to the author’s original question with the following statement: First of all, take this kind word of advice: if LaTeX does not natively provide this command, there’s must be a strong reason for that. Please, avoid this construction at all costs. Consider redesigning your document instead of using this abomination. That said, here’s the code you need: …. After reading that sentence, I was paralyzed. In other text editors, you are able to create as many subsection levels your heart desires. That dancing paperclip never said to me, It looks like you are writing a high level subsection. You may consider redesiging your document. Do you need any help?. LaTeX subtly corrected my writing style with elegance and finesse. Soon, redesigning all my documents made them look better and clearer.

Figures and tables placements also made me rethink my ideas. Here, there’s is a strong culture of mentioning figures not by their counters, but by their positioning. It’s very common to find documents with the next figure, instead of figure 5, consider the table below instead of consider table 2. I’m not saying that this is bad per se, but I saw many documents – even books – with a page ending with a figure and in the first paragraph of the new page, a sentence like The figure above refers to. Besides, lots of people use counters on their figures but never refer to them. Sorry, it makes no sense for me. LaTeX taught me about the best placement and it was superb. No empty spaces and a consistent distribution.

Unfortunately, it is very difficult to convince people around you. Either they want to be in control or impose their rules. It took some time for people around me to accept the fact I was a happy LaTeX user. My documents were always criticized, no matter of how consistent or beautiful they were.

When developing software, I hear the make the system idiot-proof statement a lot. Personally, I don’t like this statement, for several reasons (one of them is that nature always finds a way, like breeding better idiots). I like to develop things focusing on stability, usability and productivity. The idiot-proof concept is an abomination of a narrow mind. Making things easier to a user don’t mean you’ll decide everything for him. There must be a limit, a boundary. You can’t take the users place. Users may be able to complicate their lives if they choose so.

Sometimes, when using conventional text editors, users are treated like naughty children. Everything is assisted, automatically fixed, numbered, paragraphed, and so forth. Note that, for most of the users, this is good, as it saves typing and proactive actions. Unfortunately, when you really need the help of your text editor, it won’t be there for you. My text editor messed with all the images, tables, there were widow lines, big empty spaces. This is something you should be assisted, not in the sense of It looks like you are writing a letter.

But we are in a different niche, we sit in the dark corner of the bar. I want to write documents in my own way. Leave the responsibility to me, I can bear it. LaTeX treats you like an adult and assumes you know what you are doing. This may sound paradoxical, but LaTeX will be there when you need things that matter. Images, tables? Leave them to LaTeX, it knows what to do. In case you want to be in control, just tell it. At least for me, that’s the kind of help I want from a software: help me on things that really matter. I don’t care if my editor automatically converted bullets to numbers, indented my paragraphs, saved my precious work. I need closure, complicity.

There is a saying I like: There is no programming language good enough to prevent you from writing bad code. Of course, the same idea applies when writing documents in LaTeX. If you want to write a ( sub * 8 ) section, it’s up to you. Even so, LaTeX does not give up on you. An abomination indeed, nevertheless a beautiful abomination. Even the dark side has the TeX force in it.

LaTeX taught me how to be a better researcher, a better professional, a better person. It helped me see things from other points of view. It’s way more than just typesetting. Andy Roberts once said, LaTeX isn’t for everyone but it could be for you. LaTeX can be for you, you just need to be ready to discover a new world.

LaTeX will always be there to help and save you. Only if you want to. From a Futurama episode, when you do things right, people won’t be sure you’ve done anything at all.

There is a very nice CW question about the most significant reasons that led us to (La)TeX in the main TeX.sx site. Tell us your story, we want to hear from you!

Filed under Advocacy

5 Comments

Subscribe to comments with RSS.

  • Paŭlo Ebermann says:

    I think instead of “Text editor” you mostly meant “Word processor”. (http://en.wikipedia.org/wiki/Word_processor)

  • Paulo Cereda says:

    Thanks for mentioning it, Paŭlo. “Word processor” is indeed a better replacement for most of the “text editor” occurrences.

  • cgnieder says:

    About “make the system idiot-proof”: wasn’t it Douglas Adams who once said: “A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.”

  • Leave a comment

    Log in
    with Stack Exchange
    or