在分页符处显示嵌套描述列表项的“继续”

在分页符处显示嵌套描述列表项的“继续”

我正在使用 enumitem 创建一个描述列表。

这些列表有时会嵌套,并且会变得很长。当包含大量描述文本的列表项超出页面范围时,很难分辨当前描述属于哪个项。

在这些情况下,我想在页面顶部添加一条注释,显示前面的项目名称“继续”。

这是 MWE。我已手动输入了文本上标文本;我希望每次列表超过分页符时都能自动完成此操作。

\documentclass{book}
\usepackage{enumitem}

\newlist{Options}{description}{5}
\setlist[Options]{topsep=0.25em plus 0.2em minus 0.1em,
        parsep=0.5\baselineskip plus .1\baselineskip minus .1\baselineskip,
        itemsep=0.25em plus 0.2em minus 0.1em,
        partopsep=0pt,
}
\newcommand*{\Option}[1]{%
    \item[#1]\mbox{}\newline%
}

\begin{document}

\begin{Options}
    \Option{first item} and explanatory text
    \Option{second item} and more text%
        \clearpage\textsuperscript{second item \emph{continued}}\newline%
        more text describing the second item.
    \end{Options}

\end{document}

以下是使用嵌套选项的另一种情况:

\begin{Options}
    \Option{first item} and explanatory text
    \Option{second item} and more text%
        \begin{Options}
            \Option{nested option} text
        \end{Options}

    text that belongs to \emph{second item}\clearpage
    more text about \emph{second item}

\end{Options}

答案1

您可以使用阿特别格什包,连​​同一条语句,在选项开始时\if...将相等设置为 true,然后在结束时使用设置为 false 。\if...\setlist

这是 MWE。我使用了与您上面使用的相同的延续消息。

\documentclass{book}
\usepackage{enumitem}
\usepackage{atbegshi}

\newif\ifInOptions\InOptionsfalse
\newlist{Options}{description}{5}
\setlist[Options]{topsep=0.25em plus 0.2em minus 0.1em,
        parsep=0.5\baselineskip plus .1\baselineskip minus .1\baselineskip,
        itemsep=0.25em plus 0.2em minus 0.1em,
        partopsep=0pt,before=\InOptionstrue,after=\InOptionsfalse,
}
\let\lastOption\relax
\newcommand*{\Option}[1]{\def\lastOption{#1}% remember the option for continued...
    \item[#1]\mbox{}\newline%
}
\AtBeginShipout{\ifInOptions%
  \AtBeginShipoutNext{\textsuperscript{\lastOption \emph{continued}}\newline}%
\fi}

\begin{document}
  \begin{Options}
    \Option{first item} and explanatory text
    \Option{second item} and more text%
        \clearpage%\textsuperscript{second item \emph{continued}}\newline%
        more text describing the second item.
  \end{Options}
\end{document}

这甚至似乎可以很好地与嵌套环境配合,因为\ifInOptions在内隐式设置\begin{group}...\end{group}

相关内容