itemize:如何控制较长项目中的间距?

itemize:如何控制较长项目中的间距?

我如何才能减少较长项目中的间距?我的 MWE 中缺少什么?非常感谢。

\documentclass[11pt,BCOR8mm,final,a4paper]{scrbook}      

\begin{document}
\newenvironment{newitemize}
{ \begin{itemize}
\setlength{\itemsep}{-1pt}
\setlength{\parskip}{-1pt}
\setlength{\parsep}{-1pt}     }
{ \end{itemize}                  } 

\begin{newitemize}
\item Christopher Columbus was born in Italy in 1451
\item He was the first European since the Vikings to sail across the Atlantic Ocean to America
\item Columbus was sure that he could sail west to find a new route
\item In 1492, Columbus set sail with three sailing ships. After 36 days the crew sighted land, in the Bahamas. The local people were amazed to see the strangers. Columbus called the local people Indians, for he believed he had reached the Indies. In fact, he had discovered a new world – America.
\end{newitemize}

\end{document}

编辑:

为了获得统一的外观,我想将长项目中的行间距调整为短项目之间的行间距:

在此处输入图片描述

答案1

使用enumitem及其选项nosep

在此处输入图片描述

\documentclass[11pt,BCOR8mm,final,a4paper]{scrbook}
\usepackage{enumitem}

\begin{document}
\begin{itemize}[nosep]
\item Christopher Columbus was born in Italy in 1451
\item He was the first European since the Vikings to sail across the Atlantic Ocean to America
\item Columbus was sure that he could sail west to find a new route
\item In 1492, Columbus set sail with three sailing ships. After 36 days the crew sighted land, in the Bahamas. The local people were amazed to see the strangers. Columbus called the local people Indians, for he believed he had reached the Indies. In fact, he had discovered a new world – America.
\end{itemize}
\end{document}

或者,如果您愿意使用 的定义itemize,则减少垂直空间:

在此处输入图片描述

\documentclass[11pt,BCOR8mm,final,a4paper]{scrbook}
\usepackage{enumitem}

\begin{document}
\newenvironment{newitemize}
{ \begin{itemize}
\addtolength{\itemsep}{-2pt} % <-- existed vertical spaces are reduced for 2pt
\addtolength{\parskip}{-2pt}
\addtolength{\parsep}{-2pt}     }
{ \end{itemize}                  }

\begin{newitemize}%[nosep]
\item Christopher Columbus was born in Italy in 1451
\item He was the first European since the Vikings to sail across the Atlantic Ocean to America
\item Columbus was sure that he could sail west to find a new route
\item In 1492, Columbus set sail with three sailing ships. After 36 days the crew sighted land, in the Bahamas. The local people were amazed to see the strangers. Columbus called the local people Indians, for he believed he had reached the Indies. In fact, he had discovered a new world – America.
\end{newitemize}

\end{document}

答案2

如果你真的想减少不仅在项目之前和之间的跳过为负值,而且正常的行跳过,你可以减少行跳过并将所有其他跳过设置为 0pt

\documentclass[BCOR8mm]{scrbook}      
\usepackage{enumitem}
\begin{document}
\paragraph{Normal list without sep:}
\begin{itemize}[nosep]
\item Christopher Columbus was born in Italy in 1451
\item He was the first European since the Vikings to sail across the Atlantic Ocean to America
\item Columbus was sure that he could sail west to find a new route
\item In 1492, Columbus set sail with three sailing ships. After 36 days the crew sighted land, in the Bahamas. The local people were amazed to see the strangers. Columbus called the local people Indians, for he believed he had reached the Indies. In fact, he had discovered a new world – America.
\end{itemize}
\paragraph{List without sep and reduced line skip:}
\begin{itemize}[nosep,before=\linespread{0.9}\selectfont]
\item Christopher Columbus was born in Italy in 1451
\item He was the first European since the Vikings to sail across the Atlantic Ocean to America
\item Columbus was sure that he could sail west to find a new route
\item In 1492, Columbus set sail with three sailing ships. After 36 days the crew sighted land, in the Bahamas. The local people were amazed to see the strangers. Columbus called the local people Indians, for he believed he had reached the Indies. In fact, he had discovered a new world – America.
\end{itemize}
\end{document}

在此处输入图片描述

答案3

您可以使用 键进行操作enumitem,如果要更改项目内的行距,请使用setstretch

\documentclass[11pt,BCOR8mm,final,a4paper]{scrbook}
\usepackage{enumitem, setspace, lipsum}

\begin{document}

\lipsum[11]

\begin{itemize}[nosep]
\item Christopher Columbus was born in Italy in 1451
\item He was the first European since the Vikings to sail across the Atlantic Ocean to America
\item Columbus was sure that he could sail west to find a new route
\item In 1492, Columbus set sail with three sailing ships. After 36 days the crew sighted land, in the Bahamas. The local people were amazed to see the strangers. Columbus called the local people Indians, for he believed he had reached the Indies. In fact, he had discovered a new world – America.
\end{itemize}
\vspace{1cm}
\lipsum[11]

\begin{itemize}[nosep, topsep=1.4pt, before=\setstretch{0.9}]
\item Christopher Columbus was born in Italy in 1451
\item He was the first European since the Vikings to sail across the Atlantic Ocean to America
\item Columbus was sure that he could sail west to find a new route
\item In 1492, Columbus set sail with three sailing ships. After 36 days the crew sighted land, in the Bahamas. The local people were amazed to see the strangers. Columbus called the local people Indians, for he believed he had reached the Indies. In fact, he had discovered a new world – America.
\end{itemize}
\end{document}  

在此处输入图片描述

相关内容