I would like to be able to define a text area shape for a given page. In effect, the text in the text area (or lists, equations, etc) would be shifted around as if the margins of the page were changed at that specific location around the page.
Using \parshape does not quite work as a solution because I would have to manually adjust the \parshape if I added new text. This is because the shape follows the paragraph and not the page. Further I would like the solution to be agnostic to where paragraphs start and end.
Likewise, using \shapepar doesn't quite work for the same reason: the shape follows the paragraph; I would like the shape to remain static on the page.
I have included two images that show what the solution would be capable of when extra text is added into the document. These two images have been mocked-up by using \parshape, just for illustrative purposes.
This first image here demonstrates how we can define an arbitary shape which changes the text area of this page.
When I add more lines to the top of the page, we can see that the shape doesn't change it's position relative to the page, but rather the text just flows around the shape as in the original case.
Here is the code required for generating the first example, which could serve as a starting point.
\documentclass[fontsize=14pt]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[base]{babel}
\usepackage{lipsum} % for dummy text
\setlength{\parindent}{0pt}
\sloppy
\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida
mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et
netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus
rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu
tellus sit amet tortor gravida placerat. Integer sapien est, iaculis in, pretium quis,
viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus.
Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor
semper nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan
eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.
\parshape 14
0.0\textwidth 1.0\textwidth
0.05\textwidth 0.95\textwidth
0.05\textwidth 0.95\textwidth
0.1\textwidth 0.9\textwidth
0.1\textwidth 0.9\textwidth
0.1\textwidth 0.9\textwidth
0.15\textwidth 0.85\textwidth
0.1\textwidth 0.9\textwidth
0.15\textwidth 0.85\textwidth
0.15\textwidth 0.85\textwidth
0.1\textwidth 0.9\textwidth
0.05\textwidth 0.95\textwidth
0.05\textwidth 0.95\textwidth
0.0\textwidth 1.0\textwidth
Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi auctor
lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus.
Donec aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna, vitae
ornare odio metus a mi. Morbi ac orci et nisl hendrerit mollis. Suspendisse
ut massa. Cras nec ante. Pellentesque a nulla. Cum sociis natoque
penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam
tincidunt urna.
Nulla ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris. Nulla
malesuada porttitor diam. Donec felis erat, congue non, volutpat at, tincidunt
tristique, libero. Vivamus viverra fermentum felis. Donec nonummy pellentesque
ante. Phasellus adipiscing semper elit. Proin fermentum massa ac quam. Sed
diam turpis, molestie vitae, placerat a, molestie nec, leo. Maecenas lacinia. Nam
ipsum ligula, eleifend at, accumsan nec, suscipit a, ipsum. Morbi blandit ligula
feugiat magna. Nunc eleifend consequat lorem. Sed lacinia nulla vitae enim.
Pellentesque tincidunt purus vel magna. Integer non enim. Praesent euismod
nunc eu purus. Donec bibendum quam in tellus. Nullam cursus pulvinar lectus.
Donec et mi. Nam vulputate metus eu enim. Vestibulum pellentesque felis eu
massa.
\lipsum[4]
\lipsum[5]
\end{document}

