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

我正在用 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]

像这张图片:

http://img1.mukewang.com/6193555f00015f6217360311.jpg

如果我按源代码,我会在 HTML 页面中正确地看到源代码。

我想在生成 LaTeX 文件时做完全相同的事情。当您从 LaTeX 创建 pdf 时,我在文档中找不到如何添加源代码。任何提示?


HUH函数
浏览 228回答 2
2回答

料青山看我应如是

有一种方法可以通过一个名为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 相关的构建器,例如html、applehelp、devhelp、 等htmlhelp,qthelp但singlehtml.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python