所以我想要KaTeX内联公式,比如MathJax。
但到目前为止,我只找到了render()函数,它将字符串“绘制”到元素。
我需要修改DOM中文本节点的一部分。
我真的找不到如何用KaTeX来做这件事。它有这样的功能吗?
MathJax可以做到这一点。
发布于 2017-07-25 11:15:19
是的,您可以使用KaTeX的$-delimited 自动渲染扩展内联地呈现所有-delimited公式。根据该页面上的文档,$不是默认的分隔符之一,因此您需要在调用renderMathInElement()并将display设置为false时设置它,后者以内联方式呈现。下面是来自KaTeX的一个示例和另一个示例,可以找到这里。
注意,\\中的JavaScript对应于HTML中的\。
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/contrib/auto-render.min.js"></script>
</head>
<body>
<div>The formula $a^2+b^2=c^2$ will be rendered inline, but $$a^2+b^2=c^2$$ will be rendered as a block element.</div>
<br>
<div>The formula \(a^2+b^2=c^2\) will be rendered inline, but \[a^2+b^2=c^2\] will be rendered as a block element.</div>
<script>
renderMathInElement(
document.body,
{
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "\\[", right: "\\]", display: true},
{left: "$", right: "$", display: false},
{left: "\\(", right: "\\)", display: false}
]
}
);
</script>
</body>
</html>https://stackoverflow.com/questions/27375252
复制相似问题