在github页面上使用Jekyll在MathJax中呈现某些latex语法时出现问题
我发现在我的git页面中,一些latex语法没有使用MathJax和Jekyll呈现 比如说,在邮局 这一行: $z=\overfrace{\underfrace{x}\text{real}+\underfrace{iy}\text{invential}}^\text{复数}$ 应该是这样的 其他一些latex语法工作得很好,比如 我应该添加什么来解决这个问题?我猜MathJax没有加载所需的库(例如,在上面的例子中是.\usepackage{amsmath}) 该页面的代码为 下面的代码显示了matjax的my配置在github页面上使用Jekyll在MathJax中呈现某些latex语法时出现问题,latex,jekyll,mathjax,Latex,Jekyll,Mathjax,我发现在我的git页面中,一些latex语法没有使用MathJax和Jekyll呈现 比如说,在邮局 这一行: $z=\overfrace{\underfrace{x}\text{real}+\underfrace{iy}\text{invential}}^\text{复数}$ 应该是这样的 其他一些latex语法工作得很好,比如 我应该添加什么来解决这个问题?我猜MathJax没有加载所需的库(例如,在上面的例子中是.\usepackage{amsmath}) 该页面的代码为 下面的代码显示
<script type="text/x-mathjax-config"> MathJax.Hub.Config({ TeX: { equationNumbers: { autoNumber: "all" } } }); </script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
processEscapes: true
}
});
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
MathJax.Hub.Config({TeX:{equalationnumbers:{autoNumber:“all”}});
MathJax.Hub.Config({
tex2jax:{
inlineMath:[['$','$'],[“\\(“,“\\)”],
processEscapes:正确
}
});
请注意,在Jekyll的标记语法中,下划线用于表示斜体文本,因此Jekyll在下划线所在的\text{real}+\underrace{iy}
周围插入了
标记(请注意,输出中缺少下划线,文本为斜体)。MathJax无法处理包含HTML标记的数学,因此跳过此数学等式
您需要确保降价不会干扰您的TeX符号。这可以通过几种方式实现。您可以使用\\
而不是\
,以防止下划线被解释为斜体。或者,您可以按照建议,在内联数学中使用..
,在显示数学中使用..
。只是一种直觉,但看看问题中发布的代码,我认为最好将所有与MathJax相关的内容保留在
标记中。我写这篇文章是因为我还没有找到用
包装任何东西的需要
下面是我的\u includes/mathjax.html
文件的样子,它是从
请注意,这些配置如何与执行寻源操作的标记在同一个标记中(src
=”
)
对于完整性,它使用$
方法在源代码的前三十行内进行多行格式化,然后在呈现版本的第一个code
格式化块(在注释内)之后使用$
行内方式进行格式化
还有(我想是为了获得额外的分数),我认为更正后的代码可能是这个问题中的样子
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript">
MathJax.Hub.Config({ TeX: { equationNumbers: { autoNumber: "all" } } });
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
processEscapes: true
}
});
</script>
Config({TeX:{equalationnumbers:{autoNumber:“all”}});
MathJax.Hub.Config({
tex2jax:{
inlineMath:[['$','$'],[“\\(“,“\\)”],
processEscapes:正确
}
});
我在测试中发现的另一件值得注意的事情是,
\(
..\sum{thing}
..\)
,内联语法并没有触发Jekyll用来向这些东西添加html标记的预解析器;换句话说,我必须使用$
<代码>\sum{Thing}<代码>$语法,甚至在为MathJax的src
ing添加任何配置之前
对于那些走到这一步但出于某种原因想要减少CDN使用的人,你可能会对我发布的让MathJax和Jekyll玩得更好的方法感兴趣
对于那些需要一些从液态到JavaScript的配置转换的用户,现在可以使用了;允许通过
\u config.yml
和个人贴子/页面FrontMatter配置MathJax。对于不太擅长HTML的人来说,下划线问题确实很难识别。:)多亏了这篇文章,我发现许多其他的文章都详细介绍了几乎相同的解决方案。问题是,它不适用于displayMath
,即$$x\\u y$$不会导致y被订阅,即使$x\\u y$被订阅。对于在inlineMath
和displayMath
中一致的解决方案,您有什么想法吗?
---
layout: post
title: Some of Thing
---
{%- include mathjax.html -%}
Notes about $ \sum_{Thing} $
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript">
MathJax.Hub.Config({ TeX: { equationNumbers: { autoNumber: "all" } } });
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
processEscapes: true
}
});
</script>