狮身人面像,rinohtype:每节后分页

问题描述

我想在每一章和每一节之后分页

我们可以在任何我们想要使用的地方在重组文本中获取分页符

.. raw::pdf

    PageBreak

好消息是这对 rst2pdfrinohtype 都有效。但是,使用 rinohtype 的优点是我们可以实现相同的效果,而无需在每个部分之后使用 stylesheets 手动添加上述代码

我只是不确定如何使用样式表来做到这一点,有人可以帮忙吗?

解决方法

使用自定义样式表,您可以通过设置 page_break 样式属性(在即将发布的 0.5.0 版本中,page_break 可以是设置在任何可流动的地方,而不仅仅是部分)。

在任意点插入分页符:

  1. 指明插入分页符的位置:

    • 或在 body 元素之前使用 class 指令(或 Sphinx 中的 rst-class),或
    • 通过设置 :class: 属性为指令分配一个类
  2. 使用与类名匹配的选择器定义样式。这是通过 has_class 选择器属性实现的。

分页符会插入到相应元素之前。

以下是一个示例,假设您使用的是 rinohtype 0.4.3.dev1 或更高版本:

您的 reStructuredText 文件

.. image:: images/screenshot.png
   :class: page-break

A regular paragraph.

.. rst-class:: page-break

This paragraph will trigger a page break.

您的 custom style sheet

[page-break-paragraph : Paragraph(has_class="page-break")]
base = default
page_break = any

[page-break-image : Image(has_class="page_break")]
base = image
page_break = any

请注意,新定义的样式也将决定分页元素的样式。要将它们的样式设置为文档中的其他元素,您需要将它们的 base 样式设置为默认样式。请参阅 style log 以找出这些样式。

有关 reStructuredText 和 rinohtype 中分页符的更多详细信息,请参阅 issue #186