¿Cómo puedo establecer márgenes laterales para cada párrafo, pero no para otros elementos?

¿Cómo puedo establecer márgenes laterales para cada párrafo, pero no para otros elementos?

Me gustaría obtener párrafos estrechos dentro de páginas anchas, de modo que los títulos de las secciones, las figuras y las tablas puedan ser todos anchos y los párrafos sean todos estrechos.

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}

\setlength{\parindent}{0pt} % so we can see better what is happening

\newenvironment{narrowpar}% I’d like every paragraph to follow these rules.
{\begin{list}{}{%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\leftmargin}{2cm}%
\setlength{\rightmargin}{2cm}%
}\item }%
{\end{list}}

\begin{document}    

\section{A section title that ranges across the page}

This is a paragraph (Loret Ipsum So On). And below, an equation that can make use of the whole page width:

\begin{equation}
p v = R T
\end{equation}

Here is another paragraph.

\begin{narrowpar}
This very text looks exactly the way I would like my paragraphs to look. But unfortunately it forces me to insert code manually before and after every paragraph in the source file.
\end{narrowpar}

\end{document}

lo que deseo obtener

Dicho de otra manera, estoy tratando de controlar el espacio lateral ("relleno hacia la izquierda y hacia la derecha" en HTML/CSS) para todos los párrafos, sin utilizar los márgenes de la página. Apreciaría cualquier ayuda...

Respuesta1

Puedes intentar redefinir la forma del párrafo con \parshapeel comando:

\parshape 1 .15\hsize.65\hsize

Argumento 1: primera línea, par de argumentos: .15\hsize.65\hsizemargen izquierdo y derecho. Todas las demás líneas tendrán sangría como la primera línea.

Funciona sólo para el párrafo donde está presente el comando. Por lo tanto, debes incluir \parshapela redefinición de \par, es decir:

\def\par{\ifhmode\ownpar\fi\endgraf}
\def\ownpar{\parshape 1 .15\hsize.65\hsize}

información relacionada