Interactive Commands

Besides the buttons on toolbar and keybar, you can invoke many useful commands in the following ways:

  1. View -> Command...
  2. External keyboard: alt-x
  3. "cmd" button on keybar

To abort a command, you can use the "x" button. If you are working on a keyboard, then "esc"/"ctrl-c" should work as well.

In commandline, if you type a number instead of a text command, then it will take you to the line of that number. If you type "$", it will take you to the end of file. If you are a VIM user, you should understand it perfectly.

Customize TeX Writer

TeX Writer is highly configurable. You provide your customization in Local/twinit.l. For adding your own commands, or configuring the UI appearance, please follow the TeX Writer LISP Reference Manual.

Multi-file project

To specify the master file, add this comment in your files:

%!TEX root=yourmainfile.tex

Spell check

We don't turn on spell check by default, because it can be a distraction most of the time.

To turn on spell check while you are proof reading, use interactive command "spell". You will need to choose a language to perform spell check. If you move the caret on a marked word, there will be suggested corrections.

In twinit.l, you can turn on spell check by default in mode hook.

PDF export and print

Use interactive command:

Use External Keyboard

Dropbox and OneDrive

You can add cloud folders from Dropbox or OneDrive. Syncing will begin right after a cloud folder is added. But later, you will need to manually sync. If you sync inside a sub folder, usually it will only sync that subfolder. If that sub folder is newly created, then the entire cloud folder will be synced.

If you can't link to Dropbox, please install Dropbox app first.


You put tex template files inside Local/templates folder. In new file dialog, they will show up so that you choose one as a base for the new file.

Installing Custom Packages

You can create the following directory structure in TeX Writer documents folder, and put your package files (*.tex,*.cls,*.sty,*.def, *.tfm, *.map, ...) into corresponding places:

After that you must refresh ls-R file using the menu item in settings. This is new since 3.0, so that we can allow sub folders in texmf-local. You need to refresh again after you rename your files or move files around. You don't have to refresh if you merely modify file contents.

How to upload texmf-local tree onto iOS? You can drag and drop an entire folder directly into TeX Writer via iTunes file sharing.

Unlike previous versions, texmf-local now supports sub folders within sub folders. You just have to remember that every time you make changes to the folder structure, you need to refresh ls-R file.

Installing Custom Font files

Put the Type1 font files inside texmf-local, and then you need to manually append the corresponding font map file to and put it under texmf-local, then refresh ls-R in Settings.

Cloud Compiler: XeLaTeX

If a tex file is recognized as a XeLaTeX file, then remote cloud compiler will be used. Your files needs to be either on Dropbox or OneDrive for the remote compiler to work.

The signature of XeLaTeX is:


File Encoding

TeX Writer only supports UTF-8 files. See utf8 everywhere.