# What is a good LaTeX editor for writing thesis?

I'm writing my thesis with latex (for technical text, it's way easier than Word). However, writing LaTeX on editor, and then manually compiling PDF for preview is rather slow and cumbersome.

Is there a good LaTeX editor for OS X that:

• Always shows the newest PDF (auto-refreshes it after it's compiled)
• Provides autocomplete for latex commands (for example, \textbf{} for bold text). Might even show some help messages for those.
• Preferably have at least some BibTeX (references) support: autocomplete for reference names. Automatically compiling BibTeX whenever something changed (new entries or references were added) would be pretty useful.
• Preferably shows errors (invalid syntax, missing } etc.) real-time instead of dumping LaTeX output showing errors among huge number of other messages.

I would suggest Texworks. I use it under Ubuntu, but it's available for OSX and Windows as well. Cross-platform compatibility is always a plus.

• When you press the green 'Typeset' button it refreshes the PDF, which is shown alongside the code (in a separate window you can position yourself). (You may need to run it twice, since the BibTeX file is (re)compiled separately).

• Provides autocomplete via tab key.

• It doesn't have native BibTeX autocomplete, but I just went looking and found a script you can add to Texworks to make that work: Texworks-scripts autocomplete. I haven't used it yet, but will be trying this out. It's demonstrated here.

• It doesn't have real-time error warnings, though. It does, of course, have syntax highlighting, which should prevent most syntax mistakes. You can also jump from an error in the errors tab to the corresponding line in the source.

Another nice feature is 'Auto-Follow focus', which makes the pdf view match where your cursor is in the source; you can also 'Jump to Source' from the pdf.

I don't know the OSX software landscape, so there may, of course, be better options out there I don't know about.

• Syntax highlighting is almost as good as warnings - usually problems are with missing/misplaced quotes or brackets. – Olli Feb 5 '14 at 1:13

Emacs (with the AUCTeX macro package) is a good LaTeX editor.

To recompile your document, press Ctrl+C Ctrl+C Enter (you can define a one-key shortcut if you want). All modern PDF viewers automatically reload the PDF file when it changes. I'm not familiar with PSX, but it seems that Skim performs better than the built-in PDF viewer, including pdfsync support (click in the PDF and reach the corresponding source line or vice versa).

If there is a compilation error, press Ctrl+C  to go to the corresponding source location.

With preview-latex, you can even render text snippets inside Emacs directly.

Emacs provides completion for command and environment names and BibTeX references and syntax highlighting. It supports many common style files and can parse additional style files.

For a thesis or any other large, complex document, my own preference is to use approach it like a piece of software. This means usually:

1. My text (.tex) and presentation (.sty) files are separate.
2. My text is broken down into smaller pieces for easier navigation and editing.
3. I likely have a "backbone" .tex file which includes the pieces in order (by chapter, etc). The pieces may include other sub-pieces for things like drawings or diagrams.

This is how I wrote and designed my book. It's how I do business plans. It works well. The major disadvantage is that the editors discussed above aren't going to help you that much since they are usually designed for simpler, shorter, less complex, more self-contained documents. After all, most of my .tex files don't contain the header information (including packages to use) since these would be specified in the backbone document.

So here's a list of my tools for this. YMMV, but if you are familiar generally with software development, you may find this easier and faster than the alternatives above.

1. VIM, as the main editor. Note it has shell escapes that can be used for rebuilding the pdf.
2. svn for source code management (git would work just as well).
3. I have been known to build what effectively amount to initial build files in LaTeX to allow me to select the format I want to generate if I need different formats for draft, publication, etc. I did this for my book.

The advantage to this approach is that it gives you a relatively distraction-free and yet very powerful environment for building pdfs, especially where the content is complex and you want to keep things broken apart for easy editing.

Similarly in this spirit Texlipse looks interesting.

• For vim, consider to make a Makefile and just :make :) – Bernhard Feb 9 '14 at 18:46
• yeah, but to do what you'd need to do, I'd probably need to do what I do with the LaTeX file anyway. Once I have a LaTeX file that can handle build-time output format specifications, hooking it into make is kind of redundant ;-). – Chris Travers Feb 10 '14 at 2:37

I would recommend TexMaker. With one-key-press compilation and a good looking/intuitive GUI, TexMaker is the software for you. Plus, the wizard is really helpful.

Texmaker includes wizards for the following tasks:

• Generate a new document or a letter or a tabular environment.
• Create tables, tabulars, figure environments, and so forth.
• Export a LaTeX document via TeX4ht (HTML or ODT format).

It's cross platform with an integrated PDF viewer.

• Its PDF Viewer is also great, as you can jump from the code to the right place in the pdf and vice versa. – gillesB Feb 5 '14 at 11:52
• I once used Texmaker, but it has bad IO managing. My computer crashed (not because of Texmaker) and after I rebooted, all the file content was gone, although I had saved it (because of Texmaker). – palsch Aug 12 '16 at 14:00
• @palsch that is strange, I have been using it for years and haven't faced such an issue before :/ – Ranveer Aug 17 '16 at 3:32

I've installed Texpad (\$19.99) a while ago and I really love it. It's a native Cocoa application, so it works much smoother than most cross-platform (Java) applications. They have a Mac app which I use mostly, but there's also a universal iOS app, so you can even work on your iPad or iPhone on the go. Both apps offer support for their own paid cloud service for synchronizing and sharing documents, but Dropbox is also supported (in the iOS app).

• Typesetting can be done by clicking the "Typeset" button in the menu bar or pressing ⌘L. Furthermore, you can choose to enable auto-typesetting, which runs when you pause typing.
• There's autocompletion for most LaTeX commands and packages (after typing \usepackage{). For some commands, a help message is shown. (For example, commands like \Omega show a large preview of the character, which I find to be very helpful.) Also \end{} tags are automatically inserted after typing \begin{}` tag.
• It supports BibTeX. I haven't used it in a while, but I remember it worked when I needed to use it.
• Errors are not shown when auto-typesetting occurs. However, when manually typesetting, a list of errors is shown. When clicking an error the editor focusses on the line of the error.

I mostly love this app because it runs super smooth on Mac (being a native app). One other awesome feature is that you can click somewhere in your compiled PDF (shown in the right half of the window), and the editor focusses on that specific text/content. So no more searching for the source of something, just click the relevant part of your compiled document and you get there.

(The screenshot seems a bit messy because of the small window width, but that's only to make it fit better in this post.)

## Check out LyX.

It is a cross-platform, open source LaTeX document processor which:

1. Can be made to update / refresh.
2. Not only auto-completes but will basically write all of your LaTeX commands. You can still edit them directly.
3. Can automatically handle references. Check out some of the pre-made templates.
4. It will warn you about errors, and give details on how to fix them.

From the official website:

"LyX is a document processor that encourages an approach to writing based on the structure of your documents (WYSIWYM) and not simply their appearance (WYSIWYG)." ...

"LyX is for people who want their writing to look great, right out of the box. No more endless tinkering with formatting details, “finger painting” font attributes or futzing around with page boundaries. You just write. On screen, LyX looks like any word processor; its printed output — or richly cross-referenced PDF, just as readily produced — looks like nothing else."

What you see:

Renders as:

I think Kile is a good option for you. It runs on all three major OS (Windows, Mac and Linux) and my experience is that the Linux and Windows version are equally good, so I expect the same for the Mac version.

• Refreshing of the PDF is automatic after standard recompilation with Alt-6 (if the PDF is still open) or you can have a new PDF pop up after compilation with Alt-1
• Autocomplete suggestions are given in a floating box close to your cursor and can be selected with Tab
• If you load your .tex and .bib together in a project, which is the smartest way to work, you have autocompletion of reference names. A BibTeX recompile is not strictly automatic, but you can set up a "QuickBuild" list that does, for example, Latex-Bibtex-Latex-Latex in a single keystroke and skips anyone of the commands that is not necessary because nothing changed since the last compilation.
• Syntax highlighting is standard and you can set up the compilation to automatically jump to the line with the error, which also helps in debugging.

I use Kile on an almost daily basis to write scientific papers and the main reasons are surprisingly close to the features that you requested. One thing additional thing that is important to me is the inter-OS compatibility. At work I have Linux and at home I have Windows and I like not having to switch programs when writing on my different computers. Additionally, Kile has a word count option that is capable of counting actual words, latex commands and comments separately. This is quite handy when you're limited in the number of words you're text can have.

I use TexStudio.

• It has the advantage to click just one button ">>" to create the document. It has an integrated PDF viewer. It remembers which way you use to translate the Latex document and it does it as often as it is necessary to get all compiling done.
• It contains autocomplete functions for Latex commands and autocomplete Bibtex support.
• A highlight feature is the formula editor. You can write your formula with the mouse on a text pad and it converts it in a Latex formula. Therefore a good tool.
• Spellchecking is included

• Why spellcheck seems to highlight all words on that screenshot? Wrong language? And does spellcheck really complain about Latex options too? (for example, "ansmath"/"anssymb") – Olli Feb 16 '14 at 10:44

My OS X Latex editor of choice has always been TeXShop. I wrote several papers using this tool and I found it easier than other popular editors I tried such as for example Kile which was recommended here, as well.

TeXShop is a rather plain editor considering its user interface. It does not try to hide the Latex from you in order to give you a what you see is what you get experience such as for example LyX, what is another recommendation given to you on this site. However, in my opinion, you want to use Latex because you want to have a more declarative control over your document in the first place, otherwise, you would use an editor such as Word, so this is a good thing. Instead, it shows you a constant preview of your rendered file in another window which is refreshed once you compile.

TeXShop ships with everything you require. There is auto-complete for common commands, it highlights errors and helps you with braces and it integrates nicely with Bibtex.

Note that TeXShop only runs on Mac OS.

In addition, you've the following options:

• TextMate

It has wonderful file handling support, great shortcuts, snippets with definable entities within them that can be tabbed between, a set of great colour schemes and wonderful editing bundles. It comes with ones already for things like C, Java, Python, LaTeX, and Subversionsuperuser.

• Archimedes

Archimedes is a fully-featured plain text and Markdown editor. It includes a fast syntax highlighter and provides convenient keyboard shortcuts for common actions, such as inserting images and links. With complete support for Markdown, Archimedes makes formatting and structuring documents elegant and easy.

• MacTex

• Editing LaTeX with Aquamacs