I would like to format paragraphs as shown in the picture below, i. e. paragraphs such that the last n lines of the paragraph are centered and of linearly decreasing width. (n is constant from paragraph to paragraph.)
The paragraph does not have a predefined total number of lines and may a priori extend over several pages.
\documentclass{article}
\begin{document}
\parshape=9
0.40\linewidth 0.2\linewidth
0.35\linewidth 0.3\linewidth
0.30\linewidth 0.4\linewidth
0.25\linewidth 0.5\linewidth
0.2\linewidth 0.6\linewidth
0.15\linewidth 0.7\linewidth
0.1\linewidth 0.8\linewidth
0.05\linewidth 0.9\linewidth
0\linewidth 1\linewidth
\noindent
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam mollis fermentum nisi vitae luctus. Vestibulum libero tellus, facilisis et ultricies sed, pretium quis eros. Nunc hendrerit lacinia augue, eu placerat nisi efficitur quis. Sed sed auctor sapien. Donec mattis fermentum mauris, vel maximus orci porta eu. Pellentesque ornare odio at massa facilisis, quis consectetur massa volutpat. Morbi tempus hendrerit lorem id luctus. Nulla id tellus cursus, sagittis neque et, sagittis ipsum. Donec gravida lorem velit, at congue odio tristique condimentum. Nulla sed semper arcu, id fringilla erat. Fusce eleifend, risus vel molestie fermentum, mi mi rhoncus leo, finibus sollicitudin augue lorem et ex. Nam pellentesque massa et mauris consectetur, sed aliquet metus pretium. Nam sed urna id mi fermentum consectetur ut in lacus. Donec laoreet nunc ac diam ornare, sit amet interdum nulla porta. Curabitur lectus sem, rhoncus sit amet mattis ac, lobortis vel dolor. Donec dignissim vitae mauris et iaculis. Sed porta lectus eu eros convallis, ut vulputate mauris vestibulum. Nunc quis pretium ante. Nam dapibus leo et felis molestie, quis posuere purus aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin tristique ut ipsum ac facilisis. Etiam suscipit magna tellus. In ornare quam id accumsan tincidunt. Vivamus cursus quam vitae neque tempus tempor. Mauris scelerisque lacinia nisl a mollis. Quisque vestibulum, mauris non semper volutpat, ante quam ultrices ligula, id vulputate mi felis eu leo. Integer commodo iaculis nulla. Etiam ut luctus ipsum, nec feugiat lectus. Mauris erat sapien, eleifend viverra ante sed, efficitur porta enim. Nam nec arcu ante. Mauris auctor tincidunt molestie. Praesent non sem blandit, pretium metus a, condimentum felis. Nunc rutrum volutpat mi nec pharetra. Duis ultricies sollicitudin sagittis. Curabitur vitae dui tempor, egestas enim eu, eleifend libero. Aliquam ac congue felis. Curabitur tristique ex sed augue imperdiet. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam mollis fermentum nisi vitae luctus. Vestibulum libero tellus, facilisis et ultricies sed, pretium quis eros. Nunc hendrerit lacinia augue, eu placerat nisi efficitur quis. Sed sed auctor sapien. Donec mattis fermentum mauris, vel maximus orci porta eu. Pellentesque ornare odio at massa facilisis, quis consectetur massa volutpat. Morbi tempus hendrerit lorem id luctus. Nulla id tellus cursus, sagittis neque et, sagittis ipsum. Donec gravida lorem velit, at congue odio tristique condimentum. Nulla sed semper arcu, id fringilla erat. Fusce eleifend, risus vel molestie fermentum, mi mi rhoncus leo, finibus sollicitudin augue lorem et ex. Nam pellentesque massa et mauris consectetur, sed aliquet metus pretium. Nam sed urna id mi fermentum consectetur ut in lacus. Donec laoreet nunc ac diam ornare, sit amet interdum nulla porta. Curabitur lectus sem, rhoncus sit amet mattis ac, lobortis vel dolor. Donec dignissim vitae mauris et iaculis. Sed porta lectus eu eros convallis, ut vulputate mauris vestibulum. Nunc quis pretium ante. Nam dapibus leo et felis molestie, quis posuere purus aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin tristique ut ipsum ac facilisis. Etiam suscipit magna tellus. In ornare quam id accumsan tincidunt. Vivamus cursus quam vitae neque tempus tempor. Mauris scelerisque lacinia nisl a mollis. Quisque vestibulum, mauris non semper volutpat, ante quam ultrices ligula, id vulputate mi felis eu leo. Integer commodo iaculis nulla. Etiam ut luctus ipsum, nec feugiat lectus. Mauris erat sapien, eleifend viverra ante sed, efficitur porta enim. Nam nec arcu ante. Mauris auctor tincidunt molestie. Praesent non sem blandit, pretium metus a, condimentum felis. Nunc rutrum volutpat mi nec pharetra. Duis ultricies sollicitudin sagittis. Curabitur vitae dui tempor, egestas enim eu, eleifend libero. Aliquam ac congue felis. Curabitur tristique ex sed augue imperdiet.
\end{document}
The command \parshape would be fine, however, it applies to the first line of the paragraph and the (n-1) following lines (as in MWE). Ideally, \parshape should be applied to the last line as well as to the (n-1) previous lines.
After researching the subject, I did not see anywhere that it was possible to do that. I discovered the shapepar package, but this one is not very appropriate.
Do you have any idea how to do this?


shapeparpackage is that it does not allow a fixed decrease in line width since it depends on the total length of the paragraph in question. In addition, it does not allow page breaks. – Bastien Jul 13 '20 at 18:09