Wie kann ich für jeden Absatz seitliche Ränder festlegen, für andere Elemente jedoch nicht?

Wie kann ich für jeden Absatz seitliche Ränder festlegen, für andere Elemente jedoch nicht?

Ich möchte schmale Absätze innerhalb breiter Seiten erhalten, sodass Abschnittsüberschriften, Abbildungen und Tabellen alle breit und alle Absätze schmal sein können.

\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}

was ich erreichen möchte

Anders gesagt, ich versuche, den seitlichen Abstand (in HTML/CSS-Sprache „Padding links und rechts“) für alle Absätze zu kontrollieren, ohne Seitenränder zu verwenden. Ich wäre für jede Hilfe dankbar …

Antwort1

Sie können versuchen, die Absatzform mit \parshapedem folgenden Befehl neu zu definieren:

\parshape 1 .15\hsize.65\hsize

Argument 1: erste Zeile, Argumentpaar: .15\hsize.65\hsizelinker und rechter Rand. Alle weiteren Zeilen werden wie die erste Zeile eingerückt.

Dies funktioniert nur für den Absatz, in dem der Befehl vorkommt. Sie müssen also \parshapedie Neudefinition von einschließen \par, d. h.:

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

verwandte Informationen