Here is one way to do it with, what else, but tikz:

The content is placed with
\AnchoredRegion[<draw options>]{<name of region>}{x,y}{<content>}
where:
<draw options> is an optional parameter used to style the box. If you don't want the box, you can use fill=none. If you want a solid box use draw=<color>, etc...
<name of region> is the name given to this node which can later be used to reference it's location
x,y is the x and y offset form the south west corner of the page. The units for this default to cm, but if you prefer other unit you can provide them. For example {1in,1in} would be equivalent to {2.54cm,2.54cm} or {2.54,2.54}.
<content> is the content that is to be placed
After the boxes are placed then you can draw line from one to the other as desired with:
\DrawLines[<draw options>]{<name of region>}{<name of region>}
Only a very small subset of the options that are avilable are illustrated here. For other draw options one should refer to the tikz/pgf user manual.
Note:
- This does require two runs. First one to determine the locations, and the second to do the drawing.
- Note that no test is made to ensure you are no overlapping boxes. So, if that is not desired, you may need to tweak the
x, y coordinates of the locations of these tikz nodes.
Code:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand{\AnchoredRegion}[4][]{%
% #1= draw options
% #2= name of this node
% #3= x,y offset from south west of current page
% #4= content for node
\begin{tikzpicture}[overlay,remember picture, outer sep=0, inner sep=5pt]
\node [#1] (#2) at
($(current page.south west)+(#3)$)
{#4};
\end{tikzpicture}%
}
\newcommand{\DrawLines}[3][]{%
\begin{tikzpicture}[overlay,remember picture, outer sep=0, inner sep=5pt]
\draw [ultra thick, #1] (#2) to (#3);
\end{tikzpicture}%
}%
\newcommand*{\TextA}{\parbox{3.0cm}{\raggedright Some small text over two lines.}}%
\newcommand*{\TextB}{\parbox{3.0cm}{\raggedright Some longer piece of text that takes up three lines.}}%
\newcommand*{\TextC}{\parbox{3.0cm}{\raggedright Some even longer piece of text thatjust goes on and on and on and on..... Well you get the idea.}}%
\begin{document}
\AnchoredRegion[fill=yellow!40]{YellowRegion}{7,7}{\TextA}
\AnchoredRegion[fill=cyan!40]{BlueRegion}{7,10}{\TextB}
\AnchoredRegion[fill=orange!40]{OrangeRegion}{7,13}{\TextC}
\AnchoredRegion[fill=red!20]{RedRegion}{11,13}{\TextC}
\DrawLines[out=130,in=-130,-stealth, red]
{YellowRegion.west}{OrangeRegion.west}
\DrawLines[out=30,in=-90,-stealth, brown, dotted]
{YellowRegion.east}{RedRegion.south}
\DrawLines[-stealth, violet]{BlueRegion.south}
{YellowRegion.north}
\DrawLines[out=-150,in=120, distance=6cm, -stealth, green]
{YellowRegion.south}{OrangeRegion.north}
\end{document}
x-start,y-startrepresent? – Peter Grill Nov 20 '12 at 4:20xandycoordinates then they are not floating, they are a fixed spot on the page. – Peter Grill Nov 20 '12 at 6:24