3

在 MediaWiki 中,如果您添加公式非英文文本,它会被删减。例如,如果您编写\text{щfбb}(щбrussian (cyrillic) symbols) 输出将fb不是щfбb.

4

1 回答 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而不是escapeshellargthen 您需要设置$wgShellLocaleen_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 回答