不换行地逐项列出

不换行地逐项列出

\usepackage[french]{babel}当我用列表编写文档时,\begin{itemize} \end{itemize}每个项目前都以“-”开头,并且每个项目前没有额外的换行符。但是当我不使用此包时(当我想编写英文文档时),我的列表会转换为每个项目前都有一个项目符号,并且每个项目之间都有一个额外的换行符(就像插入了新行一样)。我可以用 停用项目符号,\renewcommand{\labelitemi}{}但如何取消额外的换行符?

答案1

最好的选择可能是使用enumitem包提供的自定义选项:

\documentclass{article}

\usepackage[english]{babel}

\usepackage{enumitem}
% \setlist{noitemsep} % Uncomment this if you want it as a global setting

\begin{document}

Default spacing :
\begin{itemize}
\item item 1
\item item 2
\end{itemize}

Suppressing the space by hand :
\begin{itemize}
  \setlength{\itemsep}{0pt}
\item item 1
\item item 2
\end{itemize}

Using enumitem :
\begin{itemize}[noitemsep]
\item item 1
\item item 2
\end{itemize}

\end{document}

输出

答案2

包裹enumitem, 你可以

  1. 通过以下方式进行全局调整:

         \setlist[itemize]{itemsep=-4pt}
    

    得出下面的第一个列表。

  2. 或者,您也可以根据每个列表指定它:

         \begin{itemize}[itemsep=0pt]
    

    生成上面的第二个列表。

  3. 您可以定义自己的列表,通过\newlist它按照您希望的方式运行,从而生成下面显示的第三个列表。

    在此处输入图片描述

笔记:

  • 我使用了不同的值,itemsep这样您在图像中就能看到三个不同的列表。但这三种方法都可以产生您想要的间距,您只需要决定哪种使用模型更合适。

代码:

\documentclass{article}

\usepackage[french]{babel} 

\usepackage{enumitem}
\setlist[itemize]{itemsep=-2pt}

\newlist{MyItemize}{itemize}{3}
\setlist[MyItemize]{itemsep=-4pt}

\begin{document}

Default ajusted spacing:
\begin{itemize}
\item item 1
\item item 2
\end{itemize}

Adjusting the space on a per use basis:
\begin{itemize}[itemsep=0pt]
\item item 1
\item item 2
\end{itemize}

Use a custom list type:
\begin{itemize}[itemsep=-4pt]
\item item 1
\item item 2
\end{itemize}
\end{document}

答案3

一个解决方案是使用compactitem(加载paralist包)

\documentclass{article}
\usepackage{paralist}
\begin{document}

\begin{compactitem}
\item a
\item b
\end{compactitem}


\end{document}

相关内容