
如果我執行以下操作:
\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
任意改變。它生產: