0

我使用字符串作为方程式的来源,并且每当我尝试添加类似于上标标记的内容时:

\ov5\ - creates a bar over the 5

但是,当我将它添加到 Java 字符串中时,为了编译它,我需​​要像这样编写它:

string x= "\\ov5\\";

看起来这种方式会破坏 JQMath 并且不起作用,从而导致方程被破坏。这是代码,以防我做错了什么:

WebView webView;
String functext = "$$\\ov55\\$$";
    js = "<html><head>"
            + "<link rel='stylesheet' href='file:///android_asset/mathscribe/jqmath-0.4.3.css'>"
            + "<script src='file:///android_asset/mathscribe/jquery-1.4.3.min.js'></script>"
            + "<script src='file:///android_asset/mathscribe/jqmath-etc-0.4.3.min.js'></script>"
            + "</head><body>"
            + functext + "</body></html>";
    webView.loadDataWithBaseURL("", js, "text/html", "UTF-8", "");

编辑:为澄清起见,最终结果奇怪的是“$$\ov55$$”。

请注意,当我在 JQMath 的网站页面上尝试相同的字符串时它会按预期工作。

EDIT2:以下是放置在 webView.loadDataWithBaseURL 的断点的一些调试值:

实际字符串:String functext = "$$\\\\ov55\\\\$$";

实际显示结果:$$\ov55\$$

debug results:
functext = $$\\ov55\\$$
js = <html><head><link rel='stylesheet' href='file:///android_asset/mathscribe/jqmath-0.4.3.css'><script src='file:///android_asset/mathscribe/jquery-1.4.3.min.js'></script><script src='file:///android_asset/mathscribe/jqmath-etc-0.4.3.min.js'></script></head><body>$$\\ov55\\$$</body></html>

以字符串以外的其他方式加载它的任何帮助都会有很大帮助。

4

2 回答 2

1

jqMath 也接受 `(反引号)代替 \,如果这会使事情变得更容易。最后,我会在 ov 和 5 之间放置一个空格,以说明它不是名为 ov5 的宏。(另外,请参阅我上面的评论以删除最后的 \。)

于 2015-12-07T19:13:56.250 回答
1

我想你想要这个:

String functext = "$$\\ov55\\$$";

(第一个\需要在操作员之前ov。)

编辑:另一种可能性(因为上面显然只是您的帖子中的错字,而不是您的代码中的错字)是管道中的某个地方正在第二次插入字符串。在这种情况下,您需要对反斜杠进行双重转义:

String functext = "$$\\\\ov55\\\\$$";

PS 如果最终结果显示"$$\ov55$$",那么问题似乎出现在 jqmath 看到任何东西之前。您发布的代码绝对不会我产生该结果。

于 2015-12-06T19:00:54.190 回答