首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何定义一个不被表格和图形打断的多页环境?

如何定义一个不被表格和图形打断的多页环境?
EN

Stack Overflow用户
提问于 2010-06-13 14:23:51
回答 1查看 468关注 0票数 2

在我正在撰写的一本书中,我为远足定义了一个新的LaTeX环境。环境是多页的,并且通常包括内联图像。此外,我使用阴影环境来给环境一个背景颜色,使它突出一点。

然而,如下所示,环境被浮动的表格和图像分割,这使得环境的流动在视觉上更难跟踪。例如,现在很难看到浮动图像或表格是否是一部分(丢失的背景颜色没有帮助)。所以,我喜欢扩展我的环境,不允许它被浮动元素中断,但我不知道如何做到这一点。

代码语言:javascript
运行
AI代码解释
复制
\newcounter{bioclipse}
\def\thebioclipse{\thechapter-\arabic{bioclipse}}
\newenvironment{bioclipse}[2][]{\begin{small}\begin{shaded}\refstepcounter{bioclipse} \par\medskip\noindent%
   \textbf{Bioclipse Excursion~\thebioclipse #1: #2
   \vspace{0.1cm} \hrule \vspace{0.1cm}}
   \rmfamily}{\medskip \end{shaded}\end{small}}

任何不允许中断的解决方案都是很好的,即使背景颜色是不同的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-13 15:28:26

插入的算法相当复杂。基本上,您希望任何挂起的插入都不能放到应用环境bioclipse的页面中。作为第一个快速解决方案,您可以先刷新所有插入内容,然后再开始新的章节。如果你想把数字或其他东西放到环境中,并且你想让它们只在环境工作的最后一页之后被“刷新”...第二个快速解决方案是:将它们直接放在环境之后!所以它们根本不会“烦扰”页面(当然,避免使用脚注)。

另一种解决方案(以某种方式使其自动化)有点棘手。“待定”材料的插入位置是在输出例程中构建作为页面(“候选”)的垂直列表时选择的。这意味着你在最坏的情况下不得不尝试输出例程;但也许它太多了,除非你正在计划自己的TeX格式,也许LaTeX给了你更容易的选择……

深入研究一下LaTeX代码,我发现有一个条件可以尝试使用,它是\@insert*,即\@insertfalse\@inserttrue。如果你幸运的话,他们“驱动”了插入的可能性,这样你就可以在env的开头加上\@insertfalse,在结尾加上\@inserttrue。试试看,我不是说它有效。

也许你知道使用@作为字母分类代码,以便它可以成为“命令”名称的一部分,当你完成时,你必须使用\makeatletter\makeatother (可能默认的类/样式前导会为你做这件事)。

您还可以尝试查看placeins样式(它可能已经在您的安装中,否则就是see here ),这显然可以解决您的问题(部分)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3032537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档