Change the indent structure of a paragraph
For a single paragraph not containing lists or other list based objects such as enumerate
or center
, you can use the primitives \hangindent
and \hangafter
:
\documentclass{article}
\usepackage{lipsum}
\newenvironment{reversepar}[1][\parindent]
{\par\addvspace{\topsep}\hangindent=#1\hangafter=1\parindent=0pt\relax}
{\par\addvspace{\topsep}}
\begin{document}
\lipsum[4]
\begin{reversepar}
\lipsum[4]
\end{reversepar}
\lipsum[4]
\end{document}
You can change the amount of hanging indentation with
\begin{reversepar}[<dimen>]
How about a enumitem
-based solution?
\documentclass{article}
\usepackage{enumitem}
\newlist{weirdparagraph}{itemize}{1}
\setlist[weirdparagraph]{
label=,
leftmargin=2.5em,
itemindent=-\leftmargin,
listparindent=-\leftmargin,
partopsep=0pt,
topsep=0pt,
itemsep=0pt,
parsep=\parskip
}
\newcommand\test{%
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortis
facilisis sem. Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet
mi nec ante. Donec ullamcorper, felis non sodales commodo, lectus velit ultrices
augue, a dignissim nibh lectus placerat pede.%
}
\setlength\parindent{3.5em}
\setlength\parskip{5pt plus 1pt minus 1pt}
\begin{document}
\test
\test
\begin{weirdparagraph}
\item \test\par\test
\end{weirdparagraph}
\test
\end{document}