Вопрос или проблема
С помощью 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>
Возможно, некоторые полезные файлы не были загружены, поэтому я клонировал все файлы 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 может не работать на вашем локальном сервере.
-
Проблемы с путями к файлам:
Убедитесь, что вы правильно скопировали все необходимые файлы 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>
-
Конфигурация MathJax:
В некоторых случаях может потребоваться дополнительно указать путь к конфигурации. Например:<script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}, "HTML-CSS": { availableFonts: ["TeX"] } }); </script>
-
Отладка в браузере:
Убедитесь, что в консоли разработчика вашего браузера (обычно доступно через F12) нет ошибок, связанных с загрузкой файлов MathJax. Если есть ошибки 404 (файл не найден), это указывает на неправильный путь к файлам. -
Локальные сетевые настройки:
Если вы тестируете локально, убедитесь, что у вас нет ограничений со стороны браузера, связанных с загрузкой скриптов через локальный хост (например, если вы используете файл://). Попробуйте доступ к вашей странице черезhttp://127.0.0.1/...
вместо прямого открытия файла HTML. -
Кэш браузера:
Иногда браузер может кэшировать старые версии файлов. Попробуйте очистить кэш или открыть страницу в режиме инкогнито. -
Проверка на других браузерах:
Попробуйте открыть вашу 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 на вашей локальной странице. Если возникнут дополнительные трудности, дайте знать, и мы поможем вам с дальнейшими шагами.