For some exceptionally well written papers, take a look at the work of Richard Rogerson.
Separate the presentation of what you do from the discussion of why you do it. Brief comments mixed in with the model presentation are ok. Long discussions make it hard to follow what you actually do.
Separate the presentation of the model from the derivation of its implications. It is very confusing to read a paper that mixes assumptions with results. First present the model. Define equilibrium. Then derive properties of the equilibrium.
There is a standard structure for presenting a model:
Only once these have been stated is it acceptable to talk about equilibrium properties or agents’ problems. Next, describe the agents’ problems, and define an equilibrium.
Your introduction should answer the following questions (due to Lee Ohanian):
Nice wording comes last
Do not mix levels of abstraction (a rule borrowed from programming). When you discuss high level arguments (e.g. in the Introduction), do not mix in details.
Think of your document as a nested list or an outline. There should be a place (the Intro) where the reader can get the entire story (minus detail) on about one page. Then think of each section as elaborating the details of the overall argument. Ideally, the reader should be able to read the level 2 sections (skipping the level 3s) and get the entire argument again, just with a bit more detail.
The level 3 sections then provide even more detail. Each such section should by itself make a self-contained point.
PS: I wish there was a technology for actually writing papers as nested, collapsible lists.
A little trick: When you are unsure about notation, define latex commands for the mathematical symbols.
y = A k^\capShare.
Avoid literals in your text.
Don’t write tables by hand. Let your code write them. It’s faster and it avoids mistakes.
It is fairly easy to write basic
Latex tables using code. I have
Matlab code for this purpose in my github repo.