如何在Sphinx生成的乳胶文档中添加版权声明?

时间:2019-01-11 13:09:59

标签: latex documentation python-sphinx

我已经设置了copyright configuration value,它正确显示在HTML输出中。但是,它根本不会出现在LaTeX输出中,并且我找不到任何使它出现的option for LaTeX output

如何使用狮身人面像自动在LaTeX输出中包含版权声明?当然,我可以手动添加它,也可以编写一个小的脚本来添加它,但是我希望它可以在sphinx框架内实现。

显然,有一个request for improvement可以简化此操作。

1 个答案:

答案 0 :(得分:1)

如果您想在每一页上(在标题页及其背面)都拥有版权,则可以使用这一口LaTeX宏来进行版权保护(很抱歉,它将忽略copyright配置值)

latex_elements = {
    'preamble': r'''
\makeatletter
   \fancypagestyle{normal}{
% this is the stuff in sphinx.sty
    \fancyhf{}
    \fancyfoot[LE,RO]{{\py@HeaderFamily\thepage}}
% we comment this out and
    %\fancyfoot[LO]{{\py@HeaderFamily\nouppercase{\rightmark}}}
    %\fancyfoot[RE]{{\py@HeaderFamily\nouppercase{\leftmark}}}
% add copyright stuff
    \fancyfoot[LO,RE]{{This is \textcopyright\ 2019, Sphinx Team.}}
% again original stuff
    \fancyhead[LE,RO]{{\py@HeaderFamily \@title\sphinxheadercomma\py@release}}
    \renewcommand{\headrulewidth}{0.4pt}
    \renewcommand{\footrulewidth}{0.4pt}
    }
% this is applied to each opening page of a chapter
   \fancypagestyle{plain}{
    \fancyhf{}
    \fancyfoot[LE,RO]{{\py@HeaderFamily\thepage}}
    \renewcommand{\headrulewidth}{0pt}
    \renewcommand{\footrulewidth}{0.4pt}
% add copyright stuff for example at left of footer on odd pages,
% which is the case for chapter opening page by default
    \fancyfoot[LO,RE]{{This is \textcopyright\ 2019, Sphinx Team.}}
    }
\makeatother
''',
}

有关LaTeX语法的更多信息,请参见fancyhdr docs。您必须使用LaTeX逃逸自己,避免使用任何令人担忧的字符,例如$

自Sphinx 1.8.3起,您可以通过'manual'将LaTeX材质直接放在标题页的背面(对于'howto' docclass,因为没有这样的概念用于\sphinxbackoftitlepage docclass),是可选的LaTeX宏,您可以在'preamble''maketitle'中定义。请参见docs(您需要向下滚动到'maketitle')。

似乎只在一个位置发布版权确实更好,所以为什么不在标题页的后面发布版权,因为默认情况下它是空白的。 ('manual'文档类)