| 摘要 | Discourse Math 使用 MathJax(默认)或 KaTeX 在你的 Discourse 论坛中渲染数学公式。 | |
| 安装指南 | 此插件已打包在 Discourse 核心中。无需单独安装该插件。 |
启用数学公式
可以通过 admin/plugins 页面访问设置来启用数学公式插件:
![]()
功能
启用后,你可以使用单个 $ 包裹来渲染行内数学公式,例如:$E=mc^2$。
你可以使用 $$ 包裹来渲染数学公式块:
$$
\sqrt{(-1)} \; 2^3 \; \sum \; \pi
$$
Discourse Math 使用启发式方法,确保像“我花了 20$ 又花了 100$"这样的句子不会被转换。
LaTeX 分隔符
通过站点设置启用后,你还可以使用标准的 LaTeX 分隔符:
- 行内:
\(...\)- 示例:\(E=mc^2\) - 块级:
\[...\]- 示例:\[ \frac{1}{2} \]
AsciiMath(仅限 MathJax)
使用 MathJax 时,你可以启用 asciimath 处理,它使用 % 作为分隔符:%E=mc^2%
编辑器集成
编辑器工具栏中包含一个 插入数学公式 按钮,其键盘快捷键为 Shift+M。点击后会打开一个模态窗口,你可以:
- 在行内模式和块级模式之间切换
- 编写 LaTeX 表达式
- 预览并将表达式插入到你的帖子中
在富文本编辑器中,数学公式显示为可编辑节点,并带有编辑按钮以修改表达式。
聊天支持
数学公式同样会在 Discourse 聊天消息中渲染,使用相同的设置和渲染引擎。
渲染引擎
MathJax(默认)
- 版本: 4.1
- 输出格式: HTML(默认)或 SVG
- 功能:
- 上下文菜单(右键点击数学公式)
- 为屏幕阅读器提供可访问性增强
- 按住 Alt 键点击时缩放(175% 缩放)
- 支持 AsciiMath
KaTeX(替代方案)
- 功能:
- 快速渲染
- Mhchem 扩展 用于化学方程式
- CopyTex 扩展 - 点击数学公式即可将 LaTeX 源代码复制到剪贴板
- 支持使用
\label、\ref和\eqref宏进行交叉引用
站点设置
在管理员设置中搜索“math”即可查看所有相关的站点设置。
| 名称 | 描述 |
|---|---|
| discourse math enabled | 启用 Discourse Math 插件(为 $ 和 $$ 块添加特殊处理) |
| discourse math provider | 数学渲染提供者:mathjax(默认)或 katex |
| discourse math enable latex delimiters | 启用 LaTeX 风格分隔符:\(...\) 用于行内,\[...\] 用于块级数学公式 |
| discourse math mathjax output | MathJax 输出格式:html(默认)或 svg(仅限 MathJax) |
| discourse math enable menu | 为数学公式启用上下文菜单(仅限 MathJax) |
| discourse math enable accessibility | 启用可访问性功能,如文本增强(仅限 MathJax 且启用了菜单时) |
| discourse math zoom on click | 按住 Alt 键点击时缩放 175%(仅限 MathJax 且启用了菜单时) |
| discourse math enable asciimath | 启用使用 % 分隔符的 asciimath 处理(仅限 MathJax) |
由我们托管?此插件适用于我们的所有托管层级 Math | Discourse - Civilized Discussion
