Discourse Math

在起草帖子的预览面板中,渲染 SVG 时预览面板会向上滚动。是否有可以更改的设置,以便滚动返回到最低位置?

每次编辑数学公式时都必须向下滚动,这让我的讲师们感到恼火,但我一直忍受着。

我注意到活动中有几个“弃用”。

如果有人能解释一下这对拥有大量数学数据库但渲染效果良好的实例意味着什么

更新/重建完成后,数学渲染似乎正常。

对于那些还没听说的人来说,这个插件现在已包含在核心中。请参阅此帖第 7 节,修订版 2/3 以了解详情。

已加入! :+1: 抱歉引起了担忧。您现在应该可以正常使用了。

:partying_face: 此插件现已作为 Bundling more popular plugins with Discourse core 的一部分,与 Discourse 核心捆绑在一起。如果您是自托管用户并且使用了该插件,则需要在下次升级前将其从您的 app.yml 中移除。

3 个赞

AI 回答中存在数学字符问题。即使我输入了必要的提示,它也会以 LaTeX 格式给出答案。这导致字符显示为损坏的图像。你能解决这个问题吗?例如;

(( A = \begin{pmatrix} x & -1 \ z & 2y \end{pmatrix} )

[
\boxed{
x = 0, \quad y = 4, \quad z = 4
}
]

[
\begin{cases}
A_{11} = B^T_{11} \Rightarrow x = y - z \
A_{12} = B^T_{12} \Rightarrow -1 = -1 \quad (\text{自动正确}) \
A_{21} = B^T_{21} \Rightarrow z = y \
A_{22} = B^T_{22} \Rightarrow 2y = 8 \
\end{cases}
]

我之前在 OpenAI 社区分享过解决方案。

你好 @ozkn

我也有这个问题。我的建议是:

  • 注册一个AI提供商的账户
  • 告诉AI账户

记住,对于未来的回答,Discourse兼容MathJax/Katex的$...$$$...$$行内或多行居中格式。

  • 登录你的AI账户后,你会发现输出更容易复制粘贴
你可能需要不断争取最好的记忆
3 个赞

最后一点补充一下——如果你混合使用数学货币,请记住:

  • $...$ = 数学
  • \\$ = 字面上的美元符号

所以:
$x+1$ 费用为 \\$5。 → 渲染 x+1 的数学公式,并显示价格为 $5。

你只需要知道:数学用 $, 货币用 \\$

2 个赞

另一个鼓励 ChatGPT 记住的好方法是,你无法在详细信息窗格标题中渲染数学公式

@sam 以及所有对在 Discourse 中输入数学内容感兴趣的人。我已经更新了 discourse-math 插件,使其使用 MathJax V3,而不是速度慢得多且非常过时的 V2。正如预期的那样,结果是用户体验更加灵敏,同时与 KaTeX 相比仍保持功能丰富的环境。

如果结果看起来不错,我很乐意提交一个拉取请求(pull request)。


您可以在我的课堂 Discourse 网站上看到它的实际效果:

该网站上的大多数内容都是私密或未列出的。在顶部的 MathJax V3 类别中应该有几个主题来说明这些想法,不过

您可以在这个独立的 discourse-mathjax 插件仓库中检查插件的代码。修改最多的文件是初始化文件

您也可以立即使用该仓库将其安装在独立站点上。只需确保在安装过程中删除旧的仓库。因此,您需要修改标准的插件安装技术使其如下所示:

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - rm -r discourse-math
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/mcmcclur/discourse-math.git

评论

MathJax 的最新版本实际上是 4.0.0。我选择使用 V3.2.2 是有几个原因:

  • 虽然 V4 比 V2 快得多,但它不如 V3 快。
  • V4 中的用户体验略有不同,特别是当用户点击输出时。
  • 4.0.0 的状态让我怀疑可能存在多少错误。

话虽如此,V4 的 API 与 V3 的 API 相同。稍后可以通过简单地放入最新的 MathJax 仓库来升级。

我不得不在 locales/server.en.yml 文件中进行了一个小的更改。当然,对于各种语言还有很多这样的文件。我的理解是,那些其他文件稍后会自动翻译?

我完全不使用聊天,也没有在那种情况下进行测试。

4 个赞

升级 MathJax 到 V3 的拉取请求已提交,所有测试均已通过!

2 个赞

关于:

这太棒了 :hugs:,但我不知道我们是否可以借此机会精简一下我们的仓库。

既然我们已经将 mathjax 移至核心,我们可以依赖 pnpm 来拉取包,并避免像对 FullCalendar 那样打包所有源代码。

特别是,目标是我们的仓库中只保留“链接”,然后我们可以使用构建过程来拉取正确的依赖项。

请给我们几天时间,我想在这里与开发体验 (dev xp) 团队咨询一下。非常感谢您的努力!

4 个赞

是的,我认为这绝对是正确的做法。我一直很奇怪你为什么要打包整个东西!

那么,我猜你会为你的库构建一个 loadMathJax 函数来加载 MathJax 吧?

我要说的是,将所有插件都集成到核心中使得摆弄它们变得更加棘手。将依赖项与构建过程绑定只会让情况更糟,尽管我确信我可以从 CDN 拉取 MathJax 或 FullCalendar。

我主要说的是当我为我自己的论坛修补插件时,我绝对认为你应该在构建过程中拉入 MathJax。

当然!我使用 Discourse 已经很多年了,很高兴你认为这很棒!:rocket:

3 个赞

是的,完全正确。一个好的参考是 morphlex:

1 个赞