Quero criar uma lista recuada onde os novos parágrafos (não discriminados) dentro da lista não sejam recuados (ou seja, estejam alinhados com a margem esquerda do texto principal. Veja a imagem abaixo).
Estou usando o enumitem
pacote com as seguintes opções:
labelsep=8pt,
labelindent=0.5\parindent,
itemindent=0pt,
leftmargin=*,
listparindent=-\leftmargin
(o * deve servir para calcular o valor dos \leftmargin
demais parâmetros e a largura da etiqueta calculada automaticamente). No entanto, isso não resulta conforme o esperado (veja MWE abaixo). Se eu definir em vez disso
leftmargin=3cm
listparindent=-\leftmargin
funciona como pretendido (mas não quero definir a margem esquerda para um valor específico, o que quero é um \labelindent
and fixo \labelsep
). Inserindo
\noindent\hskip-\leftmargin
no início do parágrafo ofensivo também funciona, mas não é realmente muito sistemático. Como devo definir as enumerate
opções para alcançar o que desejo?
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}
Eu evitaria fazer isso em todos enumerate
os ambientes; defina uma nova lista para isso.
Responder1
Não sei por que você quer fazer isso. No entanto, aqui está o caminho:
\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}
Você deve atrasar a configuração \listparindent
quando o valor de \leftmargin
tiver sido determinado.
Responder2
Ou não seria simplesmente isso (acho que um primeiro parágrafo com margem esquerda diferente de zero e parágrafos subsequentes no item com margem esquerda zero não parece muito bom):
\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}