Your specifications are not very clear; the following could be what you need:
\usepackage{enumitem,lipsum} % in your preamble
\begin{description}[leftmargin=2cm,itemindent=0cm,
labelindent=1cm,labelwidth=\dimexpr1cm-.5em\relax,
labelsep=!,align=left]
\item[X] \lipsum*[4]
\item[First] \lipsum*[2]
\item[Second] \lipsum*[3]
\end{description}
(As always, lipsum is used only to provide dummy text.)
If you want to be able to set the dimensions at usage time, you can define a personal environment, such as
\newenvironment{xdesc}[2]
{\begin{description}[leftmargin=#2,
labelindent=#1,labelwidth=#1,
labelsep=0pt,align=left,style=multiline]}
{\end{description}}
to be called as
\begin{xdesc}{1cm}{3cm}
\item[X] \lipsum*[4]
\item[First] \lipsum*[2]
\item[Second and more] \lipsum*[3]
\end{xdesc}
where the first argument is, in your notation, sep1 and the second argument is sep2.
Best Answer
Best is to use the
adjustwidth
environment offered by thechangepage
package. It has the following format:The contents is indented from the left by
<leftmargin>
and from the right by<rightmargin>
, as expected, and allows for page breaking:Here is a little bit of a hack: The standard
quotation
environment (which typesets it's contents as a list) offered by LaTeX might be of some help here. Using this as foundation, the following MWE provides theshiftpar
environment. The optional argument specifies the left margin indent (default is1.5em
, taken directly from thequotation
environment definition):