我最近开了一个博客,在那里我谈论编程,阅读,科学和数学。现在,对于编程部分,我已经安装了SyntaxHighlighter,但是我对数学应该使用什么感到相当困惑。我正在考虑使用MathJax,因为我已经习惯了,而且它非常好用。问题是,MathJax会干扰其他东西。例如,它可能会干扰我在编程文章中使用的任何PHP代码(上面有很多美元符号)。
现在我想保留内联/块美元符号,但我不希望它破坏其他东西。我在考虑将MathJax与某个CSS类关联起来,这样我就可以用这些标记来包围所有大量使用数学的部分。我的意思是,我仍然可以在这些div中正常输入(不需要数学化),但我可以使用美元符号并获得数学代码。在div之外,任何美元符号都不会出现。
有没有人知道可以让我这样做的配置选项?我知道JS,但我在文档中找不到任何选项。我想在仔细检查代码之前先问一下。
发布于 2012-02-15 22:07:51
将class="tex2jax_ignore"添加到文档<body>标记中,然后在要包含数学的页面部分的容器上使用class="tex2jax_process"。正如其他人所指出的,您可以配置用于这些特性的类名。例如。
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'],['\\(','\\)']],
processClass: "mathjax",
ignoreClass: "no-mathjax"
}
});
</script>那么你的页面就会是
<html>
<head>
...
</head>
<body class="no-mathjax">
...
<div class="mathjax">
... (math goes here) ...
</div>
...
</body>
</html>希望这能有所帮助。
戴维德
发布于 2012-02-15 13:44:14
图片来源:@MarkS.Everitt
http://www.mathjax.org/docs/1.1/options/tex2jax.html
有一个配置选项,processClass: "tex2jax_process"最终配置变成:
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],'
ignoreClass: "[a-zA-Z1-9]*",
processClass: "math"
}
});发布于 2019-02-04 01:41:31
现有的答案不是真正的解决方案,因为它们涉及到修改您的HTML。有时这甚至是不可能的,但即使是这样,谁愿意仅仅为了让MathJax工作而用毫无意义的CSS类来弄脏他们的标记呢?
在导入MathJax的<script>标记之前插入以下标记:
<script type="text/x-mathjax-config">
MathJax.Hub.Config(
{
elements: mathElements
}
);
</script>其中,mathElements包含要处理的DOM元素的列表,例如类似var mathElements = document.querySelectorAll("article")的内容。
https://stackoverflow.com/questions/9289661
复制相似问题