我正在用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时,我在文档中找不到如何添加源代码。有提示吗?
答案 0 :(得分:0)
根据sphinx.ext.viewcode
的文档:
此扩展名仅适用于HTML相关的构建器,例如
html
,例如applehelp
,devhelp
,htmlhelp
,qthelp
,singlehtml
等
答案 1 :(得分:0)
有一种方法可以通过名为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}