![塑造文本区域而不是段落](https://linux22.com/image/471573/%E5%A1%91%E9%80%A0%E6%96%87%E6%9C%AC%E5%8C%BA%E5%9F%9F%E8%80%8C%E4%B8%8D%E6%98%AF%E6%AE%B5%E8%90%BD.png)
我希望能够为给定页面定义文本区域形状。实际上,文本区域中的文本(或列表、方程式等)会移动,就像页面边缘在页面特定位置发生更改一样。
使用\parshape
并不是一个有效的解决方案,因为如果我添加新文本,我必须手动调整\parshape
。这是因为形状遵循段落而不是页面。此外,我希望解决方案与段落的开始和结束位置无关。
同样,\shapepar
由于同样的原因,使用也不太起作用:形状跟随段落;我希望形状在页面上保持静态。
我附上了两张图片,展示了在文档中添加额外文本后该解决方案的功能。这两张图片是使用 制作的模型\parshape
,仅用于说明目的。
此处的第一张图片演示了如何定义任意形状来改变此页面的文本区域。
当我在页面顶部添加更多线条时,我们可以看到形状不会改变其相对于页面的位置,而是文本只是像原始情况一样围绕形状流动。
这是生成第一个示例所需的代码,可以作为起点。
\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}