【问题标题】:Pandoc rules regarding LaTeX not followed on R blogdown hugo themes关于 LaTeX 的 Pandoc 规则未遵循 R blogdown hugo 主题
【发布时间】:2020-11-05 16:36:44
【问题描述】:

我可以使用默认的 hugo-lithium 主题创建一个新的 blogdown 站点,并且下面的文本语句不会呈现为 LaTeX 方程,这是我所期望的行为。

An amount between $5 and $10.

Pandoc's manual 解释了原因,我将在下面用粗体强调一下:

两个 $ 字符之间的任何内容都将被视为 TeX 数学。开头$ 的右侧必须有一个非空格字符,而结尾$ 的左侧必须有一个非空格字符,并且后面不能紧跟数字 >。因此,$20,000 and $30,000 不会被解析为数学。如果由于某种原因您需要将文本括在文字 $ 字符中,请将它们反斜杠转义,它们将不会被视为数学分隔符。

但是,我可以更改为其他 Hugo 主题(例如 hugo-theme-codex),只要我在 YAML 中包含 math: true,这个完全相同的文本块就会不正确地呈现。

An amount between $5 and $10. 最终显示为:

当 Pandoc 应该遵循我上面引用的规则时,为什么要调用 LaTeX?我怎样才能使用“其他”雨果主题,仍然使用 LaTeX 数学方程式,并让 Pandoc 遵循它自己的规则?不幸的是,转义 $ 并没有做任何事情,并显示与未转义版本相同的结果。

# Doesn't work
An amount between \$5 and \$10.

加入双斜线转义动作似乎也不起作用:

# Doesn't work
An amount between \\$5 and \\$10.


对于那些想知道的人 - 最后两个问题已经得到解答,12,如果这个问题得到解答,这应该是这三部分故事的结尾。

【问题讨论】:

  • 你使用的是什么版本的 pandoc?
  • @ekstroem rmarkdown::pandoc_version() 产生 '2.7.3' 大约一岁。

标签: r latex pandoc hugo blogdown


【解决方案1】:

首先创建以下文件:

/your-blogdown-site/themes/hugo-theme-codex/layouts/partials/math.html

然后将其添加到您刚刚创建的 math.html 的正文中:

<script src="//yihui.org/js/math-code.js"></script>
<script async
src="//cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML">
</script>

只有 MathJax 版本 2.7.5 似乎可以正常工作。

blogdown book templates section 是这类事情的良好阅读材料来源。您必须在 YAML 中包含 math: true 才能使用此方法显示 LaTeX 数学方程式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    相关资源
    最近更新 更多