可在Python注释中直观展示数学表达式的工具咨询
Python注释内LaTeX公式渲染常用实现方案
IDE/编辑器场景(日常开发即时查阅)
- PyCharm 原生支持:2020及之后版本自带LaTeX公式渲染能力。将docstring内的数学表达式用
$(行内公式)或$$(块级公式)包裹,鼠标悬停函数、打开docstring预览面板时,可直接看到渲染完成的公式效果,无需额外安装插件。 - VS Code 插件方案:安装
Better Math in Docstring插件,可实时解析Python docstring内的LaTeX表达式,悬停函数时直接展示渲染后的公式。搭配Jupyter插件使用时,单元格内查看函数docstring的场景也可正常渲染。
文档生成场景(输出正式项目文档)
- Sphinx:启用
sphinx.ext.mathjax扩展后,可自动解析导出文档内所有来自docstring的LaTeX公式,生成的HTML页面会直接展示渲染后的数学表达式。 - pdoc:v14及之后版本原生集成KaTeX渲染能力,无需复杂配置,导出的API文档中会将docstring内的LaTeX公式渲染为标准格式。
- MkDocs(material主题):开启主题内置的KaTeX/MathJax支持后,可解析项目docstring导出内容内的数学表达式,输出带公式渲染的站点文档。
通用适配规则
所有工具的识别逻辑基本统一,仅需将原有纯文本形式的LaTeX公式用标准分隔符包裹即可,无需修改其他注释内容,示例参考:
def normalize_adj(adj): ''' operation: $\frac{1}{\sqrt{d_h} } \cdot \frac{1}{\sqrt{d_t} }$ ''' adj = sp.coo_matrix(adj) rowsum = np.array(adj.sum(1)) d_inv_sqrt = np.power(rowsum, -0.5).flatten() d_inv_sqrt[np.isinf(d_inv_sqrt)] = 0. d_mat_inv_sqrt = sp.diags(d_inv_sqrt) return d_mat_inv_sqrt.dot(adj).transpose().dot(d_mat_inv_sqrt).T
内容的提问来源于stack exchange,提问作者Mojie11
相关产品推荐
相关产品推荐

