Как включить Katex в HTML? - PullRequest
       30

Как включить Katex в HTML?

0 голосов
/ 28 октября 2018

Я пишу файл markdown и компилирую в html, и я пытаюсь вставить математические уравнения с Latex на нем. Я пробовал Mathjax, но некоторые уравнения не поддерживаются, поэтому япробовал Katex .I вставил

    <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?

Ответы [ 2 ]

0 голосов
/ 08 мая 2019

Вам необходимо включить 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>
0 голосов
/ 29 октября 2018

KaTeX - это просто библиотека, предоставляющая функции для преобразования LaTeX-подобного ввода в вывод HTML / DOM.Чтобы связать эту функциональность с содержимым страницы, вы можете использовать дополнительный код, такой как расширение KaTeX для автоматического рендеринга .

В зависимости от приложения, другие подходы могут быть лучше,поэтому я бы не сказал, что это правильный способ сделать это для всех, но для многих приложений это один из способов сделать это правильно.Страницы с высокой динамикой, содержимое которых постоянно изменяется посредством Ajax-взаимодействия, не будут хорошо работать со стандартной конфигурацией расширения автоматического рендеринга.Для тех, кто будет лучше интегрировать автоматический рендеринг с механизмом перезагрузки.

Страницы, где математическое содержимое отделено от содержимого HTML, могут выиграть, если не объединять содержимое вместе с разделителями TeX только для автоматическойрендер разорвать их снова.Вместо этого эти страницы могут напрямую передавать математическое содержимое в функции рендеринга KaTeX.Лично я использовал этот подход с математическим содержанием в тегах <script>, например, на этой странице .

...