更改 R 笔记本中的 mathjax 渲染器(使用“self_contained: false”)

2024-02-08

我正在创建包含方程的 R 笔记本。我在 Windows 10、R 3.5.1 和 rmarkdown 2.1 上使用 RStudio 1.2.5033。当我的 R 笔记本呈现为 HTML 时,MathJax (v2.7.2) 使用“HTML-CSS”输出处理器来呈现方程。但我认为“CommonHTML”输出处理器的输出看起来更好。因此,我想在我的 R 笔记本中包含一个指令,强制 MathJax 使用 CommonHTML 输出处理器。我该怎么做?

如果我正在渲染具有输出格式的普通 R Markdown 文档html_document,我可以通过以下方式解决问题mathjax我的 YAML 标头中的选项。例如,当以下文件呈现为 HTML 时,MathJax 将使用 CommonHTML 输出处理器:

---
title: "Trouble with MathJax"
output: 
  html_document:
    mathjax: "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS_CHTML.js"
    self_contained: false    
---

\begin{equation}
  R_3 = \alpha
\end{equation}

But this solution doesn't work well when I change the output format from html_document to html_notebook. In that case, I get output that looks like this:

screenshot showing problem with html_notebook rendering

该方程是用 CommonHTML 渲染的,但页面顶部有很多麻烦(注意四个要点),并且默认的 R Notebook CSS 似乎没有实现。

这个问题似乎对于渲染 R 笔记本很常见self_contained: FALSE,如建议的当“self_contained”为 FALSE 时,R 笔记本无法正确渲染,因为“files”目录在渲染后被删除 https://stackoverflow.com/questions/60153998/r-notebooks-dont-render-properly-when-self-contained-is-false-because-the-fi。但我看不到解决该问题的好方法。


死胡同

The MathJax 文档 https://docs.mathjax.org/en/v2.7-latest/options/hub.html似乎表明我可以通过添加来指定输出处理器jax调用中的数组MathJax.Hub.Config()。但是当我这样做时,我的方程仍然通过 HTML-CSS 输出处理器显示。以下是显示该问题的 R Markdown 文档的最小示例:

---
title: 'Trouble with MathJax'
output: html_notebook
---

<script type="text/x-mathjax-config"> 
  MathJax.Hub.Config({ 
    jax: ["input/TeX", "output/CommonHTML"],
  });
</script>

\begin{equation}
  R_3 = \alpha
\end{equation}

致电给MathJax.Hub.Config()似乎在这里什么也没做。在 Chrome 和 Edge 中,方程都是通过 HTML-CSS 呈现的,而不是 CommonHTML。如何将渲染更改为 Common HTML?


相关文章

  • 一年前的帖子,markdown 有没有办法覆盖默认的 mathjax 渲染器? https://stackoverflow.com/q/54719132/697473,是关于 Jupyter 笔记本的,但它是相关的。它尚未收到答复。
  • 调整脚本这篇文章来自 MathJax Google 群组 https://groups.google.com/d/msg/mathjax-users/eZwHw3dgZEo/1Fu2yp1EbUsJ––主要是通过将“HTML-CSS”更改为“CommonHTML”––似乎没有任何效果。



解决方案很简单,省略self_containedYAML 标头中的行,或者等效地设置self_contained to true。以下是用户选择 mathjax 渲染器的 R 笔记本的最小示例:

---
title: "Self-contained notebook with non-default Mathjax config"
output:
  html_notebook:
    mathjax: "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS_CHTML.js"
---

$R_3 = 2$.

当文件呈现为 HTML 时,方程将使用 CommonHTML 显示,而不是 HTML-CSS。 Mathjax 脚本包含在生成的“nb.html”文件中。

我很惊讶这有效,因为文档rmarkdown::html_document()说“即使对于自包含文档,MathJax 仍然是从外部加载的(由于其大小,这是必要的)”。但R Markdown 书的第 3.1.8 节 https://bookdown.org/yihui/rmarkdown/html-document.html表示该限制仅在从本地文件加载 Mathjax 时适用。所以也许这不应该令人惊讶。

旁注:rmarkdown 包使用的默认 Mathjax 配置由以下给出rmarkdown:::mathjax_config()。从 rmarkdown v2.1 开始,该函数返回“MathJax.js?config=TeX-AMS-MML_HTMLorMML”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 R 笔记本中的 mathjax 渲染器(使用“self_contained: false”) 的相关文章

  • 有没有带有 API 的 Latex Web 服务? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有一个 Web 服务 API 接受这种类型的 Latex http 请求 http some web
  • R Markdown:openBinaryFile:不存在(没有这样的文件或目录)

    我开发了一个闪亮的应用程序 允许用户通过 R Markdown 下载 HTML 报告 我正在尝试将自定义 css 和图像包含到我的 rmarkdown 文件中 但是 我不断收到此错误消息 pandoc Could not fetch eit
  • Git 推送失败(Github/RStudio)

    我过去曾在这台机器上成功使用过 Git 但突然间我无法再将我的提交推送到 Github 存储库 我对 Git 工具链所做的最后一次更改是除了 Windows 客户端的 Github 之外还安装了 Git 1 8 5 2 除非我已经启动了 G
  • Rmarkdown 和 PDF 输出:评估 Latex 部分中的 Markdown

    如何才能评估 Latex 代码中使用的 markdown 代码 带有 PDF Latex 输出的 Rmarkdown 非常简单的最小示例 begin center should be bold text end center 使用knitr
  • 删除 rmarkdown 文档中的部分

    我希望将章节标题放在页眉而不是页面正文中 fancyhead C 将节标题放在标题中 但如何抑制节的正文打印 title Untitled classoption landscape output pdf document number s
  • 在 RStudio 中加载 tidyverse 时出错

    当尝试在 RStudio 中加载 tidyverse 包时 我收到以下错误消息 图书馆 tidyverse 错误 tidyverse 的包或命名空间加载失败 onAttach 在 tidyverse 的 AttachNamespace 中失
  • Rmarkdown 中同一行的 Kableextra 表和 ggplot 图(PDF - 不是 Flexdashboard)

    我一直在尝试使用 R Markdown 创建一些 PDF 报告 我很难正确布局 基本上 我需要在同一行上有一个 KableExtra 创建的表 数据框 和一个 ggplot 图 我探索了一些网格包 但无法让它工作 这是我的代码 title
  • 因子不因式分解绘图的 x 轴标签

    我有一个从 Excel 导入的数据框 其中一列的格式为 dates Oct 17 Nov 17 Dec 17 Jan 18 Feb 18 Mar 18 Apr 18 May 18 Jun 18 Jul 18 Aug 18 所有其他列都只是数
  • Sympy - 分数操作

    我基本上希望 Sympy 生成乳胶代码 frac x 1 3 y 但每当我要求它生成事物的 Tex 组件时 Sympy 总是返回 frac x 3 frac 1 3 如何避免分解方程 并将等于运算符分配给另一个变量 我还没有尝试将 y 部分
  • 如何处理 Ipython Notebook 中的引用?

    在 Ipython Notebook 中处理引用的最佳方法是什么 理想情况下 我想要一个 bibtex 文件 然后像在 Latex 中一样 在 Ipython markdown 单元格中拥有一个速记列表 并在笔记本末尾提供完整的参考文献 我
  • 从 R Markdown 中的字数统计中排除部分

    我正在用 Rmarkdown 写一篇论文 通过 LaTeX 导出为 PDF 我需要计算正文中的字数 对于 LaTeX 文档 我使用texcount从命令行 使用我的 tex 文档中的以下标签指定要从字数统计中排除的部分 TC ignore
  • 有没有办法让 LaTeX 将图形放置在同一页面中作为对该图形的引用?

    我正在使用 LaTeX 和图形环境 我非常熟悉该环境的参数 htbp 而且我通常也熟悉 LaTeX 默认情况下决定将每个图形放在哪里的策略 例如 将图形放置在页面的顶部或底部 我想知道是否有一个包 宏或一些我可以提供的命令 这样如果我有一个
  • 加载包时 R 会话中止

    我的 RStudio 0 99 879 R 3 2 3 OSX 10 11 3 崩溃R Session Aborted每次运行都会出现错误提示require ggvis v0 4 2 我已经重新安装了 R RStudio 和 ggvis 没
  • 更改 RMarkdown 中的块背景颜色

    我希望某个代码块以不同的颜色 例如红色 突出显示 以表明这是不好的做法 如果我使用的是 Rnw 我可以添加块选项background red 并得到我想要的 但这似乎不起作用 Rmd 我的猜测是 我需要制作一个自定义 css 样式表 尽管我
  • Mathjax Latex 符号正方形和三角形大小

    我有一个使用 MathJax 来显示一些乳胶的应用程序 它显示大多数内容都很好 但是当我想用命令显示正方形时 square 我正在尝试这个乳胶代码作为测试 triangle Box square bigtriangleup blacksqu
  • Jupyter (iPython) 笔记本中的 Latex 宏未由 github 渲染

    我的 Jupyter 笔记本 ipynb 中有一个 Markdown 单元 其中包含以下内容 newcommand paren 1 left 1 right paren beta 2 该文件位于 Github 存储库中 LaTex 宏应用程
  • 自动化 RStudio 处理 RMarkdown?

    我有一个 RMarkdown 文件 用于生成漂亮的 HTML 报告 问题是 我希望能够自动化它 以便它可以在无头服务器上运行 因此 不会有人启动 Rstudio 并按下 knithtml 按钮 而且 Rstudio 似乎正在做很多额外的魔法
  • 如何避免在matplotlib中调用latex(输出到pgf)

    我使用 matplotlib 及其 pgf 后端来生成包含在 LaTeX 投影仪文档中的绘图 当我使用未定义的乳胶命令时 我遇到了麻烦 但对于我的应用程序 我不需要 matplotlib 来使用 Latex 生成标签或注释 我只想要正确的
  • Rstudio 命令历史记录

    这些天我经常使用 Rstudio 但最近注意到我的命令不再存储在历史记录中 我不知道这是从什么时候开始的 但可能是在安装最新版本时发生的 关于问题可能是什么的任何想法吗 Thanks 这是我们在 v0 93 73 中引入并在 v0 93 7
  • 美人鱼图:调整图表周围的空白

    我在用 Rstudio 编译的 Rmd 报告中使用了美人鱼图 在 HTML PDF 输出中 图表上方和下方有大量空白 请参见下面的示例 Header Text r library DiagrammeR mermaid graph TD cl

随机推荐