I can honestly recommend Scrivener for both technical and non-technical writing. I use that application regularly and have nothing but respect for the developer. From an engineering point of view, it is a great example that demonstrates the developer's understanding of the problem domain. Little things that make all the difference.