是否有一个完整的示例来将 sympy 中的数学表达式写入 Microsoft Word 文档?

2024-01-09

这可能是一个愚蠢的问题。但我很绝望。我是一名数学老师,我尝试生成数学测试。我为此尝试了 Python,并完成了一些工作。然而,我不是一个专业的程序员,所以我对 MathMl、prettyprint() 之类的东西迷失了方向。

有谁可以为我提供一个我可以执行的完整示例吗?它可能只包含一个愚蠢的小方程,但这并不重要。我只是想看看如何将其导入到Word文档中。之后,我可以以此为基础。我在 Mac 上工作。

我希望任何人都可以帮助我。提前致谢!

最好的问候,约翰


这对我有用:

from sympy import *
from docx import Document
from lxml import etree

# create expression
x, y = symbols('x y')
expr1 = (x+y)**2

# create MathML structure
expr1xml = mathml(expr1, printer = 'presentation')
tree = etree.fromstring('<math xmlns="http://www.w3.org/1998/Math/MathML">'+expr1xml+'</math>')

# convert to MS Office structure
xslt = etree.parse('C:/MML2OMML.XSL')
transform = etree.XSLT(xslt)
new_dom = transform(tree)

# write to docx
document = Document()
p = document.add_paragraph()
p._element.append(new_dom.getroot())
document.save("simpleEq.docx")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有一个完整的示例来将 sympy 中的数学表达式写入 Microsoft Word 文档? 的相关文章

  • C++:提取分析数学表达式的符号/变量

    我有用户可以提供的表达式 例如 a sin w t a b c x 2 y 2 2 我愿意just获取那里的变量列表 我不需要做任何替换 所以 对于第一个公式 它是 a w t 对于第二个 a b c 对于最后一个 x y 该表达式主要是为
  • 如何读取 .docx 文件? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个 docx 文件 它包含许多我想要批量发送邮件的电子邮件地址 如何通过c 读取docx文件 最简单的方法可能是使用 Get 举
  • 使用 Python 从法语 Word 文档中提取 XML 时出现问题:生成非法字符

    在过去的几天里 我一直在尝试创建一个脚本 该脚本将 1 从 Word 文档中提取 XML 2 修改该 XML 3 使用新的 XML 创建并保存新的 Word 文档 在许多 stackoverflow 用户的帮助下 我最终找到了看起来非常有前
  • 将 HTML 转换为 doc(x) 和/或 PDF [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须将 html 转换为 doc x 和 pdf 格式 我找到了 aspose 但是这个工具可以完成比我需要的更多的工作 这就是为什么它
  • 计算机代数软件,用于最小化一组多项式中的运算次数

    我有多项式系统 相当简单的多项式表达式 但相当长 优化我的手牌 表达式按集合分组 在给定的集合中 多个变量中有共同的术语 我想知道是否有一个计算机代数系统 例如 Mathematica Matlab 或 sympy 可以优化多个具有常用项的
  • sympy 中的lambdify 不止一个模块

    我试图让lambdaify理解使用modules关键字参数期望不止一种类型的输入 根据lambdify的源码 http docs sympy org dev modules sympy utilities lambdify html htt
  • 如何在 python-docx 中应用粗体和斜体?

    我正在努力编一本字典 我正在使用 python docx 将其放入 MS Word 中 我可以轻松地将其设置为粗体或斜体 但似乎无法弄清楚如何同时做到这两点 基础知识如下 import docx word Dictionary doc do
  • 打印替换表达式而不进行数值计算

    是否可以打印替代 SymPy 表达式而不进行计算 我想打印替换的表达和结果 e g x Symbol x expr x 2 pprint expr this prints expression result expr subs x 2 pr
  • 如何为多个变量声明具有多个限制的 sympy Piecewise

    同情 我如何声明Piecewise子函数中多个变量具有多个限制的函数 这是我的背景和尝试 from sympy import Piecewise Symbol exp from sympy abc import z x1 Symbol x1
  • 使用 numpy/sympy 查找线性系统的最小二乘整数解

    我需要用 numpy 或 sympy 求解线性丢番图方程组 有没有办法限制 numpy 的 linalg solve linalg lstsq 方法仅返回整数解 可能不是 但我想我应该问 我研究了 Sympy 的丢番图求解器 它似乎不适用于
  • 在 Python 中求解 x 的高度非线性方程

    我正在尝试求解以下 dB 方程 为简单起见 我在问题标题中将 dB 表示为 x 方程中的所有其他项都是已知的 我尝试使用 SymPy 象征性地求解 dB 但我不断收到超时错误 我也尝试过使用fminbound from scipy opti
  • 将平方和立方项转换为乘法

    我正在尝试使用 sympy 中的 ccode 将来自 sage 的大表达式转换为有效的 C 代码 然而 我的表达式有很多平方和立方项 由于 pow x 2 比 x x 慢得多 因此我尝试在转换之前在表达式中扩展这些术语 基于this htt
  • 使用 Pandoc 和 LaTeX 从 docx 转换为 pdf 时如何修复“缺少字符”警告?

    Goal 我有几千种高棉语 docx文件并希望将它们转换为 pdf格式使用Pandoc https pandoc org 背景 我使用 MacPorts 安装了 Pandoc Pandoc需要LaTeX来进行PDF转换 所以我安装了MacT
  • SymPy 和复数的平方根

    使用时solve为了计算二次方程的根 SymPy 返回可以简化的表达式 但我无法让它简化它们 一个最小的例子如下所示 from sympy import sqrt 24 70 I 在这里 SymPy 只是返回sqrt 24 70 I 而 M
  • 使用 sympy 逐步微分

    我正在尝试制作一个 python proram 来查找导数和积分以及展示如何进行 到目前为止 我发现有一个integral steps函数返回所使用的步骤 但我还没有找到等效的微分函数 有谁知道是否有等效的 如果没有 您对如何找到找到导数所
  • 将 WordprocessingMLPackage 保存到 ByteArrayInputStream

    如何将 org docx4j openpackaging packages WordprocessingMLPackage 实例保存到 ByteArrayInputStream 中 然后可以从服务器下载它 Thanks 您无法保存到Byte
  • 如何在android中压缩文件夹以制作docx文件?

    我正在尝试制作一个 Android 应用程序 可以打开 docx 文件来读取 编辑和保存它 我的想法是将存档中的所有 xml 文件提取到临时文件夹中 在这个文件夹中我们可以编辑docx的内容 word document xml 问题是当我压
  • 替换 .docx 中的文本模板(Apache POI、Docx4j 或其他)

    我想做替换MS Word docx 使用正则表达式 java RegEx 的文档 Example SOME TEXT SOME TEXT SOME TEXT 我尝试获取文本模板 例如 SOME TEXT use 阿帕奇 POI XWPF并替
  • 使用python向docx文件添加标头

    我有数百个 Word 文档 需要为其添加特定页眉 如典型的 MS Word 页眉 页脚 并不是说需要修改标题 只是这些文档不包含标题 有没有办法使用 Python docx 模块来做到这一点 我最近发现了它 它看起来很有希望 如果用户没有
  • sympy 中共轭的导数

    当我尝试用 SymPy 区分符号时 我得到以下结果 In x Symbol x In diff x x Out 1 当我将符号与其共轭微分时 结果是 In 55 diff x x conjugate Out 55 0 但是 当我尝试区分符号

随机推荐