2013-10-09 3 views
3

В MediaWiki, если вы добавили в формулу не английский текст, он разрезает. Например, если вы пишете \text{щfбb} (щ и б русских (кириллических) символов), то вывод будет fb не щfбb.Как добавить другие языки в TeX

ответ

3

Прежде всего, если у вас есть MediaWiki версии ниже, чем 1,18, то открыть файл включает/Math.php и найти (этот код для версии 1.16):

escapeshellarg($wgTmpDirectory).' '; 
escapeshellarg($this->tex).' '; 

и заменить:

escapeshellarg($wgTmpDirectory).' '; setlocale(LC_CTYPE, "en_US.utf8"); $cmd .= 
escapeshellarg($this->tex).' '; setlocale(LC_ALL, "C"); $cmd .= 

это необходимо потому, что escapeshellargcut UTF8 symbols. Если вы видите в этом месте функцию wfEscapeShellArg вместо escapeshellarg, тогда вам нужно установить $wgShellLocale в en_US.utf8.

Во-вторых, скачайте последние Math extension и извлеките папку math. Открыть файл texutil.ml и найти строки:

"\\usepackage{cancel}\n\\pagestyle{empty}\n\\begin{document}\n$$\n" 

добавить свой алфавит:

"\\usepackage[russian]{babel}\n\\usepackage{cancel}\n\\pagestyle{empty}\n\\begin{document}\n$$\n"

Удалить все файлы из текущей папки math и загружать файлы с расширением. Открыть консоль, cd в math папку и сделать make:

$ aptitude install ocaml /* install ocaml if needed */ 
$ make 

также добавить в LocalSettings.php (папку изменений в вашей):

putenv('HOME=/home/user');

Теперь новый алфавит должен работать. ;)

Смежные вопросы