我想在android中显示数学方程式,我发现这个https://github.com/kexanie/MathView工作得非常好但是在这个代码中我可以从哪里获得方程的字符串tex。我尝试使用单词16将方程转换为乳胶格式,但是当我将转换后的乳胶字符串替换为原始字符串(MainActivity中的字符串tex)时,乳液字符串将显示为原样而不是显示的方程式。
第一个MainActivity代码正在完美地显示等式
public class MainActivity extends AppCompatActivity {
MathView formula_two;
String tex = "This come from string. You can insert inline formula:" +
" \\(ax^2 + bx + c = 0\\) " +
"or displayed formula: $$\\sum_{i=0}^n i^2 = \\frac{(n^2+n)(2n+1)}{6}$$";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onResume() {
super.onResume();
formula_two = (MathView) findViewById(R.id.formula_two);
formula_two.setText(tex);
}
}
这是MainActivity,我用我的字符串
替换了tex字符串public class MainActivity extends AppCompatActivity {
MathView formula_two;
String tex = "\\begin{document}\n" +
"\n" +
"%\\selectlanguage{english} %%% remove comment delimiter ('%') and select language if required\n" +
"\n" +
"\n" +
"\\noindent ${\\left(x+a\\right)}^n=\\int^n_{k=0}{\\left(\\genfrac{}{}{0pt}{}{n}{k}\\right)x^ka^{n-k}}$ this is a test to check latex format ${\\left(1+x\\right)}^n=1+\\frac{nx}{1!}+\\frac{n\\left(n-1\\right)x^2}{2!}+\\dots $\n" +
"\n" +
"\\noindent \n" +
"\n" +
"\n" +
"\\end{document}";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onResume() {
super.onResume();
formula_two = (MathView) findViewById(R.id.formula_two);
formula_two.setText(tex);
}
}
我肯定在转换数学时做错了什么 方程式为tex格式。如何才能完美地转换它我尝试过 寻找一个好的教程,但无法找到任何。任何帮助都会 理解
答案 0 :(得分:0)
MathJax不处理完整的LaTeX文档,只处理数学表达式。因此,您将无法呈现已定义的tex
变量。特别是,MathJax认为\begin{...}
和\end{...}
之间的任何内容都是数学表达式,因此\begin{document}...\end{document}
将被视为数学。 \noindent
宏将无法识别(仅实现数学模式宏),额外的美元符号将呈现为文字美元符号。
另外,请注意,MathJax的默认配置中未启用单个美元符号分隔符,因此如果您希望它们充当数学分隔符,则需要明确启用它们。有关详细信息,请参阅MathJax Documentation。