【问题标题】:Parsing latex with jlatexmath用 jlatexmath 解析乳胶
【发布时间】:2016-09-27 09:31:20
【问题描述】:

我正在使用https://github.com/opencollab/jlatexmath 来解析 Java 中的乳胶数学公式。当试图解析一个简单的复数时:

TeXFormula tex = new TeXFormula("32 + 45~i");

我得到以下异常:

org.scilab.forge.jlatexmath.ParseException: Unknown character : '~' (or 126)

字符 '~' 应该是一个牢不可破的空格,如本文档中所述。 https://en.wikibooks.org/wiki/LaTeX/FAQ#Non-breaking_spaces

使用 '~' 的原因是因为我想渲染另一个库返回的乳胶公式:mathjs.org,它在某些公式中包含 '~' 字符。

jlatexmath 支持 '~' 还是我必须使用不同的间距命令?

【问题讨论】:

  • 我不知道 JLaTeXMath,但是在 LaTeX 的数学模式下,间距通常用 \, \; \: (参见emerson.emory.edu/services/latex/latex_119.html) - 另请注意,在数学模式下通常不会设置间距,因为格式化程序会自行处理。你的公式应该是“32+45i”
  • 之所以使用“~”是因为我想渲染另一个库返回的乳胶公式:mathjs.org,它在某些公式中包含“~”字符。我修复了它:latex.replaceAll("~", "\\,") 在渲染之前,但它是一个肮脏的黑客。你有更好的主意吗?
  • 不,抱歉。 (除了使用 latex.replaceAll("~", " ") 因为你真的不应该在公式中使用空格,正常的空格只会作为标记分隔符,而不是作为可见元素)
  • 谢谢。我会保留 replaceAll。
  • 乳胶长时如何用多行制作'jlatexmath'?

标签: java latex mathjs


【解决方案1】:

现在在 JLaTeXMath 中允许使用 ~: https://github.com/opencollab/jlatexmath/commit/27ffa7082efa75e6f86e8788f5cbe2156aa15f5c

随时报告错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多