Printable PDF output with links as footnotes

北城以北 提交于 2020-01-05 10:02:11

问题


I'm using sphinx to generate the documentation of a python project and I'm making heavy use of external links. I'd like to build html and latexpdf outputs with these as clickable links (which is the default), but also a PDF version that will be printed, with these links showing up in footnotes.

In short: is there a way to write external links in a .rst file like this:

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

and have a special output that will interpret this as if it was a footnote written like this:

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

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

while keeping the normal behavior (clickable link without a footnote) in other outputs?


回答1:


Jongware's comment made me look at parts of the sphinx documentation I didn't see, and I realized there actually is a configuration variable that does what I want:

latex_show_urls = 'footnote'

As I wanted to be able to generate the usual pdf and the one with the footnotes without changing the conf.py file, I left the default value and added the following rule to the sphinx's Makefile:

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

This rule calls the regular latexpdf rule, adding -Dlatex_show_urls=footnote to the options given to sphinx-build.

With this, we can generate the PDF to be printed (with footnotes) with:

make printpdf

And if we want a regular PDF, without the potentially numerous and (here) useless footnotes, the regular rule still does it:

make latexpdf


来源:https://stackoverflow.com/questions/27656533/printable-pdf-output-with-links-as-footnotes

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!