我可以阻止列破坏 easylist 项目吗?

我可以阻止列破坏 easylist 项目吗?

我有这个代码...

\documentclass{memoir}

\usepackage[ampersand]{easylist}
\usepackage{multicols}

\begin{document}

\begin{multicols}{2}
    \begin{easylist}[enumerate]
        & The alphabet
        & Declarative clauses
        && \textit{-r} alternation
        & Interrogative clauses
        && Partial (\textit{Liker du ... ?})
        && Polar (\textit{Hva heter du?})
        & Negation
    \end{easylist}
\end{multicols}

\end{document}

...产生以下输出:

Latex easylist/multicols output

我知道在这种情况下这可能不是最佳选择,但我希望顶级项目不要跨列。在这种情况下,它看起来应该像这样:

1. The alphabet                       4. Negation
2. Declarative clauses
    (a) -r alternation
3. Interrogative clauses
    (a) Partial (Liker du ... ?)
    (b) Polar (Hva heter du?)

我知道在这种情况下看起来有点奇怪,但我认为分离子项更糟糕,而且我宁愿不手动完成。


在做了更多这样的事之后,我意识到我必须在适当的地方手工完成。

答案1

您可以强制“标题”保留在列表中。我还会使用 \raggedcolumns 来避免 multicol 将文本撕裂得太厉害:

\documentclass{memoir}

\usepackage[ampersand]{easylist}
\usepackage{multicol}

\makeatletter
\newcommand\mynobreakpar{\par\nobreak\@afterheading}
\makeatother

\begin{document}

\begin{multicols}{2}\raggedcolumns
    \begin{easylist}[enumerate]
        & The alphabet
        & Declarative clauses
        && \textit{-r} alternation
        & Interrogative clauses \mynobreakpar
        && Partial (\textit{Liker du ... ?})
        && Polar (\textit{Hva heter du?})
        & Negation 
    \end{easylist}
\end{multicols}

\end{document}

enter image description here

答案2

我不知道如何使用 easylist 来做到这一点,但可以使用 enumitem 包:

\documentclass{memoir}

%\usepackage[ampersand]{easylist}
\usepackage{enumitem}
\usepackage{multicol}

\begin{document}

\begin{multicols}{2}
%  \begin{easylist}[enumerate]
  \begin{itemize}
  \item The alphabet
  \item Declarative clauses
    \begin{itemize}[beginpenalty=1000]
    \item \textit{-r} alternation
    \end{itemize}
  \item Interrogative clauses
    \begin{itemize}[beginpenalty=1000]
    \item Partial (\textit{Liker du ... ?})
    \item Polar (\textit{Hva heter du?})
    \end{itemize}
  \item  Negation
  \end{itemize}
\end{multicols}

\end{document}

生产:

enter image description here

我希望它能帮助你

相关内容