Quiero crear una lista con sangría donde los párrafos nuevos (no detallados) dentro de la lista no tengan ninguna sangría (es decir, están alineados con el margen izquierdo del texto principal. Vea la imagen a continuación).
Estoy usando el enumitem
paquete con las siguientes opciones:
labelsep=8pt,
labelindent=0.5\parindent,
itemindent=0pt,
leftmargin=*,
listparindent=-\leftmargin
(El * debería servir para calcular el valor de \leftmargin
los otros parámetros y el ancho de la etiqueta calculado automáticamente). Sin embargo, esto no resulta como se esperaba (ver MWE a continuación). Si en su lugar configuro
leftmargin=3cm
listparindent=-\leftmargin
funciona según lo previsto (pero no quiero establecer el margen izquierdo en un valor particular, lo que quiero es un valor fijo \labelindent
y \labelsep
). Insertar
\noindent\hskip-\leftmargin
al principio del párrafo infractor también funciona, pero no es muy sistemático. ¿Cómo debo configurar las enumerate
opciones para lograr lo que quiero?
MWE
\documentclass{article}
\usepackage{enumitem}
\setlist[enumerate]{%
labelsep=8pt,%
labelindent=0.5\parindent,%
itemindent=0pt,%
leftmargin=*,%
listparindent=-\leftmargin%
}
\begin{document}
A normal paragraph of text just to show where
the left margin lies, for comparison. New paragraphs
inside enumerate should start at that left margin.
\begin{enumerate}[label=Case \arabic*:]
\item By setting the enumerate options in a
(I think) sensible manner, I don't achieve what I want
This paragraph shouldn't be indented at all!
\item I want to set the options so that new paragraphs
behave like the following one
\noindent\hskip-\leftmargin
This paragraph is indeed not indented at all!
\end{enumerate}
\begin{enumerate}[resume*,leftmargin=3cm,listparindent=-\leftmargin]
\item Setting a specific value for leftmargin also works\dots
But this is not what I want :-(
\end{enumerate}
\end{document}
Evitaría hacer esto en todos enumerate
los entornos; defina una nueva lista para esto.
Respuesta1
No estoy seguro de por qué quieres hacer esto. Sin embargo, esta es la manera:
\documentclass{article}
\usepackage{showframe}
\usepackage{enumitem}
\setlist[enumerate]{
labelsep=8pt,
labelindent=0.5\parindent,
itemindent=0pt,
leftmargin=*,
before=\setlength{\listparindent}{-\leftmargin},
}
\begin{document}
A normal paragraph of text just to show where
the left margin lies, for comparison. New paragraphs
inside enumerate should start at that left margin.
\begin{enumerate}[label=Case \arabic*:]
\item By setting the enumerate options in a
(I think) sensible manner, I don't achieve what I want
This paragraph shouldn't be indented at all!
\item I want to set the options so that new paragraphs
behave like the following one
This paragraph is indeed not indented at all!
\end{enumerate}
\begin{enumerate}[resume*,leftmargin=3cm,listparindent=-\leftmargin]
\item Setting a specific value for leftmargin also works\dots
This is what I want.
\end{enumerate}
This is what I want. % just to show the left margin
\end{document}
Debe retrasar el ajuste \listparindent
cuando \leftmargin
se haya determinado el valor de.
Respuesta2
¿O no sería simplemente esto (me parece que un primer párrafo con un margen izquierdo distinto de cero y los párrafos posteriores del elemento con un margen izquierdo de cero no se ven muy bien):
\documentclass{article}
\usepackage{enumitem}
\setlist[enumerate]{%
wide =0.5\parindent,
listparindent=0pt%
}%
\begin{document}
A normal paragraph of text just to show where the left margin lies, for comparison. New paragraphs
inside enumerate should start at that left margin.
\begin{enumerate}[label=Case \arabic*:]
\item By setting the enumerate options in a
(I think) sensible manner, I don't achieve what I want
This paragraph shouldn't be indented at all! This paragraph shouldn't be indented at all!
\item I want to set the options so that new paragraphs
behave like the following one.
This paragraph is indeed not indented at all!
\item Setting a specific value for leftmargin also works\dots
But is this what you want?
\end{enumerate}
\end{document}