提问人:Jojo197 提问时间:10/29/2023 更新时间:10/30/2023 访问量:36
Javascript:将 <textarea> with markdown + latex formatting 转换为 html
Javascript: convert <textarea> with markdown + latex formatting to html
问:
从本质上讲,我正在尝试创建一个输入区域,允许用户输入 markdown 和 latex(使用 $..$ 和 $$..$$),与在 R 笔记本中可以执行的操作非常相似。当用户输入文本时,我想将其转换为html格式(并将其显示在另一个div中)。
通过阅读如下所示的其他问题,我能够使 Markdown 与摊牌配合得很好
<script src="https://cdnjs.cloudflare.com/ajax/libs/showdown/1.9.0/showdown.min.js"></script>
document.getElementById('markdown-input').addEventListener('change',function(){
var markdownConverter = new showdown.Converter();
markdownText = document.getElementById('markdown-input').value;
var html = markdownConverter.makeHtml(markdownText);
document.getElementById('markdown-container').innerHTML = html;
});
我遇到的麻烦是如何让乳胶工作。我一直在阅读 Mathjax,但在试图弄清楚如何让它与它一起工作时遇到了很多麻烦,尤其是在版本 3 中。我目前有以下脚本来使用 Mathjax,但不确定如何让这些脚本与上面的代码一起使用。
<script type="text/x-mathjax-config">
MathJax.Hub.Config({tex2jax: { inlineMath: [ ["$", "$"], ["\\(","\\)"] ], displayMath: [ ["$$","$$"], ["\\[", "\\]"] ]}});
</script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
关于如何实现这项工作的任何建议将不胜感激。
答:
0赞
Jojo197
10/30/2023
#1
经过几个小时的研究,我设法让它工作。
我找到了配置 MathJax 的方法,以修改我对 MathJax js 文件的现有引用:
<script>
MathJax = {
tex: {inlineMath: [['$', '$'], ['\\(', '\\)']]}
};
</script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
然后是来自文档 Dynamic Content 另一部分的简单代码,它同步计算页面中的所有乳胶,我在解析 markdown 后输入了该代码:MathJax.typeset();
我不确定是否有办法将其优化为仅针对特定元素及其子元素运行,但它目前正在按照我的需要工作。
评论
<div>