
Se eu fizer o seguinte:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{setspace}
\usepackage{enumitem}
\setstretch{2}
\setlist[itemize]{topsep=.1em,itemsep=.1em,parsep=0em,partopsep=0em}
\setlist*[itemize]{first=\setstretch{1}} % This undesirably affects the spacing before the list
\begin{document}
\def\text{test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph}
\text
\begin{itemize}
\item one
\item two
\item three
\end{itemize}
\text
\end{document}
Então eu recebo:
Mas não é isso que eu quero. Quero manter inalterado o espaçamento antes da lista, mas alterar apenas o espaçamento entre as linhas da lista. Existe alguma maneira de conseguir isso automaticamente para todas as listas de itens/enumeração, independentemente do espaçamento entre linhas do texto ao redor?
Responder1
O caminho é simplesmente ajustar a linha de base alterada:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{setspace}
\usepackage{enumitem}
\setstretch{2}
\setlist[itemize]{topsep=.1em,itemsep=.1em,parsep=0em,partopsep=0em}
\setlist*[itemize]{first=\vspace{\baselineskip}\setstretch{1}\vspace{-\baselineskip}} % This undesirably affects the spacing before the list
\begin{document}
\def\text{test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph}
\text
\begin{itemize}
\item one
\item two
\item three
\end{itemize}
\text
\end{document}
Responder2
Que tal isso, usando as teclas before
e after
?
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{setspace}
\usepackage{enumitem}
\setstretch{2}
\setlist[itemize]{topsep=.1em, itemsep=.1em,parsep=0em, partopsep=0em}
\setlist[itemize]{before=\begin{singlespace}, after=\end{singlespace}}
\begin{document}
\def\text{test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph}
\text
\begin{itemize}
\item one\text
\item two
\item three
\end{itemize}
\text
\end{document}
Responder3
Depois que um comentarista sugeriu \singlespacing
, analisei sua definição e acho que o seguinte funciona em todos os casos:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{setspace}
\usepackage{enumitem}
\setstretch{2}
\setlist[itemize,enumerate]{topsep=.1em,itemsep=.1em,parsep=0em,partopsep=0em}
\setlist*[itemize,enumerate]{first=\vskip\baselineskip\setstretch{1.1}\vspace{-\baselineskip}}
\begin{document}
\def\text{test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph test paragraph}
\text
\begin{itemize}
\item one
\item two
\item three
\begin{enumerate}
\item a
\item b
\end{enumerate}
\item four
\end{itemize}
\text
\end{document}
Obviamente, o valor 1.1
pode ser alterado arbitrariamente. Produz: