标签: mathml

python-mathdom的替代品

我想将MathML表达式转换为python中的方程字符串,MathDOM模块应该适用于该字符串.

一个例子是:

<math xmlns="http://www.w3.org/1998/Math/MathML">
   <lambda>
     <bvar><ci>A</ci></bvar>
     <bvar><ci>B</ci></bvar>
     <apply>
         <plus/>
         <ci>A</ci>
         <ci>B</ci>
     </apply>
   </lambda>
</math>
Run Code Online (Sandbox Code Playgroud)

应映射到"A + B".这显然适用于更复杂的表达式.

但是,它已经很老了,并且不能正常使用新版本的xml模块(试图包含错误的模块结构等)

有谁知道有用的替代品?

python mathml

6
推荐指数
1
解决办法
1129
查看次数

我如何接受 MathML?

今天我发现 Windows 7 附带了一个非常令人印象深刻的 MathPanel 实用程序,用于执行方程式的手写识别:

在此输入图像描述

这很好。(这里我输入了sRGB色彩空间伽玛转换部分的公式)

但现在我似乎无法用它做任何事情。

有一个插入按钮。我假设单击“插入”会将其插入到其后面活动的应用程序中(就像屏幕键盘的工作原理一样):

在此输入图像描述

但我假设它将作为粘贴操作进行操作。

我在帮助中找不到有关应用程序需要什么才能使其工作的信息。没有提及某些软件必须支持的任何特殊 API。

我在 MSDN 上也找不到任何关于接受方程插入需要什么特殊 API 的信息。

我必须实现哪些 API、注册、回调、侦听器、消息、COM 对象才能接收 MathPanel 输入?

我提到MathML 的唯一原因是因为SuperUser 的一个答案提到了 MathML

理论上,任何支持MathML(数学标记语言)的应用程序都可以与 Windows 7 数学输入面板一起使用。数学输入面板仅适用于支持 MathML 的程序。以下是一些此类应用程序:StarOffice、OpenOffice、Opera 和 Maple。

那么我如何让我的程序支持MathML?

据我所知 MathML 是一种标记语言;不是 Windows API。这就像说“我如何让我的程序支持 HTML?” Html 是文本,您可以将其粘贴到任何地方。

MathPad 拒绝粘贴,除非我“支持”MathML?


更新

单击“插入”后检查IDataObject剪贴板上的,我看到两种可用格式(都不是文本,这解释了为什么我没有得到任何标记):

格式1:

     CLIPFORMAT cfFormat: "MathML Presentation" (49839)
PDVTargetDevice ptd:      0x00000000
          DWORD dwAspect: DVASPECT_CONTENT
          DWORD lindex:   -1
          DWORD …
Run Code Online (Sandbox Code Playgroud)

winapi mathml windows-7

5
推荐指数
1
解决办法
1499
查看次数

在MS word .docs中插入MathMl,Tex或LaTex方程?

我一直在为C#中的.Net寻找一些dll,用于在MS Word中插入任何MathMl,Tex或LaTex方程式,我尝试了一些像DocX但是它们失败了,你知道吗?或任何暗示如何?谢谢

.net c# asp.net ms-word mathml

5
推荐指数
1
解决办法
4469
查看次数

从 pexpect 捕获输出

我遇到了麻烦pexpect。我试图tralics从中读取乳胶方程的输出并发出 MathML 表示,如下所示:

1 ~/ % tralics --interactivemath
This is tralics 2.14.5, a LaTeX to XML translator, running on tlocal
Copyright INRIA/MIAOU/APICS/MARELLE 2002-2012, Jos\'e Grimm
Licensed under the CeCILL Free Software Licensing Agreement
Starting translation of file texput.tex.
No configuration file.
> $x+y=z$
<formula type='inline'><math xmlns='http://www.w3.org/1998/Math/MathML'><mrow><mi>x</mi>   <mo>+</mo><mi>y</mi><mo>=</mo><mi>z</mi></mrow></math></formula>
> 
Run Code Online (Sandbox Code Playgroud)

所以我尝试使用 pexpect 得到公式:

import pexpect
c = pexpect.spawn('tralics --interactivemath')
c.expect('>')
c.sendline('$x+y=z$')
s = c.read_nonblocking(size=2000)
print s
Run Code Online (Sandbox Code Playgroud)

输出具有公式,但开头是原始输入,结尾是一些控制字符:

"x+y=z$\r\n<formula type='inline'><math xmlns='http://www.w3.org/1998/Math/MathML'><mrow><mi>x</mi><mo>+</mo><mi>y</mi><mo>=</mo><mi>z</mi></mrow></math></formula>\r\n\r> \x1b[K"
Run Code Online (Sandbox Code Playgroud)

我可以清理输出字符串,但我必须缺少一些基本的东西。有没有更干净的方法来获得 MathML?

python mathml pexpect

5
推荐指数
1
解决办法
7407
查看次数

如何在WPF标签或面板中显示数学表达式?

我正在编写显示大量数学内容的软件.在windows窗体中,很难在标签中设置下标或希腊字母,我正在考虑切换到WPF.

目前,我正在寻找在我的图形用户界面中渲染数学表达式,公式或仅仅符号的最佳方法.它们必须以标签或绘制的图形/图片显示.没有实时/即时渲染但美丽的修复符号.

最好的方法是什么?我想,MathML应该得到很好的支持,但我找不到很多.我很乐意听到一些建议.

在这里,我可以从中获取符号(或者我更喜欢的):

  • LaTeX代码(首选!代码已经存在,软件和文档中的相同外观将是奇妙的)
  • MathML代码(Word 2007或更高版本中的LaTeX代码 - > Word方程式 - >将纯MathML复制到剪贴板)
  • SVG (在Inkscape中渲染一些LaTeX并导出到XAML)
  • xmcd 文件(Mathcad XML Document.不知道如何,但至少它是XML)
  • html 文件(由LaTeX-> html或Mathcad-> html编写

我个人不会考虑,但也许有很好的解决方案:

  • 图片(png-icons, ,pdf,,dvi 直接进口)epssvg
  • 符号(如从字符映射粘贴的副本.不喜欢字体,不会找到我需要的所有内容,并且不会给出公式语法的交换)

我认为使用LaTeX,MathML或html会很棒,因为它们也可以用于文档.我也可以考虑将计算结果导出到*.tex文件或使用LaTeX完全内部生成图形(tikz,pgfplots ......)

c# xaml label latex mathml

5
推荐指数
0
解决办法
2566
查看次数

为放置在 rmarkdown 表中的 LaTeX 方程着色

在由rmarkdownknitr包创建的报告中,我想创建一个 1 x 2 的表格,其中的每个单元格都将托管一个 LaTeX 方程。在等式中,单个元素必须选择自定义颜色,生成如下内容:

在此处输入图片说明

使用 rmarkdown 应该识别的 html 元素:

---
output:
  pdf_document: default
  html_document:
    mathjax: "http://example.com/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"
---

### Two formulas side by side
<div style="width:900px">

<div style="width:450px">
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
 <semantics>
  <mrow>
   <msub style="color:red">
    <mi>y</mi>
    <mrow>
     <mi>t</mi><mi>i</mi></mrow>
   </msub>
   <mo>=</mo><msub>
    <mi>&#x03B2;</mi>
    <mn>0</mn>
   </msub>
   <mo>+</mo><msub style="color:red">
    <mi>&#x03B5;</mi>
    <mrow>
     <mi>t</mi><mi>i</mi></mrow>
   </msub>
   </mrow>
  </annotation>
 </semantics>
</math>

</div>

<div style="width:450px">
$$ 
{y_{ti}} = {\beta _0} + {\beta _1}Tim{e_t} + {\varepsilon _{ti}}
$$
</div>

</div>
Run Code Online (Sandbox Code Playgroud)

编织 html 时,左边的方程出错: 在此处输入图片说明

编织 …

latex r mathml knitr r-markdown

5
推荐指数
0
解决办法
1410
查看次数

Elm 中使用的数学标签究竟是怎样的?

这只是一个带有一些废话数学的通用 div。无法正确渲染

div [] [ math [] [text "$\\int_a^b \frac{2}{3}$"]
Run Code Online (Sandbox Code Playgroud)

这就是结果

<math>$\int_a^b \frac{2}{3}$</math>
Run Code Online (Sandbox Code Playgroud)

所以我不明白mathElm是如何工作的。这看起来像mathML

就目前而言,我认为进行mathjax调用比学习(或创建)一种新的标记语言并编写纯 mathML更容易。这是它应该是什么样子

<math xmlns="http://www.w3.org/1998/Math/MathML">
  <msubsup>
    <mo>&#x222B;<!-- ? --></mo>
    <mi>a</mi>
    <mi>b</mi>
  </msubsup>
  <mfrac>
    <mn>2</mn>
    <mn>3</mn>
  </mfrac>
</math>
Run Code Online (Sandbox Code Playgroud)

Elm 没有mfrac标签,但我很乐意自己写!这组标签在网络上使用的频率越来越高,但 Elm-Lang 本身可能还没有采用。


Elm 确实公开node了您可以在何处定义自己的任何类型的标签。

node
    :  String
    -> List (Attribute msg)
    -> List (Html msg)
    -> Html msg
Run Code Online (Sandbox Code Playgroud)

这表明了一个潜在的解决方案。虽然没有导致任何地方:

node "math" [] [ node "mo" [] [ text "&#x222B;"] ]
Run Code Online (Sandbox Code Playgroud)

mathml mathjax elm

5
推荐指数
1
解决办法
411
查看次数

如何在 HTML 中使用 MathML

我正在尝试在网页上显示数学公式。但是当我编写如下所示的html代码时

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
    <title>Binomial Theorem</title>
</head>
<body>
<p>Binomial Theorem:</p>
<math xmlns="http://www.w3.org/1998/Math/MathML">
    <mrow>
        <msup>
            <mfenced>
                <mrow>
                    <mi>a</mi>
                    <mo>+</mo>
                    <mi>b</mi>
                </mrow>
            </mfenced>
            <mn>2</mn>
        </msup>
        <mo>=</mo>
        <msup>
            <mrow>
                <mi>a</mi>
            </mrow>
            <mn>2</mn>
        </msup>
        <mo>+</mo>
        <msup>
            <mrow>
                <mi>b</mi>
            </mrow>
            <mn>2</mn>
        </msup>
        <mo>+</mo>
        <mrow>
            <mn>2</mn>
            <mi>a</mi>
            <mi>b</mi>
        </mrow>
    </mrow>
</math>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

结果只是

二项式定理:

a + b 2 = a 2 + b 2 + 2 ab

它不像公式

帮助我在 HTML 中使用 MathML 谢谢,

html mathml

5
推荐指数
1
解决办法
4912
查看次数

MathJax 或类似的:在表达式中渲染任意 HTML 元素?

我对 Web 应用程序中的数学表达式呈现有特定的需求,虽然到目前为止我主要关注的是 MathJax,但我当然不喜欢它。

我需要的是呈现数学表达式的能力,其中一个或多个术语本质上可以是任意 HTML 框元素,如下所示: 示例输出

...如果布局响应 HTML 框的大小(例如,括号会自动调整大小以匹配其高度,就像任何其他“正常”LaTeX/MathJax 元素一样),那将是可取的,但如果我需要指定一个确切的以像素为单位的大小或类似的东西,那也可以。如果我不得不在实际的可视化中插入一个“占位符”元素,甚至可以,但可以确切地知道它在输出中的位置,因此我可以将 HTML 元素精确地覆盖在它上面。

换句话说,我对开箱即用甚至骇人听闻的解决方案持开放态度;只需要一些有用的东西。

也可能相关:我真的只会使用非常基本的 LaTeX 元素:括号、分数、普通运算符。如果这是一个复杂的因素,我什至不需要能够支持上面示例中的求和。

html latex mathml mathjax

5
推荐指数
1
解决办法
770
查看次数

在 Rust 中使用 Serde 反序列化递归 XML

我正在尝试使用 Rust 中的 Serde 和 Quick-XML 反序列化 MathML。由于 MathML 的递归性质,我在尝试编写结构时遇到了麻烦。这是一个最小的、可重现的示例:

use quick_xml;
use serde::Deserialize;

#[derive(Debug, Deserialize)]
#[serde(rename = "math", rename_all = "camelCase")]
pub enum MathNode {
    Apply(Vec<MathNode>),
    Ci(Vec<MathNode>),
    Text(String),
    #[serde(rename = "math")]
    Root(Vec<MathNode>),
}

pub fn parse(doc: &str) -> Result<MathNode, quick_xml::DeError> {
    let raw_model = quick_xml::de::from_str(doc);
    raw_model
}

pub fn main() {
    let test = "<math>
                    <apply>
                        <ci type=\"integer\">5</ci>
                    </apply>
                </math>";
    let parsed = parse(test);
    println!("{:?}", parsed);
}
Run Code Online (Sandbox Code Playgroud)

存在堆栈溢出,可能是由于此处此处建议的无限循环所致。我尝试实施他们的建议,但没有成功。

xml mathml xml-deserialization rust serde

5
推荐指数
1
解决办法
4317
查看次数

标签 统计

mathml ×10

latex ×3

c# ×2

html ×2

mathjax ×2

python ×2

.net ×1

asp.net ×1

elm ×1

knitr ×1

label ×1

ms-word ×1

pexpect ×1

r ×1

r-markdown ×1

rust ×1

serde ×1

winapi ×1

windows-7 ×1

xaml ×1

xml ×1

xml-deserialization ×1