我正在编写一个由多个 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 输出呈现方程式,但有两个注意事项:
显示方程式(使用 $$ . $$)确实工作正常,但一些内联方程式($ . $)表现出不同的风格:在我的例子中,一些方程式出现在警告中(“Could not convert TeX math") 并且看起来很正常。其余内联方程的外观略有不同。
在 Firefox 和 Safari 上方程正确呈现,不幸的是在 Chrome 上不能(我没有尝试其他浏览器)。
希望对您有所帮助!
关于r-markdown - 当 self_contained = TRUE 时,如何在 bookdown::gitbook 中正确呈现数学方程式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64760552/