在分页符后提供嵌套编号项

在分页符后提供嵌套编号项

我需要为我的学生提供答题纸来记录他们的答案。当有分页符时,我希望新页面显示问题的完整嵌套编号,而不仅仅是最深的嵌套编号。

用下面的工作示例来说明:第二页只显示“ii”。因为这是一个新页面,所以我想显示:“2. (b) ii”。我搜索了论坛并查看了 enumitem 文档,但找不到解决方案。理想情况下,我只想在新页面中显示完整的嵌套数字。

\documentclass[12pt]{article}
\usepackage{fullpage}
\begin{document}

\begin{enumerate}
\item
    \begin{enumerate}
    \item \rule{0pt}{0.0mm} \vspace{8em}
    \item \rule{0pt}{0.0mm} \vspace{16em}
    \end{enumerate}
\item
    \begin{enumerate}
    \item \rule{0pt}{0.0mm} \vspace{12em}
    \item
        \begin{enumerate}
        \item \rule{0pt}{0.0mm} \vspace{8em}
        \newpage{}
        \item \rule{0pt}{0.0mm} \vspace{8em}
        \end{enumerate}

    \end{enumerate}
\end{enumerate}

end{document}

答案1

一种可能的方法是使用包\AtBeginShipout中的atbegshi宏。此宏在页面输出时执行代码,即当 LaTeX 完成页面渲染并准备将页面发送到输出文件时。您可以使用此钩子临时更改标签,enumerate并在使用后立即将其改回。

梅威瑟:

\documentclass[12pt]{article}
\usepackage{fullpage}
\usepackage{atbegshi}
\begin{document}

\AtBeginShipout{%
\gdef\labelenumiii{\arabic{enumi}(\alph{enumii})\roman{enumiii}.\gdef\labelenumiii{\roman{enumiii}.}}%
}
\begin{enumerate}
\item
    \begin{enumerate}
    \item \rule{0pt}{0.0mm} \vspace{8em}
    \item \rule{0pt}{0.0mm} \vspace{16em}
    \end{enumerate}
\item
    \begin{enumerate}
    \item \rule{0pt}{0.0mm} \vspace{12em}
    \item
        \begin{enumerate}
        \item \rule{0pt}{0.0mm} \vspace{8em}
        \newpage{}
        \item\label{first} xyz
        \item abc
        \end{enumerate}

    \end{enumerate}
\end{enumerate}

ref: \ref{first}
\end{document}

结果:

在此处输入图片描述

似乎引用工作正常。请注意,如果您也想完整打印此类标签,则应为其他级别(\labelenumi和等)添加重新定义。\labelenumii

相关内容