Maybe I could title my post as "formal, instead of informal", to constrast it with the suggestions presented it so far. Although, I am not as opinionated to suggest one method in exclusion to the others. I think like all good things in life, mathematical method has to be mixed and matched.
I am not sure if letters or papers will count, but E. W. Dijkstra was a prolific writer of letters to communicate with a scientific audience. For those not familiar with him, he is probably most well known today for "Dijkstra's algorithm" to find the shortest path between two nodes on a graph (which he writes, he came up with while out for a coffee with his wife, and thus one of his most trivial achievements). More significantly, he came up with the conceptual underpinnings of modern garbage collection routines now common for memory management on computers and ways to reason about parallel programming algorithms (semaphores were invented by Dijkstra -- terminology and concept). He won the Turing Award in computing science for:
For fundamental contributions to programming as a high, intellectual challenge; for eloquent insistence and practical demonstration that programs should be composed correctly, not just debugged into correctness; for illuminating perception of problems at the foundations of program design.
Dijkstra partially received the Turing award for the eloquence of his opinionated arguments.
It is worth noting that Dijkstra strongly thought of himself as a mathematician, (he was afterall, the chairman of Mathematics Inc.) and that thus, he was involved in computing science as it was an application of mathematics of the highest order. However, Dijkstra was very opinionated about discipline in thinking, which computing simply demanded, and that he believed that most mathematicians at the time lacked.
Here's a superbly convincing (and polemical!) paper written by him: On the cruelty of really teaching computing science
Leslie Lamport, one of the people who collaborated with Dijkstra and was strongly influenced with him recently wrote a similarly opinionated piece (consider the title alone!) regarding how proofs in mathematics should be structured and presented: How to write a 21st century proof.
I don't think you'll think too highly of Spivak's Calculus after you're done with Lamport and Dijkstra!
Lamport in particular uses specific examples where Dijkstra did not, but the general idea of both of these men is that proof construction as taught by mathematicians of old is awfully disorganized and clumsy, and most importantly: horrendous for education.
I must end with a textbook: Algorithmic Problem Solving by Roland Backhouse (another one of Dijkstra's disciples, if you will) presents a whole textbook (aimed for the beginner) on the type of elegant and precise proofs that Dijkstra and Lamport pushed for. He is just as opinionated as Lamport and Dijkstra, even if his language does not match the flourish of Dijkstra's. Perhaps he can be forgiven for that, given that he is writing a textbook, after all, not a piece of rhetoric.
You'll find it difficult to write proofs "the old way", after you are done, and you'll likely hate your high school math teachers even more than before.