\marginpar on the right side\marginpar command therefore takes two arguments in a
twoside documents:
\marginpar[left text]{right text}. LaTeX uses the
“obvious” test to
get the \marginpars in the correct margin, but a booby-trap arises
because TeX runs its page maker asynchronously. If a
\marginpar is processed while page n is being built, but
doesn’t get used until page n+1, then the \marginpar will turn
up on the wrong side of the page. This is an instance of a general
problem: see
“finding if you’re on an odd or an even page”.
The solution to the problem is for LaTeX to ‘remember’ which side
of the page each \marginpar should be on. The
mparhack package does this, using label-like marks stored in
the .aux file; the memoir class does likewise.
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=marginparside