MathRen(TeX 数学渲染器) | MathRen for Flarum
Flarum 扩展程序,用于处理 TeX 数学公式渲染。
点击查看设置界面截图
特性
- 基于 KaTeX(网络上最快的数学排版库);
- 将数学表达式渲染为行内公式或段落公式;
- 兼容 Markdown 和 BBCode容;
- 几乎完全可自定义;
- 完全自托管。
安装
使用 巴扎市场 或通过 composer 手动安装:
composer require the-turk/flarum-mathren
更新
composer update the-turk/flarum-mathren
php flarum cache:clear
用法
启用扩展。
定界符
虽然您可以自定义无数定界符,但是请明智的选择一两个即可。LaTex 原生使用 $...$
作为行内公式定界符,但是它影响了需要正常显示 $
符号的情况。不过 MathRen 默认使用段落公式定界符 [math]...[/math]
和行内公式定界符 [imath]...[/imath]
(可以在设置页面中更改),因此不必担心特殊字符带来的影响。
您会在设置页面上看到两个定义:主 BBCode 定界符、别名定界符。由于我们不能使用 Regex 来进行简单的查找和替换操作(详情请看这里),所以附加的定界符是用来作为主 BBCode 定界符的别名。
如果您在别名定界符列表中有定义带有特殊符号的定界符(如 $$
),并在帖子中使用了这样的定界图,则 MathRen 将会在一个帖子被保存/发布时扫描整个帖子,并尝试用主 BBCode 定界符来替代,这可能会延长保存/发布帖子时的等待时间。因此,建议您定义 BBCode 定界符,而不是定义一个特殊符号定界符,这样可以避免帖子发布时间有延长。而且,BBCode 别名定界符不会在帖子发布时被替换为主定界符,您定义的时候它长什么样,在帖子中就会保持什么样。
段落公式
用 [math]
和 [/math]
或自定义定界符包裹您的 TeX 代码。
[math]\int_{-\infty}^\infty\hat\xi\,e^{2\pi i\xi x}\,d\xi[/math]
默认情况下,块表达式将被转换为 <span class="mathren-block">...</span>
标签。
行内公式
用 [imath]
和 [/imath]
或自定义定界符包裹您的 TeX 代码。
Lorem ipsum dolor [imath]\varDelta = b^2-4ac[/imath] sit amet.
默认情况下,块表达式将被转换为 <span class="mathren-inline">...</span>
标签。
忽略表达式
如果您想在不渲染公式的情况下,显示带有定界符的 TeX 代码,则有两个办法:
- 用 MD 语法的反引号( ` ) 或
[code]
BBCode 代码语法将您的表达式包裹起来。
- 在您的表达式中使用忽略关键词。
- 忽略关键词默认为
ignore
。但您可以在设置页面自定义多个关键词。在行内公式的使用方法是在定界符的右侧使用大括号包裹上关键词列表中的任何一个关键词(例如:$$...$${关键词}
,\(...\){关键词}
)。在段落公式的使用方法是在定界符中写上关键词(例如:[math=关键词]...[/math]
)。行内和段落公式的用法是不通用的,因此这种串串的写法是无效的:[math]%e%[/math]{keyword}
以下是不渲染公式的有效举例:
`[math]\int_{-\infty}^\infty\hat\xi\,e^{2\pi i\xi x}\,d\xi[/math]`
[math=ignore]\int_{-\infty}^\infty\hat\xi\,e^{2\pi i\xi x}\,d\xi[/math]
[imath=ignore]\varDelta = b^2-4ac[/imath]
$$\int_{-\infty}^\infty\hat\xi\,e^{2\pi i\xi x}\,d\xi$${ignore}
\[\int_{-\infty}^\infty\hat\xi\,e^{2\pi i\xi x}\,d\xi\]{ignore}
\(\varDelta = b^2-4ac\){ignore}
如果您使用第二种方法,忽略表达式在默认情况下将被转换为 <span class="{mathren-inline|mathren-block} mathren-ignore">...</span>
标签。
链接
[Aquote]
译文仅用于学习和交流目的,转载请务必注明文章译者、原文出处、和本文链接。
[/Aquote]