可打印的PDF输出,链接为脚注

时间:2014-12-26 11:31:36

标签: python-sphinx restructuredtext

我正在使用sphinx生成python项目的文档,而且我正在大量使用外部链接。我想将htmllatexpdf输出构建为可点击链接(这是默认设置),但也是一个将打印的PDF版本,这些链接显示在脚注中。

简而言之:有没有办法在.rst文件中编写外部链接,如下所示:

Ask a question on `my favorite Q&A website <http://stackoverflow.com/>`_.

并有一个特殊的输出,将其解释为如下所示的脚注:

Ask a question on my favorite Q&A website [#SO]_.

.. [#SO] http://stackoverflow.com/

同时保持其他输出中的正常行为(没有脚注的可点击链接)?

1 个答案:

答案 0 :(得分:3)

Jongware的评论让我看到了我没看到的sphinx文档的部分内容,并且我意识到实际上有一个配置变量能够满足我的需求:

latex_show_urls = 'footnote'

由于我希望能够在不更改conf.py文件的情况下生成通常的pdf和带脚注的pdf,因此我保留了默认值并将以下规则添加到sphinx的Makefile中:

.PHONY: printpdf
printpdf: SPHINXOPTS+=-Dlatex_show_urls=footnote
printpdf: latexpdf

此规则调用常规latexpdf规则,将-Dlatex_show_urls=footnote添加到sphinx-build的选项中。

有了这个,我们可以生成要打印的PDF(带脚注):

make printpdf

如果我们想要一个普通的PDF,没有潜在的众多和(这里)无用的脚注,常规规则仍然可以做到:

make latexpdf