一个可以包含许多子图并跨页的图形环境:如何正确对齐事物后的双列开始?

一个可以包含许多子图并跨页的图形环境:如何正确对齐事物后的双列开始?

我遇到了类似问题11059即我需要一个可以包含任意数量子图的类似图形的环境。这些子图可能会占用太多空间,以至于图形可能跨越多页,即类似于图形系列。此外,此环境应适用于单列和双列文档。

由于我没有找到可以做到这一点的软件包,所以我尝试自己制作一个,我想我已经快完成了。你可以找到我当前的解决方案,figureSeries即“”软件包我的博客。我在那里详细讨论了我的想法,列出了目前尚未解决的问题,并提供了可供下载的所有内容(LaTeX 包、源代码、示例)。在这里完整描述我(目前不完整的)方法似乎太多了,特别是如果我想包含代码和示例的话。因此,我想我会在我的网站上留下细节,只给出一个简短的概述,介绍主要思想和问题。(我希望这样做不会违反任何社区规则。)

无论如何,我的解决方案如下:就像 Hendrik Vogt 在帖子中说的一样11059,我创建了一个center环境而不是。我使用包中的figure命令使其(几乎)浮动。在环境(或实际上是命令主体)中,子图被渲染为(来自包)。子图之间的间距是通过实现的,因此每行的子图数量无关紧要,它们仍然会很好地分布。这就是单列情况下需要做的全部工作。\afterpageafterpage\subcaptionboxssubcaption\strut\hfill\struts

对于双栏的情况,事情变得更加复杂:我首先切换\onecolumn,因为这样的一系列图形只有在全页宽度下才有意义。\onecolumn会导致分页符,但可以通过将图形系列放入 中来化解\afterpage(它从下一页开始,因此无论如何都会有分页符)。 在图形系列之后,我切换回\twocolumn,这同样会导致分页符(可能在页面中间,很难看)。 为了避免这种情况,我暂时\let\clearpage\relax。 这反过来会弄乱以下文本的开头:现在开始的左列的文本从我的图形正下方开始,但在右列中,它从页面顶部开始(并覆盖我的图形!)。 为了避免这种情况,我通过 计算图形的占用空间,\pagetotal然后将相同大小\afterpage\vspace放入右列的开头。 这样可行几乎好吧:现在这两列通常从相同的垂直偏移开始,但有时有点偏离...我仍然需要努力,并欢迎任何反馈。

这基本上就是我的问题:如何才能垂直对齐我的图形系列之后开始的两列的起始线?有没有办法让我的方法可靠地工作?

无论如何,如您所见,这有点太复杂了,无法将所有内容都放在这里。由于我非常希望得到帮助以使它正常工作,因此我写了一个详细的描述,并在以下位置附上了我的代码和示例我的博客。如果我的解决方案中的问题能够修复,我会在这里发布更新并将其发布给 ctan。

答案1

我想我可能已经找到了自己问题的答案。因此,我可以创建一个包,允许我拥有类似 figure* 的东西,它可以包含任意多个子图,看起来像是浮动的,并且可以在单列和双列模式下工作。Tomáš Hejda 的回答对解决这个问题很有帮助双栏文档中包含多页单栏摘要

我把所有内容整理成一个 LaTeX 包,放在 GitHub 上http://github.com/thomasWeise/figureSeries

figureSeries 包的用例和功能

LaTeX 中的图形和图形*环境不能跨页。但是,它们可以包含子图形。如果子图形多于一页所能容纳的,则必须手动将它们分成两个单独的图形环境。这样做不仅繁琐,而且几乎不可能实现自动化。如果您不想手动操作,或者您的子图形(及其标题)由某些工具自动生成,则可能需要这种自动化。

软件包 figureSeries 提供了

  1. 将任意数量(可能大小不同)的子图形纳入类似图形*的结构中,
  2. 能够让这个类似图形的结构看起来就像是一个漂浮的物体,
  3. 在单栏和双栏文档中均可很好地运行。

相关内容