【问题标题】:Headings in index.rst do not appear in LaTeX buildindex.rst 中的标题不会出现在 LaTeX 构建中
【发布时间】:2022-01-04 00:41:40
【问题描述】:

我正在尝试从 RST 文档构建 PDF。在这种情况下 index.rst 文档不为空:

############
How to Build
############

The build blah blah balh 

.. toctree::
   :hidden:

   file1
   file2
   file3

在 PDF 输出中,文本“The build blah blah balh”出现,根本没有任何标题! HTML 输出正常(标题“如何构建”正确显示),这就是为什么我将其归类为 LaTeX 问题,而不是 Sphinx 问题。

有什么方法可以让这个标题出现在 PDF 中?

注意:

文档来自其他团队,因此我无法在某个特定点之外对其进行编辑。例如,我无法将 index.rst 中的所有内容移动到另一个新文件中(这会很方便)。

【问题讨论】:

  • 请编辑您的答案以包含header.rst 的内容。如果包含标题,可能会影响index.rst 中的其他标题。
  • 我更新了问题。请参见。 headers.rst 仅包含替换内容。
  • 是否有任何错误或警告信息?
  • 向问题添加了警告消息。没有什么能真正脱颖而出
  • "How to build" 是文档标题(LaTeX 中的\title{How to build}),它将出现在标题页上。如果您在“如何构建”之后立即添加一个节标题(具有不同的装饰),它将成为 LaTeX \chapter。也许这就是你想要的?

标签: latex python-sphinx restructuredtext


【解决方案1】:

LaTeX 构建器生成的文档通常以标题页开头,其中包含文档标题、作者和出版日期,然后是目录,然后是目录中列出的各个章节/部分。因此,您在这里尝试完成的是添加一些标题未显示在目录中的标题。这有点不寻常。

我们可以告诉 Sphinx 使用根文档 (index.rst) 中的顶级标题作为conf.py 中的LaTeX document title

latex_documents = [
    ('index', 'output.tex', '', 'Author Name', 'manual', False)
]

对于问题中的示例,第三个位置的空字符串将替换为“如何构建”并出现在标题页上。这与 HTML 输出一致,它是起始页的标题。

但是,文档标题不是节标题,因此接下来的段落会出现。解决方案是添加一个额外的部分标题,但仅在 LaTeX 文档中,而不是在 HTML 构建中。

############
How to Build
############

.. raw:: latex

    \section*{How to Build}

这仅使用raw directive 在 LaTeX 文档中插入unnumbered section heading

【讨论】:

    猜你喜欢
    • 2022-12-22
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 2015-11-25
    • 1970-01-01
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多