Saya telah mencari topik ini, tetapi tidak dapat menemukan jawaban langsung, dan saya juga tidak mahir dalam javascript. Jadi saya berharap seseorang dapat menunjukkan kepada saya cara melakukan ini.
Saya hanya ingin menampilkan matematika di dalam Canvas2D. Saya menggunakan context.fillText
untuk meneruskan string ke canvas2d, tetapi string tersebut jelas tidak diproses oleh Mathjax karena tidak ada di halaman itu sendiri.
Ini MWE. Apa yang saya perlukan untuk memodifikasi ini agar matematika muncul di kanvas?
<!DOCTYPE html>
<html>
<head>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({tex2jax: { inlineMath: [['$','$'],['\\(','\\)']] }});
</script>
<script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
</head>
<body>
</p>Trying to render $\sin(x)$ inside canvas 2D as text</p>
<div>
<canvas id="e" width="200" height="200"></canvas>
<script>
var canvas = document.getElementById("e");
var context = canvas.getContext("2d");
context.font = "normal 16px Arial";
context.fillText("test string", 50, 50);
context.fillText("$\sin(x)$", 50, 100);
</script>
</div>
</body>
</html>
Output yang saya dapatkan sekarang adalah
Sekali lagi, saya mengerti mengapa ini tidak berfungsi, karena matematika ada di dalam string, Mathjax tidak dapat melihatnya dan memprosesnya. Tapi itu harus berupa string untuk digunakan oleh kanvas. Saya tidak bisa begitu saja menulis context.fillText($\sin(x)$, 50, 100);
tanpa tanda kutip string, karena itu tidak akan berhasil.
Mungkin pertanyaan terkait adalah ini, tapi tidak yakin.
Bagaimana cara memformat html dengan MathJax setelah memuatnya menggunakan jQuery.load?