我找到了解决方案。您可以使用此链接下载修改后的 PHPMyAdmin 发行版(它不会永远可用)。我将描述我所做的更改。如果您愿意,您可以自己重复它们。
这是它的样子:
当您创建新条目或编辑现有条目时,该脚本将在“插入”选项卡上运行。该脚本将适用于所有文本区域(多行编辑字段)。在您更改 textarea 中的某些内容并将焦点移出它(通过单击)后,将在此 textarea 上方创建文本块。Textarea 的内容复制到这个块中。如果有一些公式,它们将由 MathJax 呈现。请耐心等待:第一次它会缓慢工作,几秒钟后会替换公式。
步骤 1. 下载最新版本的 PHPMyAdmin。
我已经用最新版本的 PHPMyAdmin(现在是 3.5.1)测试了我的代码。它可以与旧版本一起使用,但我没有检查。
步骤 2. 下载最新版本的 MathJax 并将其解压缩到<PHPMyAdmin_Directory>/js/mathjax/distrib
.
您可以从官方网站下载 MathJax 2.0 。在名为 PHPMyAdmin 的目录文件夹中创建js/mathjax/distrib
并将 MathJax 解压到此文件夹中。您现在必须有现有文件js/mathjax/distrib/MathJax.js
。
步骤 3. 将配置文件复制js/mathjax/distrib/config/default.js
到js/mathjax/distrib/config/myconfig.js
.
第 4 步。在myconfig.js
文件中更改您网站的设置。
找到这个部分:
tex2jax: {
//
// The delimiters that surround in-line math expressions. The first in each
// pair is the initial delimiter and the second is the terminal delimiter.
// Comment out any that you don't want, but be sure there is no extra
// comma at the end of the last item in the list -- some browsers won't
// be able to handle that.
//
inlineMath: [
// ['$','$'], // uncomment this for standard TeX math delimiters
['\\(','\\)']
],
从您的文本示例中,我发现您需要将此设置更改为:
tex2jax: {
inlineMath: [
['$','$'], ['[', ']'],
['\\(','\\)']
],
步骤 5. 创建js/mathjax/1.js
包含以下内容的文件:
$(function() {
var preview_number = 0;
$("textarea").change(function(e) {
var textarea = $(e.target);
var d = textarea.prev();
if (!d.hasClass("mathjax_preview")) {
preview_number++;
var d = $("<div class='mathjax_preview' " +
"style='padding: 5px; color: black; background: #eee; border: 1px solid #888;'" +
"></div>");
d.attr("id", "mathjax_preview_" + preview_number);
d.insertBefore(textarea);
}
d.text(textarea.val());
MathJax.Hub.Queue([ "Typeset", MathJax.Hub, d.attr("id") ]);
});
});
步骤 6. 修改tbl_change.php
.
tbl_change.php
在根 PHPMyAdmin 目录中打开文件并找到此部分:
$GLOBALS['js_include'][] = 'functions.js';
$GLOBALS['js_include'][] = 'tbl_change.js';
$GLOBALS['js_include'][] = 'jquery/jquery-ui-1.8.16.custom.js';
$GLOBALS['js_include'][] = 'jquery/timepicker.js';
$GLOBALS['js_include'][] = 'gis_data_editor.js';
在此下方再添加两行:
$GLOBALS['js_include'][] = 'mathjax/distrib/MathJax.js?config=myconfig';
$GLOBALS['js_include'][] = 'mathjax/1.js';