我需要在我的Android应用程序中显示一些数学方程式。我正在使用’MathView’(https://github.com/kexanie/MathView)和’MathJax’作为引擎转换TeX代码,效果很好。 ……
有一个专门用于TEX语言的StackExchange站点。你可能会找到更好的帮助。 https://tex.stackexchange.com/
为了能够做到这一点,你必须排版数学,测量结果并将其与容器的明智比较,在容器上设置扇形缩放,并重新渲染数学以获得新的大小。
这是一个做它的例子。
<html> <head> <title>MathJax with Dynamic CSS</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML"> </script> <style> .box { margin: 1em auto 0 auto; border: 2px solid black; padding: 0 20px; width: 20em; } </style> </head> <body> <div class="box"> <div id="rescale" style="display:inline-block"> \[\sum_{n=1}^{10} {1\over n} = {1\over 1} + {1\over 2} + {1\over 3} + {1\over 4} + {1\over 5} + {1\over 6} + {1\over 7} + {1\over 8} + {1\over 9} + {1\over 10}\] </div> </div> <script> MathJax.Hub.Queue(function () { var math = document.getElementById("rescale"); var w = math.offsetWidth, W = math.parentNode.offsetWidth-40; if (w > W) { math.style.fontSize = (95*W/w)+"%"; MathJax.Hub.getAllJax(math)[0].Rerender(); } }); </script> </body> </html>
这不是你想要做的很多事情,但确实有效。使用SVG和CommonHTML输出,您可以在不重新渲染的情况下逃脱,只需更改字体大小即可。