Writing a LaTeX document can be done in different ways. Some people prefer an application like LyX, which hides the LaTeX code and uses sophisticated UIs.
Other people prefer to work directly on the LaTeX code. LaTeXila has chosen this direction. In this context, let’s see, with two examples, some of the principles behind LaTeXila to offer a good user experience.
Inserting a figure
To insert a figure, an application like LibreOffice uses a wizard, so the user can choose an image, its size, the caption, etc.
For a LaTeX application, we could imagine that the corresponding LaTeX code is generated and inserted in the .tex file. Nice, isn’t it?
There is a little problem though: if the user doesn’t understand the code, how does he modify it afterwards to change an option? A good reaction is to look at the documentation to understand what happens. But a quicker solution is perhaps to re-run the wizard and refill the pieces of information and modify the option.
So, to force users to learn LaTeX, LaTeXila avoids wizards!<Esc>dd
A wizard is not a perfect solution. The root of the problem is that looking at the LaTeX documentation can take some time.
A better solution:
- Good completion of LaTeX commands and their arguments.
- A way to add easily the required commands for doing common actions like inserting a figure.
The completion works well in LaTeXila, but can be improved. Also, when we are in a command argument, if no completion is available, a calltip is displayed with the prototype of the LaTeX tag:
Calltip showing the prototype of a LaTeX tag
As for the second point, there is a toolbar and menus for common actions. An interesting feature, that doesn’t exist yet in LaTeXila, is the snippets plugin of gedit.
Creating a new document
Creating a new document can also be made via a wizard. We choose:
- the document type (an article, a report, slides, …)
- the title
- the author(s)
But there is the same problem as for figures’ insertion.
In LaTeXila, creating a new document is done via a template. There are some default basic templates, and personal templates can be created.
The user can for example create a big personal template with all the stuff that he could possibly use in a new document. And then, when he creates a new document, he removes or comments what he doesn’t need.
The UI to create a new document has been improved recently:
Create a new document from a template
To summarize, the idea of LaTeXila is to always deal directly with the LaTeX code, while simplifying as most as possible the writing of this LaTeX code. The users don’t need to be LaTeX gurus, but they should understand what happens.