I'm not sure how much flexibility you have in changing base document classes, but the memoir class includes features similar to titlesec, and doesn't exhibit this problem by default.
\documentclass[twocolumn]{memoir}
\usepackage{lipsum}
\settrimmedsize{11in}{210mm}{*}
\setlength{\trimtop}{0pt}
\setlength{\trimedge}{\stockwidth}
\addtolength{\trimedge}{-\paperwidth}
\settypeblocksize{7.75in}{33pc}{*}
\setulmargins{4cm}{*}{*}
\setlrmargins{1.25in}{*}{*}
\setmarginnotes{17pt}{51pt}{\onelineskip}
\setheadfoot{\onelineskip}{2\onelineskip}
\setheaderspaces{*}{2\onelineskip}{*}
\checkandfixthelayout
\begin{document}
\chapter{Chapter Title}
\section{Section Title}
\marginpar{\subsection{Subsection Title 1}}{\lipsum[1-3]}
\marginpar{\subsection{Subsection Title 2}}{\lipsum[4]}
\end{document}
Here, I'm using the page layout used in the memoir manual (section 2.9.1). You'd need to read through their page layout documentation and adjust for your needs.
Results:
First of all you should load "mparhack", that fixes some problems with marginal notes. Then you should define your command for inserting marginal notes:
\newcommand{\annotation}[1]{\marginpar{#1}}
or maybe
\newcommand{\annotation}[1]{%
\marginpar{\small\itshape\color{blue}#1}}
if you want to experiment with color. It will be easier for you to change the formatting of all marginal notes without going into the details of the implementation of \marginpar.
For XeLaTeX, if the main font has the Color
feature activated, a different trick should be used:
\setmainfont[Color=4C4C4C,Ligatures=TeX]{Linux Libertine O}
\newfontfamily{\annfont}[Color=0000FF,Ligatures=TeX]{Linux Libertine O}
\newcommand{\annotation}[1]{%
\marginpar{\annfont\small\itshape#1}}
In other words, we duplicate the main font family with a different color. If other families are used in marginal notes, they should be duplicated as well. If there is a small number of marginal notes, also
\newcommand{\annotation}[1]{%
\marginpar{\addfontfeature{Color=0000FF}\small\itshape#1}}
can be used, without duplicating the font families; note, however, that this causes a big overhead, since a new font families will be defined on the fly for each marginal note.
Best Answer
Use
\reversemarginpar
to change to side of\marginpar
s. This is an global setting, i.e. won't be limited to the current group/environment. However\normalmarginpar
switches back to the normal side.