Discuz! X 论坛系统数学公式显示的两种方案

最近因为一些原因需要在论坛部署公式显示,而Discuz!并没有包括公式显示,并且目前也没有插件可以做到这一点。根据我的经验目前能做到Discuz!中显示公式的有两种方案,下面做出分享。

方案一:

这个方案将利用Codecogs的公式显示引擎,配合Discuz内置的Discuz代码将LaTex代码转换成图片,便于排版。具体方法如下(以Discuz! X3为例,可向下向上兼容):

equationequation.gif上传到/static/image/common/备用。

 

登录后台,依次定位到界面,编辑器设置,Discuz!代码

新增一个名为tex的代码,图片填刚才的equation.gif,提交,然后打开详情,按如下信息填写。

替换内容:

<img src="http://latex.codecogs.com/gif.latex?{1}" title="{1}">

解释:LaTex

参数提示语:

请输入LaTex代码。<span style="color:#ff0000;"><a href=” http://www.codecogs.com/products/eqneditor/editor.php?mode=NEW”>在线公式编辑器</a></span>

设定好用户组提交即可。

 

方案二:

这个方案利用MathJax的JS实时渲染公式,需要在当前使用的模板的header_common.htm中加入代码。可以实现直接以文本形式输入公式且无需添加Discuz!代码。缺点是手机版支持需要更改相应的手机模板(方案一直接为图片),并且论坛更新会很麻烦。

定位到/template/default(以当前模板为准)/common/下,找到header_common.htm并编辑。在其中加入如下代码:

<script type="text/x-mathjax-config">
 MathJax.Hub.Config({
 extensions: ["tex2jax.js"],
 jax: ["input/TeX", "output/HTML-CSS"],
 tex2jax: {
 inlineMath: [ ["\\(","\\)"] ],
 displayMath: [ ["\\[","\\]"] ],
 processEscapes: true
},
 "HTML-CSS": { availableFonts: ["TeX"] }
 });
</script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

就可以在帖子中转义 \[ \] 和\( \) 之间的LaTex代码。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注