为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

HUH函数 2021-11-16 14:52:55
我正在用 Sphinx 生成我的 python 库的文档。我使用扩展sphinx.ext.viewcodeextensions = [    "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 时,我在文档中找不到如何添加源代码。任何提示?
查看完整描述

2 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

有一种方法可以通过一个名为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}


查看完整回答
反对 回复 2021-11-16
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

根据文档sphinx.ext.viewcode

此扩展仅适用于与 HTML 相关的构建器,例如htmlapplehelpdevhelp、 等htmlhelpqthelpsinglehtml.


查看完整回答
反对 回复 2021-11-16
  • 2 回答
  • 0 关注
  • 223 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信