300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Android完美解决LaTeX中文显示问题

Android完美解决LaTeX中文显示问题

时间:2021-06-21 16:29:08

相关推荐

Android完美解决LaTeX中文显示问题

Android完美解决LaTeX中文显示问题

一、目标二、解决方案三、测试数据1.2.3.4.5.6.7.8.9.10.11.12.13.四、遗留问题五、Next六、Finally

在上一篇文章《Android实现方程编辑器》中,我们遗留了2个问题,其中一个是中文的显示问题。只要在公式中插入中文字符,将导致RuntimeException。之前的处理方式是try/catch,捕获到异常则处理为无效方程。更加合理的实现方案是支持中文显示。

一、目标

方程编辑器支持中文。

二、解决方案

在《Android插入方程技术方案分析》一文中,我们列举了几种开源的解析渲染库。其中大神sixgodITJLaTexMath-andriod已经完美实现对中文的支持,推荐使用该项目渲染中文LaTeX。

三、测试数据

1.

CO2+H2O⟶叶绿素日光CO _{2} +H _{2} O \mathrel{\mathop{\kern{0pt}\longrightarrow}\limits_{叶绿素}^{日光}} CO2​+H2​O叶绿素⟶日光​

2.

KaTeX parse error: Expected '}', got '\substack' at position 63: …H_{2}O \mathop{\̲s̲u̲b̲s̲t̲a̲c̲k̲{= \!= \!= \!= …

3.

KaTeX parse error: Expected '}', got '\substack' at position 25: …H_{2}O \mathop{\̲s̲u̲b̲s̲t̲a̲c̲k̲{= \!= \!= \!= …

4.

CuSO4⋅5H2OCuSO _{4} \cdot 5H _{2} O CuSO4​⋅5H2​O

5.

%Δprice=100×[exp⁡(age)−1]=100×[exp⁡(−0.008)−1]=−0.8%\% \Delta price = 100\times [\exp (a\mathord{ g} e) - 1] = 100\times [\exp ( - 0.008) - 1] = - 0.8\% %Δprice=100×[exp(age)−1]=100×[exp(−0.008)−1]=−0.8%

6.

Cu⟶△H2SO4(浓)CuSO4⟶NaOH溶液Cu(OH)2Cu \mathrel{\mathop{\kern{0pt}\longrightarrow}\limits_{\triangle }^{H_{2}SO_{4}(浓)}} CuSO _{4} \stackrel{NaOH溶液}\longrightarrow Cu (OH) _{2} Cu△⟶H2​SO4​(浓)​CuSO4​⟶NaOH溶液​Cu(OH)2​

7.

溶解⟶黏液→体壁→毛细血管→{溶解}\over\longrightarrow 黏液\rightarrow 体壁\rightarrow 毛细血管\rightarrow ⟶黏液→体壁→毛细血管→溶解​

8.

a+bi和a+bia+b\bold{i} 和 a+b\bold{i} a+bi和a+bi

9.

电梯上升10米里做的功电梯上升米里做的功电梯上升10米花的时间电梯上升米花的时间\frac{电梯上升10米里做的功\phantom{电梯上升米里做的功}}{电梯上升10米花的时间\phantom{电梯上升米花的时间}} 电梯上升10米花的时间电梯上升米花的时间电梯上升10米里做的功电梯上升米里做的功​

10.

KaTeX parse error: Expected '}', got '\substack' at position 24: …_{2} \mathop{\̲s̲u̲b̲s̲t̲a̲c̲k̲{=\!=\!=\!=\!=\…

11.

KaTeX parse error: Expected '}', got '\substack' at position 30: …\; \mathop{\̲s̲u̲b̲s̲t̲a̲c̲k̲{-\!-\!-\!-\!-\…

12.

KaTeX parse error: Expected '}', got '\substack' at position 10: \mathop{\̲s̲u̲b̲s̲t̲a̲c̲k̲{-\!-\!-\!-\!-\…

13.

解:∵A∪B={1, 2},则A,B均为{1, 2}的子集,即A,B∈{∅, {1}, {2}, {1, 2}},当A=∅时,B={1, 2},当A={1}时,B={1, 2}或B={2},当A={2}时,B={1, 2}或B={1},当A={1, 2}时,B={1, 2},或B={1},或B={2},或B=∅,共9种情况,故选:D解:∵A\cup B= \{1,\, 2\},则A,B均为\{1,\, 2\}的子集,\\即A,B\in \{\varnothing ,\, \{1\},\, \{2\},\, \{1,\, 2\}\},\\当A= \varnothing 时,B= \{1,\, 2\},\\当A= \{1\}时,B= \{1,\, 2\}或B= \{2\},\\当A= \{2\}时,B= \{1,\, 2\}或B= \{1\},\\当A= \{1,\, 2\}时,B= \{1,\, 2\},或B= \{1\},或B= \{2\},或B= \varnothing ,\\共9种情况,\\故选:D 解:∵A∪B={1,2},则A,B均为{1,2}的子集,即A,B∈{∅,{1},{2},{1,2}},当A=∅时,B={1,2},当A={1}时,B={1,2}或B={2},当A={2}时,B={1,2}或B={1},当A={1,2}时,B={1,2},或B={1},或B={2},或B=∅,共9种情况,故选:D

四、遗留问题

方程编辑器会将以下方程判断为无效方程 对应[测试数据.5]

KaTeX parse error: Expected '}', got '\buildrel' at position 47: …exp (a\mathord{\̲b̲u̲i̲l̲d̲r̲e̲l̲{\lower0pt\hbox…

对应[测试数据.7]

KaTeX parse error: Expected 'EOF', got '\buildrel' at position 2: \̲b̲u̲i̲l̲d̲r̲e̲l̲{溶解}\over\longr…

对应[测试数据.8]

a+bi和a+bia+b\boldsymbol{i} 和 a+b\pmb{i} a+bi和a+biii

以上3个方程在方程编辑器中,将被视为无效方程。MathJax显示则为有效方程。

方程编辑器目前不支持以下命令

方程编辑器中出现以上命令,将会被视为无效方程。

五、Next

部分LaTex无法支持的问题将在未来版本中继续解决。

下一步将尝试优化空方程的判定

六、Finally

~杯汝来前~老子今朝~点检形骸~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。