在MediaWiki中如果你添加公式非英文文本,它会削减。 例如,如果你写\text{щfбb}
( щ
和\text{щfбb}
(西里尔)符号)输出将是fb
不是щfбb
。
首先,如果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 .=
这是因为escapeshellarg
需要剪切UTF8符号 。 如果你在那里看到函数wfEscapeShellArg
而不是escapeshellarg
那么你需要将$wgShellLocale
设置为en_US.utf8
。
其次,下载最新的math
文件夹,并提取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
文件夹,然后做:
$ aptitude install ocaml /* install ocaml if needed */ $ make
还要添加到LocalSettings.php
(将文件夹更改为你的):
putenv('HOME=/home/user');
现在新的字母表应该工作。 ;)