Le package [wrapfig][1] permet simplement de faire cela. Il est surtout fait pour répondre au cas numéro 3 (image empiétant sur le texte), mais en jouant sur les dimensions, il est possible de placer l'image entièrement dans la marge ou sur toute la colonne, et donc de répondre à tous les cas.
Pour le positionnement, on peut choisir r,l,i,o `r,l,i,o` (droite, gauche, intérieur et extérieur). En majuscule R,L,I,O, `R,L,I,O`, les wrapfig `wrapfig` sont flottant permettant de reposser repousser un wrapfig `wrapfig` à la page suivante si il se retrouve déborder à la fin d'une page.
Voilà un exemple minimal:
\documentclass[a4paper]{article}
% Essai de reproduction du layout suggéré (à affiner)
\usepackage[left=2cm, marginparwidth=6cm, textwidth=10cm]{geometry}
\usepackage{lipsum}
\usepackage{todonotes} % Pour les missingfigure
\usepackage{wrapfig}
\begin{document}
\begin{wrapfigure}[12]{R}[6cm]{5.5cm}
%Figure sur [12] lignes, à d{R}oite, dépassant de [6cm] dans la
%marge, d'une taille de {5.5cm}
\missingfigure[figwidth=5.5cm]{Dans la marge}
\end{wrapfigure}
\lipsum[2-3]
\begin{wrapfigure}[12]{R}[6cm]{12cm}
%Figure sur [12] lignes, à d{R}oite, dépassant de [6cm] dans la
%marge, d'une taille de {12cm}
\missingfigure[figwidth=12cm]{Dans le texte}
\end{wrapfigure}
\lipsum[4]
\missingfigure[figwidth=16cm]{Pleine largeur}
\lipsum[6]
\end{document}
![alt text][2]
[1]: https://www.ctan.org/pkg/wrapfig
[2]: http://texnique.fr:80/osqa/upfiles/test-0_UrOSy1T.png