Я установил mediawiki-1.26.2
на личном сервере и хочу отображать в нем latex
формулы. Поэтому я решил использовать Extension:MathJax
.MathJax в MediaWiki: экранированный синтаксис показан, консоль имеет 404 ошибки
Сначала я установил локальную копию MathJax, чтобы отобразить уравнения (на верхнем уровне сервера: /var/www/html/mediawiki-1.26.2/
). По завершении установки я протестировал ее, посетив http://(Server)/MathJax/test, где страница сообщает мне, что «MathJax появляется, чтобы работать!».
Затем я загрузил расширение, извлеченный архив, переименовал его в «MathJax» и перевел его в подкаталог «extensions» mediawiki-1.26.2
. После этого я создал символическую ссылку на «mwMathJaxConfig.js» в [local MathJax location]/config/local
, которая является каталогом «/var/www/html/mediawiki-1.26.2/MathJax/config/local». Так уже существует два файла:
local.js
mwMathJaxConfig.js
(символьная ссылка)
Тогда я изменил последнюю строчку "mwMathJaxConfig.js" от:
MathJax.Ajax.loadComplete("_SUBSTITUTE YOUR URL___/mathjax/config/local/mwMathJaxConfig.js");
в это:
MathJax.Ajax.loadComplete("http://localhost/MathJax/config/local/mwMathJaxConfig.js");
Потому что extension page говорит: «Возможно, вам понадобится изменить файл mwMathJaxConfig.js, чтобы эта работа ...».
После каждого из них, я тестировал, правильно ли было установлено расширение? (wiki → специальные страницы → версия → Установленная часть расширений) И было имя «MathJax».
Но когда я пытаюсь показать латекс в mediawiki
, даже простые термины, подобные этим:
We consider, for various values of $s$, the $n$-dimensional integral
:<math> \frac{f}{g} </math>
не правильно, как показано. Результаты:
We consider, for various values of $s$, the $n$-dimensional integral
\[ \frac{f}{g} \]
Вы можете увидеть :<math>
заменяется \[
и </math>
по \]
. Поэтому я предполагаю, что MathJax
загружен, но не загружается правильно, и проблема находится в последней строке mwMathJaxConfig.js
.
Также я сохранил страницу в HTML и посмотрел на его код, и только эта часть кода была связана с MathJax
:
<script type="text/javascript" src="./PageName_files/MathJax.js"> </script>
Приведенный выше код не был в head
и PageName
это имя сохраненной страницы. Я думаю, что замещается вместо этого кода, который описан в MathJax
документации:
<script type="text/javascript" async src="path-to-MathJax/MathJax.js?config=TeX-MML-AM_CHTML"></script>
Я смотрел на Third-party Extensions в MathJax документации, но не понял его смысл.
Также я проверил local.js
файл в [local MathJax location]/config/local
которого последняя строка:
MathJax.Ajax.loadComplete("[MathJax]/config/local/local.js");
ли я изменить последнюю строку, что и заменить другую строку вместо [MathJax]
?
Включает ли конфигурационный файл разделители доллара? По умолчанию значки с одним долларом не активируются, и вы должны использовать '\ (' и '\)' для встроенной математики. Попробуйте двойные доллары и посмотрите, работают ли они, поскольку они включены по умолчанию. –
@DavideCervone Но я тестировал другие типы, например '' и результат был тот же. – hasanghaforian
Что обрабатывается обработкой (TeX, MathML, AsciiMath) и какие разделители используются, зависят от файла конфигурации. Вы не показали нам этого, поэтому мы не можем отлаживать это для вас. Поэтому вам нужно будет проверить файл 'mwMathJaxConfig.js' и свой собственный файл local.js, чтобы убедиться, что они загружают правильный вход и выход jax, загружают необходимые расширения препроцессора и определяют правильные разделители. Вы также должны проверить, действительно ли MathJax загружен, проверяя, задан ли объект 'MathJax' с помощью консоли браузера. Это первое, что нужно проверить. –