如何在MathView中自动缩放TeX方程?

时间:2017-01-09 15:15:22

标签: android mathjax tex

我需要在Android应用程序中显示一些数学方程式。我使用'MathView'(https://github.com/kexanie/MathView)和'MathJax'作为转换TeX代码的引擎,效果很好。唯一的问题是,如果它的容器宽度小于等式的宽度,我希望等式缩小。有人知道如何实现这个目标吗?

MathView:

 <io.github.kexanie.library.MathView
    android:id="@+id/formula"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:background="#cccccc"
    auto:engine="MathJax" />

MathView的配置:

formula.config(
            "MathJax.Hub.Config({\n" +
                    "    extensions: [\"tex2jax.js\", \"handle-floats.js\"],\n" +
                    "    jax: [\"input/TeX\", \"output/HTML-CSS\"],\n" +
                    "    tex2jax: {\n" +
                    "      inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n" +
                    "      displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ],\n" +
                    "      processEscapes: true\n" +
                    "    },\n" +
                    "    \"HTML-CSS\": {\n" +
                    "      linebreaks: {\n" +
                    "       automatic: false,\n" +
                    "       width: \"container\"\n" +
                    "      },\n" +
                    "    }\n" +
                    "  });"
    );

    formula.setText("<font color=\"#000000\">$$\\int_0^\\infty e^{-x^2} dx=\\frac{\\sqrt{\\pi}}{2}$$</font>");

谢谢!

2 个答案:

答案 0 :(得分:1)

为了能够做到这一点,你必须排版数学,测量结果并将其与容器的明智比较,在容器上设置扇形缩放,并重新渲染数学以获得新的大小

以下是一个例子。

dir *.pdf /b /s ren *.pdf     "@"????????????????????????????????????????????????????????.pdf >>     C:\temp\test.txt

这不是你想要做的很多事情,但确实有效。使用SVG和CommonHTML输出,您可以在不重新渲染的情况下逃脱,只需更改字体大小。

答案 1 :(得分:0)

有一个专门用于TEX语言的StackExchange站点。你可能会找到更好的帮助。 https://tex.stackexchange.com/