I like using the variant of $\LaTeX$ known as
MathJax, which is used on this site.
For working offline,
I use qute, available for
Mac and Windows here:
http://www.inkcode.net/qute
I have developed techniques
for using qute in real-time
for entering my math.
Here are some of them:
If you enter an invalid formula,
qute will not display it.
So, when entering an expression
that needs to be complete,
I enter the frame first,
then fill it in.
For example,
to enter a fraction,
I first enter
"\frac{}{}"
and then fill in the
numerator and denominator.
I work in split-screen mode,
so I always see both the
input and the displayed math.
Since qute formats its input
one paragraph at a time,
remember that
Enter starts a new paragraph
and shift-enter starts a new line
in the current paragraph.
Also remember that
up and down arrow keys do not
go beyond the current paragraph.
Always save your work
(cmd-s on the Mac)
after every moderate change.
If you start a new file,
whatever you have been working on
will be lost if it has not been saved.
I save my work in a
Dropbox directory
so I can access it anywhere.
The author of qute is
quite responsive to questions,
so if you have any problems or questions,
ask.
If I am working on a problem
for this site,
I create it in qute,
save it,
and then use the
"Publish" option
to copy it to the clipboard.
I then paste it
into the answer (or comment) box.
Feel free to ask any me questions
as comments on this answer.
I will do my best to answer them.
You can also email me at
mjcohen@acm.org,
but my answers here will be seen
by more people.