防止乳胶文档中 item中的分页符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了防止乳胶文档中 item中的分页符相关的知识,希望对你有一定的参考价值。
我有一个由枚举组成的长文档。每个项目由几行组成,可能还包括其他元素,如图形和列表。文档类型要求每个项目都显示在单个页面上,而项目中没有分页符。页面底部未使用的空白区域是可以接受的。
这是一个例子
documentclass[a5paper,12pt]{article}
usepackage{blindtext}
egin{document}
egin{enumerate}
item lindtext
item lindtext % don't break this apart
item very long text here
end{enumerate}
end{document}
我知道samepage
环境的解决方案,以及minipage
。问题是我无法将个人item
s包装到这些环境中,这是我需要的。
needspace
工作,但后来我需要手动确定每个项目的垂直范围(至少这是我的想法)。
答案
这可能会帮助您:调整enumerate
环境的边距,以便文本不会被打破。
以下是关于如何在逐项化环境中进行此类操作的一个答案:https://tex.stackexchange.com/questions/170525/itemize-left-margin
另一答案
您可以通过以下自动化与每个clearpage
发布item
:
documentclass[a5paper,12pt]{article}
usepackage{blindtext}
letoldenumerateenumerate% Store egin{enumerate} in egin{oldenumerate}
letendoldenumerateendenumerate% Store end{enumerate} in end{oldenumerate}
enewenvironment{enumerate}
{letolditemitem% Store item in olditem
enewcommand{item}{clearpageolditem}% Update item
oldenumerate}% egin{enumerate}
{endoldenumerate}% end{enumerate}
egin{document}
egin{enumerate}
item lindtext
item lindtext % don't break this apart
item very long text here
end{enumerate}
end{document}
上面的代码以一种将enumerate
代码改为等同于item
的方式更新clearpageitem
环境。这样可以确保每个item
都会在新页面上开始,可能会在底部留下空白区域。
另一答案
我最后做的是使用enumitem包并将枚举分解成小部件中的部分:
documentclass[a5paper,12pt]{article}
usepackage{blindtext}
usepackage{enumitem} % modified itemize
egin{document}
egin{minipage}{linewidth}
egin{enumerate}[series=task,start=1,leftmargin=*,resume]
item lindtext
end{enumerate}
end{minipage}
egin{minipage}{linewidth}
egin{enumerate}[resume*=task]
item lindtext
end{enumerate}
end{minipage}
end{document}
我更喜欢不太复杂的东西,但至少它没有手动分页。
以上是关于防止乳胶文档中 item中的分页符的主要内容,如果未能解决你的问题,请参考以下文章