0

我正在编写一个markdown文件并编译为html,我正在尝试在其上插入数学方程式Latex。我已经尝试过Mathjax但不支持某些方程式,所以我尝试了Katex。我插入了

    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.0-rc.1/dist/katex.css" integrity="sha384-JwmmMju6Z7M9jiY4RXeJLoNb3aown2QCC/cI7JPgmOLsn3n33pdwAj0Ml/CMMd1W" crossorigin="anonymous">
    <script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.0-rc.1/dist/katex.js" integrity="sha384-atIluo+2Hixq8HCazSQWa1JjeC5L0CQeWAx74Q+EbqgAW4UixbrBQF4+1jvBX01b" crossorigin="anonymous"></script>

正如网站所说,但是当我打开html文件时,方程仍然显示在Latex代码中。在html上插入数学方程式的正确方法是什么?

4

2 回答 2

1

您需要包含auto-render.js在您的 html 中

<!-- To automatically render math in text elements, include the auto-render extension: -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.0-rc.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"></script>

并在 html 加载后调用渲染函数

<script>
$(document).ready(function () { // this need jquery
  renderMathInElement(document.body, {
    // ...options...
    delimiters: [
      { left: "$$", right: "$$", display: true },
      { left: "$", right: "$", display: false },
      { left: "\\[", right: "\\]", display: true }
    ]
  });
});
</script>
于 2019-05-08T10:03:35.473 回答
1

KaTeX 本身只是一个库,提供将类似 LaTeX 的输入转换为 HTML / DOM 输出的功能。要将该功能与页面内容联系起来,您可以使用其他代码,例如贡献的KaTeX 自动渲染扩展

根据应用程序的不同,其他方法可能会更好,所以我不会说这对每个人来说都是正确的方法,但对于许多应用程序来说,这是一种正确的方法。内容通过 Ajax 交互不断变化的高度动态页面不能很好地与自动呈现扩展的标准配置一起使用。对于那些最好将自动渲染器与重新加载机制集成。

数学内容与 HTML 内容分开的页面可能会受益于不将内容与 TeX 分隔符捆绑在一起,只是让自动渲染器再次将它们分开。相反,这些页面可能会直接将数学内容提供给 KaTeX 渲染函数。就我个人而言,我已经将这种方法与<script>标签中的数学内容一起使用,例如在这个页面上

于 2018-10-29T11:09:33.280 回答