在 MediaWiki 中,如果您添加公式非英文文本,它会被删减。例如,如果您编写\text{щfбb}
(щ
和б
russian (cyrillic) symbols) 输出将fb
不是щfбb
.
问问题
88 次
1 回答
3
首先,如果您的 MediaWiki 版本低于 1.18,则打开文件 includes/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 .=
这需要因为escapeshellarg
剪切 UTF8 符号。如果您在那个地方看到功能wfEscapeShellArg
而不是escapeshellarg
then 您需要设置$wgShellLocale
为en_US.utf8
.
其次,下载最新的数学扩展并解压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');
现在新的字母表应该可以工作了。;)
于 2013-10-09T15:34:42.067 回答