【发布时间】:2013-10-09 15:34:42
【问题描述】:
在 MediaWiki 中,如果您添加公式非英文文本,它会被删减。例如,如果您编写 \text{щfбb}(щ 和 б 俄语(西里尔文)符号)输出将是 fb 而不是 щfбb。
【问题讨论】:
标签: ubuntu mediawiki tex ubuntu-9.10
在 MediaWiki 中,如果您添加公式非英文文本,它会被删减。例如,如果您编写 \text{щfбb}(щ 和 б 俄语(西里尔文)符号)输出将是 fb 而不是 щfбb。
【问题讨论】:
标签: ubuntu mediawiki tex ubuntu-9.10
首先,如果您的 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 cut 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');
现在新的字母表应该可以工作了。 ;)
【讨论】: