【问题标题】:Problems with Math in R blogdown package in .md files with HUGO使用 HUGO 的 .md 文件中的 R blogdown 包中的数学问题
【发布时间】:2017-03-21 21:26:01
【问题描述】:

我想知道是否有人可以帮助我解决 Hugo 静态网站的 R blogdown 包中的数学渲染问题?

我制作了一张显示 Latex 代码的屏幕截图,并在我得到的输出下方。

公式在 Atom Markdown-Preview-Plus 中呈现良好。公式的字体大小似乎也很大,但我猜这更像是一个风格问题:)

更新 1: 我将问题缩小到雨果学术主题中数学渲染的一些问题(链接感谢@bethanyP)

如果我使用默认的 RStudio huge-lithium 主题,代码会很好地呈现。

更新 2:

将下面的脚本添加到文件 head_custom.html 使公式在 Hugo Academic 中工作,如果你写像 $$ math expression$$ 这样的数学,在美元符号前后都有反引号:

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

更新 3:

所以,我终于解决了所有问题。将以下代码添加到 huge-academic.css 或按照 hugo Academic 说明添加自定义 css 文件:

code .MathJax {
  color: black;
  background-color: white;
}

现在所有公式都正确呈现为黑色:)

复制/粘贴代码:

1:

$$\begin{align}
\alpha & = 1 \\
\alpha & = 2 \\
\end{align}$$

2:

$$\underbrace{P(Jar~1 | Nut~Cookie)}_{\text{posterior}} = \frac{\overbrace{P(Nut~Cookie | Jar~1)}^{\text{likelihood}}\overbrace{P(Jar~1)}^{\text{prior}}}{\underbrace{P(Nut~Cookie)}_{\text{normalizing constant}}}$$

截图:

【问题讨论】:

标签: r hugo blogdown


【解决方案1】:

我终于让它工作了,谢谢@bethanyP 的帮助!

如果您想在 Hugo-academic 中使用 .MD 中的 RStudio blogdown 包编写高级 Latex 数学(注意:普通 markdown 不是 R-markdown 文件)文件,您必须执行以下操作:

通过使用以下代码将名为“head_custom.html”的文件添加到 layouts/partials/ 来启用 MathJax:

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

然后转到themes/hugo-academic/static/css/hugo-academic.css 并添加以下代码以用黑色字体呈现数学:

 code .MathJax {
  color: black;
  background-color: white;
}

在 $inline-math$ 或 $$display-math$$ 周围使用 `` 反引号

希望对你有帮助!

最好的

【讨论】:

  • 注意:cdn.mathjax.org 的生命周期即将结束,参见。 mathjax.org/cdn-shutting-down.
  • @Cristoph 如果你想写入 rmd 文件?
  • 只是一个免责声明:如果您通过默认不支持 MathJax 的 Hugo 主题渲染您的网站,RMD 仍然无法正常工作......学到了这个艰难的方式
【解决方案2】:

对于分数,请尝试正斜杠后的下划线:

 $2/_3$ 

应该得到如上图所示的除法符号

这对我来说很好......我重新输入了你的文字,看起来还可以,除了间距错误或我看不出它为什么不起作用的东西:

 $$\begin{align}
 \alpha & =1 \\
 \alpha & = 2 \\
 \end{align}$$

请看下面的屏幕截图:

使用斜线,再次尝试 /_,但其余的大方程式将有助于获得代码,而不是图像,因此我可以剪切和粘贴来测试你的,调整和重新发布。

【讨论】:

  • 感谢您的快速回复! @ 2/3 美元的解决方案:使用下划线只是 imo 的一种解决方法,因为该数字随后会呈现为“/”的下标。但是一个很好的解决方法,谢谢!使用 \frac{}{} 也可以,但有时我只想要“/”。仅解释普通的“/”似乎存在问题。 @begin{align}:你使用 RStudio 的 blogdown 包还是普通的 Hugo?使用 blogdown 包,它只有在我使用 .RMD 文件时才能正确呈现,而不是在 .md 文件中。我将代码添加到我的复制/粘贴问题中,谢谢指出
  • 我想我看到了这个问题..所以在常规降价中,数学引擎是不同的,你需要在一对转义的括号内运行方程`(你的数学东西在这里)`。有一个很好的资源可以使用 blogdown 查看一些差异,你应该克服你所面临的障碍。是的,我使用的 rMarkdown 在某些情况下是不同的。bookdown.org/yihui/blogdown/output-format.html
  • 感谢链接。数学在默认的巨型锂主题下渲染得很好,问题似乎是 Hugo Academic 主题如何处理数学表达式。我会在问题中说明这一点。
猜你喜欢
  • 2018-11-15
  • 1970-01-01
  • 2018-02-24
  • 2021-02-06
  • 1970-01-01
  • 2017-09-21
  • 2020-07-22
  • 1970-01-01
相关资源
最近更新 更多