如何将源代码添加到使用sphinx生成的LaTeX文档中

问题描述 投票:0回答:2

我正在使用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时如何添加源代码。任何提示?

python latex python-sphinx
2个回答
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}

0
投票

根据sphinx.ext.viewcode的文档:

此扩展仅适用于htmlapplehelpdevhelphtmlhelpqthelp等HTML相关构建器,除了singlehtml

© www.soinside.com 2019 - 2024. All rights reserved.