在 MediaWiki 中,如果您在公式中添加非英语文本,它会剪切。例如,如果您编写 \text{щfбb}
(щ
和 б
俄语(西里尔)符号)输出将是 fb
不是 щfбb
。
最佳答案
首先,如果您的 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');
现在新的字母表应该可以工作了。 ;)
关于ubuntu - 如何将其他语言添加到 TeX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19276411/