使用 itemsep newpage 和可变页面高度进行枚举

使用 itemsep newpage 和可变页面高度进行枚举

我想要一个宏来设置枚举列表中的每个枚举级别项,使得:

  1. 它出现在自己的页面上,
  2. 页面被裁剪为仅显示文本

因此,生成的 pdf 将具有可变的页面高度(如果在 latex 中是可能的(如果在 pdf 中也是可能的))。

我尝试使用该enumitem软件包,但甚至无法将每个枚举单独放到一个页面上,为此我的 ME 如下所示。

\documentclass{article}

\usepackage{enumitem}


\begin{document}

\begin{enumerate}[itemsep={\newpage}]
    \item This line should be on a page on its own the page height being just large enough to contain it.
    \item This line also would like to be on a page on its own and the height of its page would also be just large enough to contain it.
    \item Once again, same as above
\end{enumerate}


\end{document}

背景:使用 Microsoft 的 oneNote 时,可以将 pdf 的打印件插入笔记本。这似乎将 pdf 的每一页转换为单独的图像。因此,笔记本中的初始呈现是列表本身,但学生可以很容易地在项目之间创建空间。我的想法是列表是练习。学生可以自己组织解决练习所需的空间。

答案1

如果您愿意在项目末尾添加命令,您可以尝试类似这样的操作。(主要问题是 zsavepos 给出了文件底部的位置,因此如果您缩短页面,它就会改变)。

\documentclass{article}
\usepackage{eso-pic}
\usepackage{enumitem,lipsum}
\usepackage{zref-savepos}
\newcounter{myitem}
\newcommand\meti{%end of item
 \stepcounter{myitem}\zsavepos{item-\number\value{myitem}}%
 \pdfpageheight=\dimexpr \zposy{top-\number\value{myitem}}sp-\zposy{item-\number\value{myitem}}sp+2cm\relax\newpage}

\begin{document}
\AddToShipoutPictureFG{\AtPageUpperLeft{\zsavepos{top-\number\value{myitem}}}}

\begin{enumerate}[itemsep=\textheight]
    \item This line should be on a page on its own the page height being just large enough to contain it.\meti
    \item This line also would like to be on a page on its own and the height of its page would also be just large enough to contain it.\meti
    \item Once again, same as above. \meti
    \item \lipsum*[1]\meti
\end{enumerate}


\end{document}

在此处输入图片描述

相关内容