![Wie kann ich für jeden Absatz seitliche Ränder festlegen, für andere Elemente jedoch nicht?](https://rvso.com/image/254717/Wie%20kann%20ich%20f%C3%BCr%20jeden%20Absatz%20seitliche%20R%C3%A4nder%20festlegen%2C%20f%C3%BCr%20andere%20Elemente%20jedoch%20nicht%3F.png)
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}
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 \parshape
dem folgenden Befehl neu zu definieren:
\parshape 1 .15\hsize.65\hsize
Argument 1: erste Zeile, Argumentpaar: .15\hsize.65\hsize
linker 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 \parshape
die Neudefinition von einschließen \par
, d. h.:
\def\par{\ifhmode\ownpar\fi\endgraf}
\def\ownpar{\parshape 1 .15\hsize.65\hsize}