2016-09-27 82 views
0

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

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是否支持'〜'或是否必须使用不同的间距命令?现在

+0

我不知道JLaTeXMath,但在LaTeX的数学模式中,间距通常是用\,\;来完成的。 \:(请参阅http://www.emerson.emory.edu/services/latex/latex_119.html) - 另请注意,在数学模式下,间距通常不会完成,因为格式化程序可以自行完成。你的公式应该是“32 + 45i” – mtj

+0

使用“〜”的原因是因为我想呈现由不同库返回的乳胶公式:http://mathjs.org/并且它包含“〜”字符在一些公式中。我修正了它: latex.replaceAll(“〜”,“\\,”) 在渲染之前,它是一个肮脏的黑客攻击。你有更好的主意吗? – adrianromero

+0

不,对不起。 (除了使用latex.replaceAll(“〜”,“”),因为你真的不应该在公式中做间距,而普通空间只能作为令牌分隔符,而不能作为可见的元素) – mtj

回答