我有一个带有简单文本的网站,混合了最初只有标题可见的部分。 单击标题可展开该部分。 这个页面的所有部分都可以包含我想用 MathJax 很好地排版的数学,但是这些部分可能很长并且包含很多数学。 我想推迟每个部分的处理,直到单击相应的标题。 这可能吗?

我知道 MathJax 具有我可以在显示该部分时调用的TypeSet函数,因此动态排版数学不是问题。 我还找到了elements配置选项,但这与我想要的相反:它允许您只处理某些元素,而我想排除某些元素。

示例页面: http : //jsfiddle.net/pnbjh5tg/

#1楼 票数:1 已采纳

我想出了一种方法来做到这一点。 本质上,我忽略了tex2jax pre-processorignoreClass选项。 tex2jax_ignoretex2jax_ignore到所有部分可确保在页面加载时不会处理它们。 然后,当单击它们的标头时,以下 JavaScript 会处理它们:

var section = $(this).parent().children('.section-container');
section.removeClass("tex2jax_ignore");
MathJax.Hub.Queue(["Typeset",MathJax.Hub,section.get(0)]);

结果可以在这个 jsFiddle 中看到。

#2楼 票数:1

在当前的 MathJax 版本 ( v3.0.1 ) 中,您可以通过添加

typeset: false

在您的配置脚本中。 ( MathJax 源代码) 当你想排版文档时,你可以从 JS 运行MathJax.typeset()

有关演示,请参阅此 jsFiddle

  ask by Mangara translate from so

未解决问题?本站智能推荐:

1回复

有什么方法可以从某些HTML元素中排除MathJax3处理?

使用 MathJax 2,要忽略标签的排版,将asciimath2jax_ignore类添加到标签就足以忽略 AsciiMath 输入处理器的标签。 可以通过以下方式忽略整个文档: 有没有办法使用 MathJax 3(我使用 AsciiMath 输入处理器)来实现相同的目标?
1回复

MathJax:是否可以仅突出显示特定元素而不是整个文档?

我正在写一个带有降价功能的博客,我使用的库叫做showdown.js 。 但是这个 markdown-lib 不支持公式渲染。 所以这就是为什么我想知道是否有可能让MathJax只渲染给定的 DOM 元素? 我知道,有一个名为showdown-katex ,但考虑到我的服务器使用Spring Boo
2回复

有没有办法从某些HTML元素中排除MathJax处理?

有没有办法从某些HTML元素中排除MathJax处理? 例如,如果我知道<div>没有任何数学运算,是否有办法对其进行标记,以便MathJax处理器跳过<div> ?
9回复

如何左对齐Mathjax元素

默认情况下,Mathjax元素居中对齐。 如何使Mathjax元素保持对齐?
1回复

Mathjax元素重叠

我想写一些使用mathjax处理的基本数学公式,如下所示: 问题在于大公式的重叠。 您可以在此处查看演示: https : //jsfiddle.net/ev6wf0rd/ 有没有一种方法可以配置Mathjax来避免此问题?
1回复

剧透中的Mathjax延迟渲染代码

我正在尝试为以下可见元素呈现 mathjax。 我隐藏了答案,只想在有人点击按钮时呈现数学。 目前 mathjax 甚至在剧透中渲染数学也做得非常出色。 Davide (mathjax) 提出了一个解决方案,但我无法得到他的建议。 谁能帮我这个? 目标是尽可能快地渲染 mathjax。 我正在使用
1回复

Mathjax:如何处理这种奇怪的行为?

我正在使用markdown编辑器,并且已经在网站的所有页面中加载了Mathjax。 我已经意识到这行乳胶效果很好: 但是,这不起作用(基本上乳胶不起作用): 为了使这项工作,我必须写这样的事情: 我在这里也有类似的问题。 这不起作用: 但这有效:
2回复

发布将由MathJax处理的文本

我在以html格式发布文本时遇到问题。 要发布到要显示的新页面的文本(来自textarea)可能具有以下属性: 包括由MathJax在两美元符号之间处理的乳胶代码 需要保留换行符 可以包括诸如输入标签的html代码 我尝试了以下方法: 将“\\ r \\ n”子字符