Github page数学公式无法正常显示解决方案(MathJax)

这篇具有很好参考价值的文章主要介绍了Github page数学公式无法正常显示解决方案(MathJax)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在上传一篇文献阅读笔记到Github page时发现公式无法正常显示,之前在typora中能够正常显示的代码在网页上显示为纯latex格式于是进行了一些搜索。

  • 我使用的Jekyll模板是chirpy,具体效果可能与使用的模板也有关系。

问题原因

这个问题的原因出在GitHub Page里的Jekyll虽然支持Markdown,但是不能正确显示公式 [1]。在检索中我发现比较通用的一种方式就是借用MathJax帮助渲染。

解决方法

首先以下所有方法都需要在 _config.yml 中设置 markdown: kramdown. 我使用的主题中有一段默认设置为:

markdown: kramdown
kramdown:
  syntax_highlighter: rouge
  syntax_highlighter_opts: # Rouge Options › https://github.com/jneen/rouge#full-options
    css_class: highlight
    # default_lang: console
    span:
      line_numbers: false
    block:
      line_numbers: true
      start_line: 1

这里的配置可能要根据自己选择或者每个主题的固定配置,不需要一定和如上所写的一样。

方法1: 在文章开头加入js内容(不太ok)

搜索到的其中一种方式就是在每篇文章开头加入如下一段JS代码:

<head>
    <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
    <script type="text/x-mathjax-config">
        MathJax.Hub.Config({
            tex2jax: {
            skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
            inlineMath: [['$','$']]
            }
        });
    </script>
</head>

这个方法的问题在于设置了以后,部分字体能够正常显示,但是字体不是latex标准字体,并且有一些数学字体无法显示(如\mathbb , \mathcal)等。也能看但是无法显示一些关键notation,看着不舒服。

方法2: 在head文件汇总加入js内容(和方法1大同小异)

_includes/head.html 中添加如方法1同样的一段JS代码,原理一样,效果也一样。

方法3: 目前效果最好

这个方法我是在chirpy主题的issue 1140中找到答案的,链接在这里;参考otzslayer 的答案,可以直接在_layouts/default.html 中添加如下一段:

<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
      TeX: {
        equationNumbers: {
          autoNumber: "AMS"
        }
      },
      extensions: ["tex2jax.js"],
      jax: ["input/TeX", "output/HTML-CSS"],
      tex2jax: {
      inlineMath: [ ['$','$'], ["\\(","\\)"] ],
      displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
      processEscapes: true,
      "HTML-CSS": { fonts: ["TeX"] }
    }
  });
  MathJax.Hub.Register.MessageHook("Math Processing Error",function (message) {
        alert("Math Processing Error: "+message[1]);
      });
  MathJax.Hub.Register.MessageHook("TeX Jax - parse error",function (message) {
        alert("Math Processing Error: "+message[1]);
      });
</script>
<script
  type="text/javascript"
  async
  src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML"
></script>

其中 src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML" 这一行不可以被替换。

原作者直接在 _includes 文件夹中添加了 mathjax_support.html 文件写了以上内容,然后在_layouts/default.html 中调用(调用位置为 {% include head.html %} 下面一行),具体如何插入可以参考上面的Issue链接。

展示结果:
Github page数学公式无法正常显示解决方案(MathJax)文章来源地址https://www.toymoban.com/news/detail-776993.html

到了这里,关于Github page数学公式无法正常显示解决方案(MathJax)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【最全】应用程序无法正常启动0xc000007b,解决方案

    先吐槽一下(大家可以略过),win10系统,之前这个问题就遇到过,一直没在意;安装腾讯QQ的时候就报异常,后面通过微软应用商店安装的;现在搜狗输入法又报错了,我决定抽时间研究下这个问题。点击进入 搜狗输入法官网。 好,大家看他的客服说好的人工客服,进去以

    2024年02月10日
    浏览(52)
  • python - 无法正常显示xlabel / ylabel

    如上述所示, 第一个子图是不带投影的,可以正常显示横纵轴标签和标题 第二个子图带有投影,横纵轴通过手动设置范围,可以正常显示横纵轴标签和标题 第三个子图带有投影,横纵轴的tick label通过gridlines设置,但是添加label之后却无法正常显示 不知道具体是什么原因很奇

    2024年01月18日
    浏览(24)
  • 【uniapp】顶部和底部导航栏无法正常显示

    关于顶部导航栏不显示的问题: 顶部导航栏在配置了 navigationBarTitleText 还是无法显示,如果是使用他人的项目结构,需要检查是否已经被配置了自定义导航栏: \\\"navigationStyle\\\": \\\"custom\\\" 关于底部导航栏不显示的问题: 如果在配置了 tabBar 之后仍然不显示,需要检查 list 中的 pa

    2024年02月06日
    浏览(34)
  • Unity UI设计 Text文本无法正常显示

    Unity UI设计 Text文本无法正常显示 如下图, 笔者已在Text文本框中设置文本为10, 但是Text文本框并没有显示 适当拉大Text文本框或缩小Text文本字体大小 对于笔者而言, 由于Text文本框较小, Text文本字体较大,导致Text文本字体无法正常显示。 当然,读者所遇到的情况可能与笔

    2024年02月16日
    浏览(34)
  • 【解决】uniapp使用video标签在浏览器调试正常,安卓真机、手机上显示小黑块,无法正常显示

    【问题】 uniapp中使用video标签展示视频,在浏览器展示正常,但是运行到安卓真机、或者手机上显示小黑块,无法正常显示 示例代码如下: 展示效果如下: 【解决】 不在 template 标签内直接使用 video 标签,而是使用 v-html 渲染html元素,绑定一个videoHtm方法,返回需要的html元

    2024年02月04日
    浏览(88)
  • nodejs版本过高导致vue-cli项目无法正常运行解决方案

    报错信息: 由于nodejs版本过高,导致vue-cli项目运行报错。  解决方案1:每次启动项目前,输入配置命令: 解决方案2:修改package.json配置文件: 修改前: 修改后:  修改内容:

    2024年02月11日
    浏览(45)
  • 电脑网络访问正常却显示无法连接到Internet?

    电脑网络访问正常却显示无法连接到Internet怎么办?其实不少的用户都有遇到过这样的情况,下面小编就给大家整理了相关的解决办法,快来看看吧。 解决办法: 1、右击网络图标,打开网络连接。 2、右击网络图标,打开【属性】窗口。 3、点击上面的【配置】按钮。 4、打

    2024年02月11日
    浏览(36)
  • mac 移动硬盘未正常退出,再次链接无法读取(显示)

    (1)首先插入自己的硬盘,然后找到mac的磁盘工具 (2)打开磁盘工具,发现自己的磁盘分区在卸载状态;点击无法成功装载。 (3)打开终端,输入 查看自己宗卷名字 假如这一步不起作用,就是确认一下磁盘是不是能被识别到。 (4)删除以前的挂载线程 输入: 回车 输入

    2024年02月15日
    浏览(53)
  • outlook状态栏显示已断开或者显示感叹号,重启Outlook无法正常连接

    故障描述: outlook状态栏显示已断开或者显示感叹号,重启Outlook无法正常连接 解决方法: 1、关闭Outlook 关闭Outlook。检查任务栏图标是否有关闭。如果没有请在任务管理器强制结束 管理器结束进程:鼠标点击任务栏空白处→鼠标右键→任务管理器→鼠标点击Microsoft Outlook→右

    2024年02月16日
    浏览(72)
  • 解决MacOS中访达缩略图、预览图、视频预览无法正常显示

    在Mac访达中通常会遇到系统卡顿导致mp4视频格式文件、照片无法预览这种情况。 打开启动台,找到实用工具中的活动监视器 或者直接通过command+space(空格键)打开聚焦中心输入活动监视器 在活动监视器中,在右上角的搜索框中输入thum,找到以下进程 选中该进程,点击叉号

    2024年02月15日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包