我正在使用sphinx生成python项目的文档,而且我正在大量使用外部链接。我想将html
和latexpdf
输出构建为可点击链接(这是默认设置),但也是一个将打印的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/
同时保持其他输出中的正常行为(没有脚注的可点击链接)?
答案 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