Почему я не могу разместить свою собственную копию MathJax локально?

Вопрос или проблема

С помощью CDN-сервиса для рендеринга LaTeX в HTML.

   <!DOCTYPE html>
   <html>
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width">
   <script type="text/javascript" async
     src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML">
   </script>
   <script type="text/x-mathjax-config">
   MathJax.Hub.Config({
     tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]},
   });
   </script>
   </head>
   <body>
   Прежде всего, мы можем "ослабить" правило $\forall$-введения: $A \to B \vdash A \to \forall x B$, при условии, что $x$ не является *свободным* в $A$.
   </body>
   </html>

Весь LaTeX корректно отображается в HTML.
введите описание изображения здесь

Я хочу развернуть сервис MathJax локально.

Скачайте MathJax.js напрямую, MathJax.js можно открыть по ссылке: 127.0.0.1/wp/MathJax.js, установите src следующим образом:

<script type="text/javascript" async
     src="http://127.0.0.1/wp/MathJax.js?config=TeX-MML-AM_CHTML">
</script>

latex не отображается.
введите описание изображения здесь

Возможно, некоторые полезные файлы не были загружены, поэтому я клонировал все файлы mathjax, как указано в официальной документации MathJax (официальная документация mathjax), и скопировал их все в каталог документов Apache.

git clone https://github.com/mathjax/MathJax.git mathjax

tex-chtml можно открыть по адресу http://127.0.0.1/mathjax/es5/tex-chtml.js, напишите следующее HTML:

   <!DOCTYPE html>
   <html>
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width">
   <script type="text/javascript" async
     src="http://127.0.0.1/mathjax/es5/tex-chtml.js?config=TeX-MML-AM_CHTML">
   </script>
   <script type="text/x-mathjax-config">
   MathJax.Hub.Config({
     tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]},
   });
   </script>
   </head>
   <body>
   Прежде всего, мы можем "ослабить" правило $\forall$-введения: $A \to B \vdash A \to \forall x B$, при условии, что $x$ не является *свободным* в $A$.
   </body>
   </html>

Перезапустил свой Apache, нет сообщений об ошибках в отладке Firefox, но строка не была отрендерена с помощью MathJax.

введите описание изображения здесь

Как это исправить?

Ответ или решение

Чтобы решить вашу проблему с локальным хостингом MathJax, давайте рассмотрим несколько аспектов и причин, по которым MathJax может не работать на вашем локальном сервере.

  1. Проблемы с путями к файлам:
    Убедитесь, что вы правильно скопировали все необходимые файлы MathJax в вашу локальную директорию. При использовании MathJax 2.7.7 структура файлов должна быть следующей:

    /mathjax/
       /es5/
           tex-chtml.js
           ...
       /config/
       /jax/
       /localization/
       ...

    Строка кода <script> должна ссылацца на правильный путь, например:

    <script type="text/javascript" async
     src="http://127.0.0.1/mathjax/es5/tex-chtml.js?config=TeX-MML-AM_CHTML">
    </script>
  2. Конфигурация MathJax:
    В некоторых случаях может потребоваться дополнительно указать путь к конфигурации. Например:

    <script type="text/x-mathjax-config">
     MathJax.Hub.Config({
       tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]},
       "HTML-CSS": { availableFonts: ["TeX"] }
     });
    </script>
  3. Отладка в браузере:
    Убедитесь, что в консоли разработчика вашего браузера (обычно доступно через F12) нет ошибок, связанных с загрузкой файлов MathJax. Если есть ошибки 404 (файл не найден), это указывает на неправильный путь к файлам.

  4. Локальные сетевые настройки:
    Если вы тестируете локально, убедитесь, что у вас нет ограничений со стороны браузера, связанных с загрузкой скриптов через локальный хост (например, если вы используете файл://). Попробуйте доступ к вашей странице через http://127.0.0.1/... вместо прямого открытия файла HTML.

  5. Кэш браузера:
    Иногда браузер может кэшировать старые версии файлов. Попробуйте очистить кэш или открыть страницу в режиме инкогнито.

  6. Проверка на других браузерах:
    Попробуйте открыть вашу HTML-страницу в других браузерах (например, Chrome, Edge) для того, чтобы исключить браузерные проблемы.

Пример полного HTML-кода:

Попробуйте использовать следующий код:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <script type="text/javascript" async
    src="http://127.0.0.1/mathjax/es5/tex-chtml.js?config=TeX-MML-AM_CHTML"></script>
    <script type="text/x-mathjax-config">
        MathJax.Hub.Config({
            tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]},
            "HTML-CSS": {availableFonts: ["TeX"]}
        });
    </script>
</head>
<body>
    Первое, что мы можем "ослабить" правило введения $\forall$ : $A \to B \vdash A \to \forall x B$, при условии, что $x$ не *свободен* в $A$.
</body>
</html>

После внесения всех исправлений и рекомендаций, перезапустите ваш сервер Apache и проверьте работу MathJax на вашей локальной странице. Если возникнут дополнительные трудности, дайте знать, и мы поможем вам с дальнейшими шагами.

Оцените материал
Добавить комментарий

Капча загружается...