如何僅更改清單內部的行間距?

如何僅更改清單內部的行間距?

如果我執行以下操作:

\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}

然後我得到:

列表和上一段之間的間距錯誤

但這不是我想要的。我想保持列表之前的間距不變,但僅更改列表行之間的間距。有什麼方法可以自動為所有逐項/枚舉清單實現此目的,無論其周圍文字的行間距如何?

答案1

方法就是簡單地調整更改後的基線:

在此輸入影像描述

\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}

答案2

before使用和鍵怎麼樣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} 

在此輸入影像描述

答案3

在評論者提出建議後\singlespacing,我查看了它的定義,我認為以下內容在所有情況下都有效:

\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}

顯然可以1.1任意改變。它生產:

清單前適當的間距

相關內容