微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

rinohtype 导出为 PDF - 带有章节名称和标题的文档标题

如何解决rinohtype 导出为 PDF - 带有章节名称和标题的文档标题

我想定义和样式标题如图所示 - 浅色部分包含章节名称,文档标题在深色部分。

现在我只能让浅灰色部分的文本向右对齐。

如何定义标题样式来实现这一点?另外如何将这些方块插入到布局中?

谢谢

enter image description here

解决方法

我想定义和样式标题如图所示 - 浅色部分包含章节名称,文档标题在深色部分。

不幸的是,这个功能还没有被很好地记录下来。以下是获取此信息的必要步骤:

  1. 如果您还没有在 conf.py 中设置自定义模板配置

    rinoh_documents = [dict(doc='index',target='manual',template='my_template.rtt')]
    
  2. 在模板配置 (my_template.rtt) 中定义 page header content

    [TEMPLATE_CONFIGURATION]
    name = My Template
    template = article
    stylesheet = my_stylesheet.rts
    
    [contents_page]
    header_text = '\t' '{SECTION_TITLE(1)}' (header section title)
                  '\t' '{DOCUMENT_TITLE}' (header document title)
    
  3. Style the header text 并调整样式表中的 tab stop positions and alignment (my_stylesheet.rts)

    [STYLESHEET]
    name = My Style Sheet
    base = sphinx_article
    
    [header]
    tab_stops=12cm RIGHT,100% RIGHT
    
    [header section title : StyledText('header section title')]
    base = default
    font_weight = bold
    
    [header document title : StyledText('header document title')]
    base = header section title
    font_slant = italic
    

另外,如何将这些方块(在文本前面)插入到布局中?

对于黑色方块,您可以插入一个 unicode 字符,例如使用 BLACK SQUARE 恰当命名的 python-style escape sequences 字符或简单地将该字符粘贴到模板配置中:

[contents_page]
header_text = '\t' '\N{BLACK SQUARE} {SECTION_TITLE(1)}' (header section title)
              '\t' '■' (header square) ' {DOCUMENT_TITLE}' (header document title)

如您所见,您为正方形设置了不同的样式(例如更大的字体)。

如果 unicode(或字体)不能满足您的需求,您也可以使用内嵌图片:

[contents_page]
header_text = '\t' IMAGE('img/square.png',scale=0.3) ' {SECTION_TITLE(1)}' (header section title)
              '\t' IMAGE('img/circle.png',scale=0.3) '{DOCUMENT_TITLE}' (header document title)

另外,如何将这些方块插入到布局中? 为页眉添加背景

您可以在模板配置中的页面模板上设置 background image。您可以在矢量绘图应用程序(例如 Inkscape)中绘制它并将其导出为 PDF。

[contents_page]
background='img/contents_background.pdf' scale=fill

您可以通过调整页面模板配置中的 marginsheader_footer_distance 来调整页眉文本的位置。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。