My favorite LaTeX editor for MacOS: Texpad

I always found word processors distracting. I hate to copy and paste text only to find that the text formatting was copied as well. When I write, I do not want to have to worry about typesetting or page formatting issues. And I prefer a straight text file as a file format: it plays nicely with version control tools (e.g., subversion) and  it allows you to choose your own working environment because so many programs can edit text files.

Hence, LaTeX is my favorite approach for writing professional documents. It is far from perfect, of course. But I find the alternatives even more lacking (e.g., DocBook). In any case, many conferences and journals expect LaTeX documents.

Beginners find it hard to remember all the TeX and LaTeX commands, but this only slows you down initially. With practice, you memorize everything and can type complicated equations without thinking about the syntax at all. However, even with my experience, I find that editing LaTeX documents remains inconvenient when using a generic text editor:

  • My LaTeX documents are usually made of several files. E.g., I use BibTeX so my bibliography data is in a separate file. I’m currently reviewing the thesis of one of my student who divided his thesis into 10 or so files (one for each chapter).
  • Because LaTeX is not WYSIWYG, you must sometimes compare the result (e.g., a PDF file) with your source files. Aligning the output to your code might be difficult. (“Where is the paragraph on page 3 in my LaTeX files?”)
  • Documents have structure (e.g., chapters and sections). It is sometimes difficult in LaTeX to quickly find a given section.
  • The LaTeX workflow requires you to repeatedly rebuild your document to check the end result. This may require you to leave the editor to issue a shell command which disrupts your thought process.

There are many excellent editors built specifically for LaTeX. For Linux, my favorite LaTeX editor is Kile. Up to recently, I had no favorite LaTeX for MacOS, but I am now using Texpad. It is not free, but it is quite cheap: only $20.

Unlike Kile or other LaTeX editors, Texpad does not have extensive toolbars or menus. Instead, Texpad stays out of your way. I like that!

The standard layout of the application is made of three panes. The first pane is made of the structure of the document. If your document uses other files (e.g., a BibTeX file), it will automatically appear in the structure, and you will be able to edit it by clicking on it. The central pane is a typical text editor whereas the last pane is for the output. If your document builds a PDF file, you will see it in the third pane.  If you click anywhere in the PDF document, Texpad will try to match the corresponding location in your LaTeX document (using SyncTeX under the hood).

I don’t know how Texpad was written, but it is quite fast. It is also robust: it does not crash.

Of course, Texpad is not perfect, I wish it would automatically reload files when they are changed on disk. This is important when using a version control system: you do not want to write over the changes of your co-workers without realizing it. Also, I recommend turning off the “automatch begin … end” as it is too naive to be generally useful. (Update: according to the authors, the problems with begin/end matches were fixed in version 1.4.3.) Moreover, even in the latest version, Texpad stubbornly insists on treating LaTeX warnings as errors. That is, even if the PDF document was generated correctly, it brings up the warnings in the third pane instead of the document, and there is no  way to disable this default. (You can, however, have access to your PDF document by clicking on the PDF button.) Finally, the PDF view in the third pane is limited. For example, you cannot search text in it or quickly locate the corresponding PDF file on disk (e.g., to email it to someone). These are all minor issues however.

Overall, if you are a Mac user and write in LaTeX, I recommend you give Texpad a try. You can download a free demo.

Disclosure: I decided to write this review after receiving a free copy of Texpad.

Published by

Daniel Lemire

A computer science professor at the University of Quebec (TELUQ).

15 thoughts on “My favorite LaTeX editor for MacOS: Texpad”

  1. Daniel, the link to your screenshot is broken.

    On my side, I commonly use windows, but to write Latex I installed Sun VirtualBox with Linux in order to use Kile. Works very well.

  2. TexShop is my choice as well. It’s free and in my opinion there is no crucial feature missing. All the tex heart is looking for 🙂

  3. FWIW, I use TeXlipse. You don’t get the syncing between your PDF and your source (which, I admit, must be quite nice) but you get everything else you mention PLUS integration into Eclipse, which more than makes up for any flaws you might find in it. This is especially useful for version control integration (Git, in my case). Of course, if you don’t already use Eclipse, it might not be worth it…

  4. I recently purchased Texpad after being a longtime Kile user (on KDE). I recently moved to OS X, however, and have been using TeXShop until now. There are a few reason I like Texpad:

    1. Navigation pane (not on TeXShop)
    2. One window containing navigation pane, source, and output (not on TeXShop)
    3. Lion implemented spell check and fullscreen mode.

    But here are some things I don’t like:

    4. Synctex support is super flaky and doesn’t sync from output to source (e.g. pdf to code)
    5. No highlighting for contents within brackets (TeXShop supports this)
    6. Lousy attempt to move the output view to where the source cursor is on typsetting. It never gets it right.
    7. No option to customize the toolbar, e.g. for no text or text beside icons. With text below icons it’s wasting tons of space.
    8. Syntax highlighting could be better or customizable. Likewise for the background editor color (supported by TeXShop).

    Honestly, I don’t think I’d drop $14 on this if I had the chance again. I’m hoping, however, that the developers improve things. It is VERY promising indeed.

  5. Where do I find a description how to use Texpad, e.g. how to have all my tex-files which are in a directory in one outline? (I use includes). Or how do I make the connection from pdf-file to the location in the tex-file?

  6. And Texpad is now available for iOS! I just tried a journal paper a student and I are working on, with a variety of .sty files and lots of .pdf figure includes, that creates a 50MB PDF on my Mac. Texpad barfed on all of the PDFs, but produced a 55 page PDF nevertheless. I may need to break down and read the instructions. But I am happy!

  7. One thing I dislike about Texpad is their faulty “auto-sense” algorithm and the developer insists on not providing manually setting the default engine. Any situation that is not known to the developer and their auto sense rules will most likely default in xelatex, and that happens VERY often. Even if the input file is made for LuaLaTeX, using style files specific to that engine, it auto senses to xelatex and requires manually stopping auto-sense and then specify the correct engine, each time a new file is opened. The same thing happens when the app sees an input text in a language that the developer didn’t consider. I suggested to the developer several times to create a manual default engine option, but they religiously insists on their auto sense algorithm and not allowing a user to specify a default engine (unless that is xelatex, because that’s what it defaults to).

    If you are a LuaLaTeX user, or writes in documents that includes languages other than English, your chance of getting frustrated with this app is high.

  8. I am a new user of Texpad. I find that the auto-typeset mode do not work on my computer. The operating system is Mac OS 10.13.2 and the version of Texpad is 1.7.45. Could you give some suggestion?

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see