我正在使用Sphinx生成我的python库的文档。我使用扩展sphinx.ext.viewcode
extensions = [
"sphinx.ext.autodoc",
"sphinx.ext.doctest",
"sphinx.ext.intersphinx",
"sphinx.ext.ifconfig",
"sphinx.ext.viewcode", # Add links to highlighted source code
"sphinx.ext.napoleon", # to render Google format docstrings
]
这会生成源文档的链接,类似于:
class MyClass(param1, param2)[source]
像在这张图片中:
如果我按源,我会在HTML页面中正确看到源代码。
当我生成一个LaTeX文件时,我想做同样的事情。我在文档中找不到从LaTeX创建pdf时如何添加源代码。任何提示?
有一种方法可以通过名为listings的包向python添加代码。该软件包允许用户显示代码甚至完整文件。
为了实现这一点,在conf.py
中你可以添加:
latex_elements = {
"papersize": "letterpaper",
"pointsize": "10pt",
"figure_align": "htbp",
"preamble": r"""
\usepackage{listings}
\lstset{
language=Python, % the language of the code
title=\lstname % show the filename of files included with \lstinputlisting; also try caption instead of title
}
""",
}
有更多设置可以添加到lstset
。
然后可以将代码添加到.rst
文件中:
.. raw:: latex
\section{Code}
\lstinputlisting{../../../path/to/my/file.py}
根据sphinx.ext.viewcode
的文档:
此扩展仅适用于
html
,applehelp
,devhelp
,htmlhelp
,qthelp
等HTML相关构建器,除了singlehtml
。