LaTeX features for Atom


New to Atom and still trying to gauge the target audience. Is this mostly for web development types? I come from scientific programming background and would love to see some nice LaTeX packages. For example, AucTeX for Emacs, which is very powerful for previewing inline etc.

Is this the sort of thing that the Atom project is aiming for?


I think Atom is meant to be an “universal” editor for everything you want to do. That’s why its build modularly, you can easily add the components you need yourself.

Since it is based of chromium it comes with some handy features for the web developers but it’s not only for those! I expect to see LaTeX packages coming in pretty soon (either when the beta goes multiplatform and/or open) or at the very least when Atom is being released.

I will use it for almost exclusivly for LaTeX aswell. Once you start writing with LaTeX you never want to get back to Word. And my PhD is starting soon so Atom will be quite handy. (Using ST3 atm). :wink:


I live and breathe LaTeX, TikZ, etc. I’ve begun work on a LaTeX package for Atom, but I’ve been swamped with reports and experiments lately, so I haven’t had much time to get any work done on it yet, sadly…

My hope is to add support for opening PDFs with SyncTeX in the coming weeks, and generally improve the latexmk stuff I’ve added so far. In addition I really need to add some form of build output/log in case of warnings and errors.

If you guys have any feature requests, ideas or what not. Feel free to add them here:

Pull requests are also highly welcome, but please add an issue first and indicate that you’re working on it, so we can avoid duplicating our efforts :smile:


I think there is now an PDF-Viewer for Atom with SyncTeX support:

I know the discussion is old, but so people haven’t to search twice.


I hope this is appropriate (if not, my apologies): I am the developer of the LaTeXTools plugin for Sublime Text, and I’m not in the process of porting it to Atom. The package is actually already pretty functional. Take a look here if you are interested:


@mark_hahn ooops… sorry, yes, of course, that’s what I meant :slightly_smiling: I am in the process of porting it.


Any idea when it would be compatible with Linux?


I just pushed an update that activates Linux support. I tested it on an Ubuntu VM; let me know!


Looks like quite a bit of work! But for now it looks a bit too intricate to me (as code with a consequent history does) so I’ll stick with @thomasjo’s latex. That said, some pieces might be really helpful, e.g. the log parser we desperately need. Are you positive you want to port it instead of using it to complete existing packages?


@Evpok, feel free to stick to what you know, of course. However, a few comments. The tl;dr version is that LaTeXtools is a “big” package because it does many things, by design—it doesn’t just run tex & friends.


  1. The code is not “intricate” because it has a “consequent history.” It is just “bigger” because it does a lot more than just run tex & friends, and invoke a pdf viewer. For instance, it gives you reference and citation completion. You could get something similar using the latex-completion package, but LaTeXTools gives you both with a single install (and consistent keybindings, master file handling, etc.)

  2. The code related to invoking tex & friends is indeed slightly more involved than the one in the latex package. But again the reason is that it requires additional functionality: in particular, it displays a bottom pane that tells you how compilation is proceeding, and then, as you noticed, it parses the log file and creates clickable error messages that allow you to jump to the line where the error or warning was triggered.

  3. A mature code base has many advantages, esp. as regards handling the many, many quirks of tex, latex, its log files, etc. The original Python code is “battle–tested,” after three years and many hundreds of bug reports (LaTeXTools has had about 100K downloads so far on Sublime Text). Of course, the Coffeescript port is new and rough around the edges. However, for instance, things like parsing log files or bib files have been widely tested, and while not perfect, they are quite solid.

  4. LaTeXtools offers you two ways to configure the build process: via tex “shebang” (aka “magic”) lines, and via settings. Yes, that also makes the code a bit more “intricate,” but as a user, you don’t need to use both configuration options (or in fat either!). Just use whatever you’re comfortable with.

The bottom line is that, as far as running tex & friends is concerned, LaTeXtools should serve just as well as the latex package, and perhaps better (due to error parsing). Full disclosure: one thing LaTeXTools does not (yet) do is put temporary files in a different directory; also, it doesn’t yet support the pdf-view package. Both features will eventually be implemented—I especially like pdf-view and have a couple of ideas on how to use beyond just displaying output.



Well, it makes sense. I just wondered if it wouldn’t be easier to build upon existing atom packages instead of porting (which can be quite the daunting task), but with such history I understand why you want to do it that way and I wish you good luck! I hope I didn’t offend.


I have problems with the ‘shebang’, for example:

%!TEX jobname = trig1

does not produce any effect on the why the engine is being called and it should pass the argument --jobname=trig1

please help