Should you use TeXnicCenter or TeXlipse?


While being a TeXnicCenter user for years, I recently switched to TeXlipse for writing my LaTeX documents. In this article, I will discuss pros and cons of both environments from my point of view and motivate my decision for TeXlipse. I am comparing TeXlipse 1.5 with Eclipse Indigo and TeXnicCenter 1.0 RC.

Why you should use TeXlipse

TeXlipse benefits from its tight integration into Eclipse.

Automatically Recognize LaTeX Distribution / Project

On installation TeXlipse automatically found and used my LaTeX distribution (MiKTeX 2.9), successfully without any configuration. In TeXnicCenter I had to navigate to the miketex/bin folder of this distribution on first start. Also, when importing an existing LaTeX project (I am speaking of a bunch of .tex files, no .project or whatsoever) into the workspace, TeXlipse automatically recognized the project as such and attempted a build with the first .tex file I opened. I still had to set the proper main file and the output format (the default is dvi) afterwards, but TeXnicCenter has no comparable automatic project recognition.

Explicit Package Download Requests

When using new packages that are not yet installed on the local machine, MiKTeX downloads these packages during compilation (given they are to be found in a central repository). To enable this feature, TeXnicCenter has to be run in administrator mode. Otherwise, it would just deadlock during compilation and I would have to manually kill the compiler process. TeXlipse instead asks whether the package may be downloaded and administrator rights be given for the install. There is no need to run Eclipse in administrator mode!

Automatic and Partial Build

This is an extremely helpful feature. Just as for any other Eclipse project, per default, the project is re-built and the viewer refreshed on saving a file. No more CTRL+S followed by F7 as in TeXnicCenter. Of course, this might be undesirable for a large project where a complete build can take some time. Fortunately, TeXlipse allows to enable partial building. If enabled, only the currently edited file is re-built. What is more, you do not have to compile your bibtex files seperately and twice. This happens as part of the normal build, if required. To summarize: What is up to six actions in TeXnicCenter (CTRL+S -> F7 -> bibtex -> bibtex -> F7 -> F5) is a single action in TeXlipse (CTRL+S). Huge time saver!

The TeXlipse Toolbar

The toolbar in TeXlipse does not provide a large set of macros as in TeXnicCenter (some can nevertheless be found in the menu), but it provides several very helpful buttons that cannot be found in TeXnicCenter. These buttons allow to comment or uncomment the current selection and calculate a word count of the current selection.

Better Syntax Highlighting

TeXlipse highlights more elements with a larger set of colors which makes the source files more readable. For instance, it highlights reference labels, numbers, backshlashes and square brackets, math mode, comments as well as LaTeX commands all in a different color. In TeXnicCenter on the other hand, per default, there are only three types of elements highlighted with different colors: key words, comments and math mode.

Better Auto-Completion

Both, TeXlipse and TeXnicCenter have auto-completion of keywords by pressing CTRL+SPACE. The difference here is that auto-completion in TeXlipse also works while you type, as is normal in Eclipse. You do not have to press the shortcuts, but get a list of options while typing.

Tooltips in the Editor

TeXnicCenter has no tooltips for the source text of a document. In contrast to that, when you move the mouse over a LaTeX command in TeXlipse, it displays a short message that explains what the command does. What is even more helpful, if you move the mouse over a bibtex reference, TeXlipse displays the complete bibitem to which the reference is pointing.

Configurable Outline

The document outline is more configurable in TeXlipse than it is in TeXnicCenter. You can choose to hide certain outline elements, such as subsections or labels from the outline.

View for Dialogs and Errors

In TeXlipse you have a seperate view for errors and warnings, as is normal in Eclipse. There, all errors and warnings are listed and you can jump to the lines of their occurence by clicking on them. This is by far, repeat: by far, better than in TeXnicCenter, where you can only read the output of the compiler and step through all errors and warnings one by one without seeing the complete list. For instance, diagnosing and dealing with overfull hboxes is by far easier that way.

Support for Tasks

As is normal in Eclipse, you have a task view and can use TODO tags in your comments which are presented in this view. No more writing of custom \todo commands for displaying this info in your compiled documents or using additional packages as in TeXnicCenter!

View for Building Tables

Anyone who has used tables in LaTeX knows that this is not easy and their source code is hard to read. Luckily, TeXlipse comes with a view for building table rows with support for moving or mirroring rows or colums and the option to export the rows to the clipboard to copy it into a table environment.

Integration into the Eclipse Environment

If you have read until this point, I guess it is clear, but I want to say it nonetheless. TeXlipse is part of the Integrated Development Environment (IDE) Eclipse. That gives you integration with a gazillion of other features and plugins and the Eclipse ecosystem is currently one of the largest of its kind. What this means to me for my LaTeX enviroment: Built-in integration with version control systems, such as Git or Subversion.

Why you should stick to TeXnicCenter instead:

Compared to TeXlipse, TeXnicCenter is a small stand-alone editor, but still provides powerful LaTeX support.

Smaller Learn Curve:

In the previous section, I have outlined quite a few times why Eclipse integration makes TeXlipse more powerful than TeXnicCenter. This comes at a price. To really get all these benefits, you have to be used to Eclipse, know its shortcuts, configuration menus, build cycle, pitfalls, etc. This is all fine if you know that already, for example because you are a Java programmer. However, I would not recommend TeXlipse to a complete newcomer. The learn curve of Eclipse and LaTeX in combination simply is too high for a person being new to both.

Lightweight Editor

TeXnicCenter is a simple stand-alone program. You still need a LaTeX distribution, a document viewer, etc. but that’s it. In case of TeXlipse, you need Java, Eclipse, a LaTeX distribution, …. As Eclipse comes with a lot of features, it takes up a lot more space and computing resources. For instance on my machine, TeXnicCenter takes 10M of RAM, while Eclipse takes 150M.

More Macros in the Menus

TeXnicCenter provides an extensive list of LaTeX commands in its menus. This list is by far bigger than that of TeXlipse. Personally, I need 90 % of those commands close to never which is why I do not consider this a strong argument. Better auto completion is much more important to me.

Better Support for Inverse Search

TeXlipse and TeXnicCenter both support inverse search, that is double clicking a line in the output document puts focus to the editing environment and moves the cursor to the source text of the line which was double clicked in the output. In the case of TeXnicCenter, focus is simply transfered to the program. In the case of TeXlipse, Eclipse is first minimzed and then maximized (I guess that this is a programatically easy way to set the focus to a program) which can be bugging if you do it often.

Summary

What needs to be said first of all: I do not want to trash TeXnicCenter! I think it is an excellent environment for editing LaTeX files, I have used it to my benefit for many years. Also, I am in no way involved with the TeXlipse team and I appologize for any inaccuracies or misinterpretations of any of the features discussed.

I think TeXlipse is by far the better LaTeX environment if you are half way familiar with Eclipse. The automatic build, better syntax highlighting and auto completion, the additional views just rock the stage. If you look for a simple and small environment that provides powerful LaTeX support but not anything else, then TeXnicCenter should be your choice.

About these ads

9 comments

  1. Anonymous

    Hello Jörg Lenhard,

    I am trying to get Texclipse working for me. I’ve started a blank latex project and now experiencing a weird error message behaviour. I am having a main tex file where I include my other tex resource (one tex file leading to a set of pages at the moment). After the first successful pdflatex compilation a bunch of errors occur in the problems tab but the output has been successfully generated.
    If I click one of the errors a new editor tab opens and when trying to edit, a message pops up: “This file is derived. Do you really want to edit?” All the errors are shown as red crossed line icons but only in this editor tab, not in the “original” one opened via click in the project explorer. When closing the derived editor tab including the red crossed line icons all errors are continuously shown in the problems tab.
    It seems that texclipse handles each file for itself. It does not recognize the dependency (main file includes other tex files).
    I can continue editing and building successfully but always carrying on heaps of errors, that’s not fun.

    Do you know what’s going on?

  2. Hi,

    I haven’t experienced that problem myself yet, but I am using similar project layouts. Also, dependency management works fine. Therefore, my first guess would be that you have some misconfiguration in your project settings. For instance, check: Project -> Properties -> Latex Project Properties. Did you set the appropriate file as you main TeX file (the one with the document declaration and the input statements). Are you sure you are using pdflatex as builder?

    Moreover, the errors you experience appear in derived files (i.e. .aux, .bbl, .blg, .log, .out, …). Editing these does not make sense, because they are regenerated if the sources (.tex, .bib, …) change. This is also what the IDE tries to tell you. The fact that your errors appear in derived files suggests that the errors for instance lie in your index, table or bibtex generation. Are you using bibtex and maybe have characters in your entires that are not allowed?

    All in all, my above considerations are only guesswork, though. Can you perhaps tell in what files exactly the errors appear (the ending is important) and what the error messages say. That could make diagnoses easier.

    Hope this helps!

  3. Anonymous

    Hello,
    thanks for following up. I did some work on the project by developing some new doc pages while the errors still have been coming up but doc creation (compilation) has been working well. Then I deleted the project, created a new blank one using a different name (a different name for the main.tex also) and changed the file name of that one causing the bunch of errors. Then I added all my other recent project .tex files and that did the job. No more errors now, just 3 warnings.
    I cannot follow the logic of file derivation. What is the sense, what is the purpose? Some of my files in the new project are derived by now and I don’t understand from where it comes. Seems to be a kind of eclipse automatism, when a file isn’t changed for a longer period of time. Editing such a file pops up the derived warning.

    Thanks a lot!

  4. Hi,

    you’re welcome! And nice to hear it works! If the file derivation mechanism in TeXlipse really bugs you, you can turn it off:

    Right click on project -> Latex Project Properties -> Uncheck “See LaTeX temporary files as derived” and “See LaTeX output files as derived”. On the first edit of a derived file, you need to check one more info box and that’s it.

    However, I would recommend leaving the derivation settings as is. LaTeX temporary files, such as .log, .toc. lof, .lot, .aux, .idx, .ind, .ilg and more, are all compiled from your source documents. Some store logs of a compilation run, others store derived information for subsequent runs of the compiler, such as section headers for the generation of a table of contents. Changing these files is pointless, because they are overwritten on the next compilation, given your sources have changed. To sum up, these temporary files are just a part of the LaTeX architecture and it’s best to ignore them. If there are errors in your project, you can find them with almost certainity in your source files.

    In case you want to know a little bit more about the derived files, see: http://sunsite.informatik.rwth-aachen.de/ftp/pub/mirror/ctan/info/lshort/english/lshort.pdf and search for “.aux”.

  5. naxcor

    Hi Jorg,

    Thanks for the post! I changed from TeXnicCenter to TeXlipse recently after reading your post and I don’t regret =)
    I’ve just a little problem similar to this guy : http://sourceforge.net/projects/texlipse/forums/forum/451977/topic/4857481

    Mi bib file seems to work find with my tex file (when I make a \cite{something} it autocompletes), but when i compile my .tex (configured as main file of the project), the pdf file is generated correctly but the references do not appear ([?]) and the bibliography is not created.

    The output format is defined as .pdf in Project -> Properties -> Latex Project Properties and the build command as: pdflatex.exe

    I used to click the button “build” twice in Texnicenter to generate the pdf with the references but Texclipse do not permit that.

    I also tried the option: Latex -> Run Bibtex in the Next Build and it do not work

    Do you have any hint to resolve the problem?

    Thanks!

  6. Hi Naxor,

    I am glad have been of help :-)

    As for your problem: I just created a new tex project with a bib-file, a single bibentry and tried to use \cite{}. Curiosly, generating the references did not work, as described by you, and playing with the project configuration did not help either.

    What helped, however, was to not only use \bibliography for importing the file, but also setting the bibliography style via \bibliographystyle (which was unset before). Doing so, produced working reference for me.

    I have posted the content of document.tex and the bibfile on pastebin: http://pastebin.com/UTU4djRg

    I hope it helps!

    • Anonymous

      Hey!
      That’s it! the style file that I referenced was not in the main folder.
      Now it works perfectly.
      Thaks alot =)

  7. Hi, Jorg. I am a PhD student who used to write all my docs in Word. Recently from a friend I learned about LaTex, so I was searching for a tool to write it. Thank you for this article – it helped me to decide what to use. First I tried Texniccenter but there was much more difficult installation/configuration process. I did not even finish (as I need to produce also documents in Czech language). As I am Java developer and I know eclipse, it is now cool to use. I would recommend to open both .tex and generated .pdf document in eclipse side by side (can be done by dragging one of them and placing to side) – whenever .tex is saved, you can in few seconds see the impact. SVN integration is also cool – cannot imagine now how I survived so long with MS Word and its binary format :).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 35 other followers