One of the best features of TEX-based systems like
LATEX is that they don’t force you to use any particular
editor or viewer: you can pick one that you’re comfortable
One of the worst features (for a beginner) is not
understanding this: many new users have never come across this
kind of flexibility in software before, and may be unfamiliar
with the idea that you don’t have to do what a vendor says:
you can pick and choose.
Nevertheless, I’m solving this by edict for beginners
here: unless you already have a pet editor or
viewer, just use the one shown below. If you’re
an experienced computer user, see the
comments at the end of this section.
So for beginners, in the case
(Windows) and MacTEX (Macs) the editor is
the one that comes with the distribution (TEXStudio and
respectively, see Table 1.1 below).
Unix and GNU/Linux users need to choose and
install an editor separately.
Table 1.1: Default editors with different distributions of TEX
|Apple Mac OS X||MacTEX||TEX Live||TEXshop||Preview|
|Unix and GNU/Linux||TEX
Live||Kile, TEXStudio, or
However, there are many other editors, if you want to try
them out and pick one you are comfortable with.
|Editor||Mac OS X||Linux||Windows|
Have a look at Barbara Beeton’s slide on
Features of a good editor, slide 4
from her presentation at TUG 2017 (Beeton, 2017).
Choose your editor carefully
Experienced computer users should also read these very
sensible and relevant comments from
Twenty years ago, when my computer center required us
all to start moving our data from VM/CMS to Unix, and we
were all trying to decide which of the available text
editors to invest time in learning, I formulated one of the
few general principles of computer usage that has ever been
revealed to me:
If you are a serious computer user, you will spend
more time in your text editor than in any other single
application. Choosing well is a good idea.
It takes a long time to learn an editor well. You
will not learn 2000 editing programs between now and the
day you stop using computers at all — you may only
learn two or three. Choosing wisely is important to
avoid wasting time.
The first question to ask, when considering any
candidate editor, is ‘when I write a macro for
this editor, what is the name of the language I’m
There are three classes of answer:
Answers of the form ‘you don’t, there are
no macros in —’. These won’t normally
occur, since such editors won’t ever actually be
candidates for serious day-in day-out use.
Answers of the form ‘It’s a specialized
macro lang-[…]’. You needn’t listen to the
end of these; the editor is not worth investing your
time to learn.
Answers of the form ‘X’, where
‘X’ is the name of a
‘real’ programming language,
with variables and functions and flow of control and
all of those things.
It was on this basis that I chose
vi. (A decision, I may say, that
I have never regretted.)
The importance of macros was pretty clear to me because
over my years of using VM, I had written dozens of macros
for XEdit, the system editor, and
the fact that I could write them in a well designed
programming language (Rexx) was
The funny thing is that having chosen
vi because it has a real
programming language for macros, I then used
Emacs for ten years or more
before I ever actually used Lisp
to write any macros. I decided that this was because all
the macros I needed seemed to have been written by someone