首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将mathjax配置为坚持使用某些div

将mathjax配置为坚持使用某些div
EN

Stack Overflow用户
提问于 2012-02-15 13:19:49
回答 3查看 3.6K关注 0票数 19

我最近开了一个博客,在那里我谈论编程,阅读,科学和数学。现在,对于编程部分,我已经安装了SyntaxHighlighter,但是我对数学应该使用什么感到相当困惑。我正在考虑使用MathJax,因为我已经习惯了,而且它非常好用。问题是,MathJax会干扰其他东西。例如,它可能会干扰我在编程文章中使用的任何PHP代码(上面有很多美元符号)。

现在我想保留内联/块美元符号,但我不希望它破坏其他东西。我在考虑将MathJax与某个CSS类关联起来,这样我就可以用这些标记来包围所有大量使用数学的部分。我的意思是,我仍然可以在这些div中正常输入(不需要数学化),但我可以使用美元符号并获得数学代码。在div之外,任何美元符号都不会出现。

有没有人知道可以让我这样做的配置选项?我知道JS,但我在文档中找不到任何选项。我想在仔细检查代码之前先问一下。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-15 22:07:51

class="tex2jax_ignore"添加到文档<body>标记中,然后在要包含数学的页面部分的容器上使用class="tex2jax_process"。正如其他人所指出的,您可以配置用于这些特性的类名。例如。

代码语言:javascript
复制
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  tex2jax: {
    inlineMath: [['$','$'],['\\(','\\)']],
    processClass: "mathjax",
    ignoreClass: "no-mathjax"
  }
});
</script>

那么你的页面就会是

代码语言:javascript
复制
<html>
<head>
  ...
</head>
<body class="no-mathjax">
  ...
  <div class="mathjax">
  ... (math goes here) ...
  </div>
  ...
</body>
</html>

希望这能有所帮助。

戴维德

票数 24
EN

Stack Overflow用户

发布于 2012-02-15 13:44:14

图片来源:@MarkS.Everitt

http://www.mathjax.org/docs/1.1/options/tex2jax.html

有一个配置选项,processClass: "tex2jax_process"最终配置变成:

代码语言:javascript
复制
tex2jax: {

inlineMath: [['$','$'], ['\\(','\\)']],'

ignoreClass: "[a-zA-Z1-9]*",

processClass: "math"

}
});
票数 7
EN

Stack Overflow用户

发布于 2019-02-04 01:41:31

现有的答案不是真正的解决方案,因为它们涉及到修改您的HTML。有时这甚至是不可能的,但即使是这样,谁愿意仅仅为了让MathJax工作而用毫无意义的CSS类来弄脏他们的标记呢?

在导入MathJax的<script>标记之前插入以下标记

代码语言:javascript
复制
<script type="text/x-mathjax-config">
    MathJax.Hub.Config(
        {
            elements: mathElements
        }
    );
</script>

其中,mathElements包含要处理的DOM元素的列表,例如类似var mathElements = document.querySelectorAll("article")的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9289661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档