java - 在android中显示数学方程

标签 java android latex mathjax tex

我想在android中显示数学方程,我发现了这个https://github.com/kexanie/MathView它工作得很好,但是在这段代码中我可以从哪里获得方程的字符串 tex 。我尝试使用单词 16 将方程转换为 latex 格式,但是当我将转换后的 latex 字符串替换为原始字符串(MainActivity 中的 String tex)时, latex 字符串按原样显示,而不是显示方程。

第一个 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);
    }
}

For sure i am doing something wrong in converting a mathematical equation into tex format. how can convert it perfectly i tried searching for a good tutorial but couldnt find any. Any help would be appreciated

最佳答案

MathJax 不处理完整的 LaTeX 文档,仅处理数学表达式。因此您将无法渲染您定义的 tex 变量。特别是,MathJax 认为 \begin{...}\end{...} 之间的任何内容都是数学表达式,因此 \begin{document }...\end{document} 将被视为数学。 \noindent 宏将无法识别(仅实现数学模式宏),并且额外的美元符号将呈现为文字美元符号。

另请注意,MathJax 的默认配置中未启用单个美元符号分隔符,因此如果您希望它们充当数学分隔符,则需要显式启用它们。请参阅MathJax Documentation了解更多详情。

关于java - 在android中显示数学方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42592071/

相关文章:

java - 将数据集从 Oracle PL/SQL 传递到 Java 的适当方法

java - Jackson xml 反序列化 - 序列化为一个列表,其中包含任意元素

java - 这里ThreadLocal的目的是什么?

java - 当我将代码从一个应用程序移动到另一个应用程序时,用于编辑 Google 电子表格的 Android 应用程序崩溃

android - 短信不在android中发送

java - 如何在JBuilder中自动创建jar

Android 异步执行文件操作

latex - 如何说服 Pandoc 阅读 GitHub Flavored Markdown 中的定义列表?

pdf - LaTeX\newcommand\par 问题

vim - 如何使 vim-latex 正确编译而无需保存?