在github页面上使用Jekyll在MathJax中呈现某些latex语法时出现问题

在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}) 该页面的代码为 下面的代码显示

我发现在我的git页面中,一些latex语法没有使用MathJax和Jekyll呈现

比如说,在邮局

这一行: $z=\overfrace{\underfrace{x}\text{real}+\underfrace{iy}\text{invential}}^\text{复数}$

应该是这样的

其他一些latex语法工作得很好,比如

我应该添加什么来解决这个问题?我猜MathJax没有加载所需的库(例如,在上面的例子中是.\usepackage{amsmath})

该页面的代码为

下面的代码显示了matjax的my配置

<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>