gpt4 book ai didi

r-markdown - 当 self_contained = TRUE 时,如何在 bookdown::gitbook 中正确呈现数学方程式?

转载 作者:行者123 更新时间:2023-12-05 06:57:58 26 4
gpt4 key购买 nike

我正在编写一个由多个 Rmd 文件组成的 GitBook 风格的 bookdown 文档,我在其中使用选项 self_contained = TRUE 来制作独立的 HTML 页面(以便稍后我可以将它们分发为HTML 文件而不是多个文件,其中 HTML 页面与其上显示的图片分开)。当我尝试使用 $ $ 标签放置数学方程式时,我得到类似 [WARNING] Could not convert TeX math '\frac{1}{\sum_{i=1}^{S} p_{i} ^2}',呈现为 TeX 并且方程式未正确呈现。

我从here看到当 self_contained = TRUE 和来自 here 时,MathJax 可能无法工作需要 MathJax 才能在 HTML 中呈现数学。事实上,当我不使用 rmarkdown“默认”模板时,我总是收到类似 MathJax does not work with self_contained 的警告,如果我使用 self_contained = FALSE,方程式会正确呈现>.

所以,我想知道是否有可能在 GitBook 风格的 bookdown 文档中正确呈现数学,同时 self_contained = TRUE

最佳答案

我遇到了同样的问题并找到了部分解决方案。在 yaml header 之后的 index.Rmd 中,我包含了这个 block :

<script>
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
var src = "true";
if (src === "" || src === "true") src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-MML-AM_CHTML";
if (location.protocol !== "file:") if (/^https?:/.test(src)) src = src.replace(/^https?:/, "");
script.src = src;
document.getElementsByTagName("head")[0].appendChild(script);
})();

</script>

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$', '$']],
displayMath: [['$$', '$$']],
}
});
</script>

现在,html 输出呈现方程式,但有两个注意事项:

  1. 显示方程式(使用 $$ . $$)确实工作正常,但一些内联方程式($ . $)表现出不同的风格:在我的例子中,一些方程式出现在警告中(“Could not convert TeX math") 并且看起来很正常。其余内联方程的外观略有不同。

  2. 在 Firefox 和 Safari 上方程正确呈现,不幸的是在 Chrome 上不能(我没有尝试其他浏览器)。

希望对您有所帮助!

关于r-markdown - 当 self_contained = TRUE 时,如何在 bookdown::gitbook 中正确呈现数学方程式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64760552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com